Java - аса бай бағдарламалау тілі
----------------------------------- ----------------------------------- ----------
Л.Н. Гумилев атындағы
ЕУРАЗИЯ ҰЛТТЫҚ УНИВЕРСИТЕТІ
Ақпараттық технологиялар факультеті
6B106306-295 Ақпараттық қауіпсіздік жүйелері
мамандығы бойынша
КУРСТЫҚ ЖҰМЫС
Алгоритмдеу және программалау тілдері пәні бойынша "Қарапайым Калькулятор" программасын құру
Курстық жұмысты орындаған
АҚЖ 295 тобының студенттері
Нұр-Сұлтан 2020
Мазмұны
КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
1Java тілі туралы жалпы мәліметтер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
1.1 Java-дағы объектілі-бағдарлы бағдарламалау ... ... ... ... ... .. ... ... ... ... ... ... ... .
Java-да қарапайым калькулятор құрудың мақсаты мен міндеті ... ... ... ... ... .
Калькулятор тарихы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
Калькулятор программасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
Есептің алгоритмі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
Есепті қорытындылау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
Пайдаланылған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
ҚОРЫТЫНДЫ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
ҚОСЫМША ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
АННОТАЦИЯ
Курстық жұмыс JAVA тілінде қарапайым калькулятор құру тақырыбында жазылды. Жұмыстың мақсаты - қарапайым калькулятор бағдарламасын құра отырып, бағдарламада қолданылған тапсырмалармен танысу . Орындалған жұмыстың объектiсі Java-аплеттерде анимацияларды құрастыру әдiстері болып табылады. Курстық жұмыс 10 бөлімнен, 27 беттен,тұрады. Есептің қойылымы бөлімінде курстық жұмыстың мақсаты мен есептің шарты қарастырылған. Бағдарламалық қамтаманы жобалау бөлімінде осы қарапайым калькуляторды жасау бойынша бағдарламалау тілінің анықталған интерфейстері мен операторлары толығымен сипатталып шықты. Бағдарламалық қамтаманы іске асыру бөлімінде бағдарламаны тестілеу көрсетілген, яғни алынған нәтижелер сипаттамасы қарастырылды. Сонғы бөлімінде бағдарламалаушы мен қолданушыға нұсқама берілді. Сонымен қатар,қорытынды, әдебиеттер тізімі мен қосымшалар бар.
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
Кіріспе
Java -- Sun Microsystems компаниясының жасап шығарған объектіге-бағытталған бағдарламалау тілі. Java қосымшалары әдетте арнайы байт-кодта компиляцияланады, сол себепті олар кез келген виртуалды Java-машинасында (JVM) компьютерлік архитектурасына тәуесіз орындалады.
Айтылуы жөнінде қазақ тілінде басқа тілдердегі сияқты екі бір-бірінен ажыратылған қағида пайда болды: ағылшын тілінен алынған ˈdʒɑːvə (джава) және Ява аралының айтылуына сәйкес келетін дәстүрлі-халықтық ява. Sun компаниясы ағылшындық айтылуды бүкіл әлемде ұстанады. Java -- деп тек қана тілді ғана емес, сонымен қатар осы тіл негізінде жасайтын және орындайтын платформаны атайды. Бастапқыда тіл Oak (емен) болып аталған және оны Джеймс Гослинг тұрмыстық электрондық құрылғыларды бағдарламалау үшін жасалынатын. Біраз уақыт өткеннен кейін тілдіі атын JAVA деп ауыстырады және оны клиенттік қосымшаларды және серверлік бағдарламалық қамтаманы жасау үшін қолданыла бастады. Кейбір бағдарламалаушылардың сүйікті кофе маркасы Java құрметіне аталды. Сол себепті тілідң эмлемасында түтіндеп тұрған кофесі бар шынаяқ бейнеленген. Сонымен қатар осы java атауының шығу тегі туралы басқа да нұсқалар бар.
----------------------------------- ----------------------------------- ----------
Алғашында Java (Java технологиясының ресми туылған күні -- 1995 жылдың 23 мамыры) телефон сияқты тұрмыстағы электронды қондырғыларды бағдарламалауға арналған болатын.Кейінірек Java браузерлерді бағдарламалау үшін қолданыла бастады - апплеттер пайда болды. Содан соң Java-да түрлі толыққанды қосымшалар құруға болатындығы байқалды. Олардың графикалық элементтері компоненттер түрінде безендіріле бастады -- Java CORBA технологиясымен байланыса отырып, реттелген жүйелер және аралық программалық қамтамалар әлеміне бірге кірген JavaBeans пайда болды. Серверлерді программалау үшін бір қадам қалған болатын және ол қадам жасалды - сервлеттер мен EJB (Enterprise JavaBeans) пайда болды. Серверлер деректер қорымен өзара байланыста болуы керек - JDBC (Java DataBase Connection) драйверлері пайда болды. Өзара байланыс сәтті болып шықты, және деректер қорын басқарудың көптеген жүйелері, сондай-ақ операциялық жүйелер де өз ядросына Java қосып алды, мысалы Oracle, Linux, MacOS X, AIX. Одан басқа қамтылмаған не қалды? Сіз атаңыз және жарты жылдан кейін Java ол жерде де қолданылып жатқанын естисіз. Түсініктің өзі көмескі болғандықтан, оны дәл сондай көмескі сөзбен атады -- технология.
----------------------------------- ----------------------------------- ----------
Java технологиясының мұндай тез және кең таралуы - Java деп аталатын арнайы құрылған программалау тілін қолдануымен тығыз байланысты. Бұл тіл өңдеушілердің ойы бойынша төмендегі тілдердің жаман жақтарын ескермей жақсы жақтарын ала отырып, Smalltalk, Pascal, C++ және т.б. тілдер қорында құрылған. Ол жөнінде әр түрлі пікірлер таралған, бірақ бұл тіл оқып үйрену үшін өте ыңғайлы, онда жазылған программалар жеңіл оқылады: алғашқы программаны тілді үйреніп бастаған соң бір сағаттан кейін жазуға болады. Pascal тілі құрылымдық программалау тілін үйрету тіліне айналғаны сияқты, Java тілі де объектілі-бағытталған тілді үйрету тілі болып қалыптасуда.
----------------------------------- ----------------------------------- ----------
Тілдің негізгі ерекшеліктері:Java - дағы бағдарламалар, байттық кодты өндейтін және жабдықтамаға нұсқамаларды беретін интерпретатор болып табылатын (JVM) Java виртуалды машинасында орындалатын байт-кодқа трансляцияланады. Java платформаларының классификациясы
Java ішінде технологиялардың бірнеше негізгі топтары бар:
----------------------------------- ----------------------------------- ----------
Java SE -- Java Standard Edition, Java негізгі басылымы, API, Java Runtime Environment компиляторлары бар; қолданушылық қосымшалар жасауға келтірілген, ең алдымен -- үстелдік жүйелер.
----------------------------------- ----------------------------------- ----------
Java EE -- Java Enterprise Edition, кәсіпорын деңгейіндегі бағдарламалық жабдықтамалар жасауға арналған арнайы құралдар жиыны болып табылады.
----------------------------------- ----------------------------------- ----------
Java ME -- Java Micro Edition, есептеуіш қабілеттері шектелген құрылғыларда қолдануға арналған, мысалы ұялы телефондар, қалталық дербес компьютерлар, кіріктірме жүйелер.
----------------------------------- ----------------------------------- ----------
JavaFX -- Java эволюциясының Rich Client Platform ретіндегі келесі қадам технологияся; ббірлестіктің қосымшалары мен бизнестың графикалық интерфейстерін жасауға арналған.
Негізгі мүмкіндіктері:
----------------------------------- ----------------------------------- ----------
жадты автоматты түрде басқару;
----------------------------------- ----------------------------------- ----------
ерекше жағдайларды өңдеудің кеңейтілген мүмкіндіктер;
----------------------------------- ----------------------------------- ----------
енгізушығару фильтрация құралдарының бай жиыны;
----------------------------------- ----------------------------------- ----------
стандартты топтамалар жиыны: массив, тізім, стек және т.б.;
----------------------------------- ----------------------------------- ----------
желілік қосымшалар (оның ішінде RMI протоколын қолдану) жасау қарапайым құралдар болуы;
----------------------------------- ----------------------------------- ----------
HTTP-сұраныстар орындау мен жауаптарды өңдеуге мүмкіндік беретін кластар болуы;
----------------------------------- ----------------------------------- ----------
тілге кіріктірілген көпағымды қосымшалар жасау құралдары;
----------------------------------- ----------------------------------- ----------
дерекқорға унифицияланған рұқсат:
----------------------------------- ----------------------------------- ----------
жекелеген SQL-сұраныстардың деңгейінде -- JDBC, SQLJ негізінде;
----------------------------------- ----------------------------------- ----------
дерекқорды сақтау қабілеті бар объекттер концепциясы деңгейінде -- Java Data Objects (ағл.) және Java Persistence API негізінде;
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
1 Java-тілі туралы жылпы мәләметтер
Компьютерлерді бағдарламалаудың барлық жарты ғасырлық тарихы,тіпті ғылымның бар тарихы -- бұл қоршаған ортаның қиыншылықтарын өткеру мүмкіншіліктері. Бағдарламалаушылардың алдында тұрған тапсырмалар барынша үлкейіп, ал өңделетін ақпарат күннен-күнге өсіп келеді. Жақында ғана ақпараттың қарапайым өлшем бірліктері килобайттар мен мегабайттар болса , ал қазір тек гигабайт және терабайттар туралы айтады. Осы тапсырмаларға бағдарламалаушылар шешім тапқанда, тағы одан күрделі тапсырмалар туындайды. Бағдарламалаушылар жаңа әдістер ойлап тауып, жаңа тілдер құра бастады. Жарты ғасырда бірнеше жүздеген тілдер пайда болды, көптеген әдістер мен стилдер ұсынылды. Кейбір әдістер мен стилдер көпке таралып, бір уақытқа бағдарламалаудың парадигмасын құрады.
Java - аса бай бағдарламалау тілі. Ол оқу мен пайдалануда қарапайым болғанымен, программистерге ең қиын есептерді шешу үшін көп мүмкіншіліктер береді.
Java - бұл Sun Microsystems компаниясымен 1995 жылдың маусымында ұсынылған принципиалды жаңа программалау тілі. Сол кезден бастап мыңдаған программистер бұл тілдің қуатын түсінді.
Java - объекті-бағдарланған программалау тілі. Ол Java-программаларының құрушыларына одан да көбірек қиын қолданбаларды жеңіл құрастыруына мүмкіндік береді. Сонымен қатар, желіде жұмыс істеу үшін және ағындарды қолдау, көптеген басқалары үшін құралдар Java-да құрастырылған.
Java тілі C, C++, Eiffel, SmallTalk, Objective C және CedarMes сияқты тілдерден алынған концепцияны қолданумен құрылған. Сол себептен таңданусыз, Java бұл тілдер шеше алатын есептерді де орындай алады. Төменде Java тілін қолдану арқылы құруға болатын қолданбаның 4 түрі келтірілген:
----------------------------------- ----------------------------------- ----------
Апплеттер (мини-қолданба)
----------------------------------- ----------------------------------- ----------
GUI-қолданба
----------------------------------- ----------------------------------- ----------
Командалық жолдың қолданбасы
----------------------------------- ----------------------------------- ----------
Пакеттер (библиотекалар)
Апплеттер мағынасы бойынша Netscape 2.x3.x, Microsoft Explorer 3.x немесе HotJava сияқты Java-үйлесімді браузерлер ортасында орындалатын мини-қолданбалар болып саналады.
GUI-қолданба (Graphical User Interface) - бұл қарапайым программалар. Олар Windows Notepad тәріздес, өздерінің жұмысы үшін браузердің қатысуын қажет етпейді.
Командалық жолдың қолданбалары MSDOS шақыру жолынан немесе UNIX командалық процессорден жүктеледі. Ол MS-DOS ортасында xcopy командасы тәріздес немесе UNIX жүйесінде ls тәріздес келеді.
Төртінші түрі - бұл "таза түрдегі" қолданба емес, бір пакетте (package) тұратын (C++ класстар библиотекасын еске түсіретін) класстар жиындары (Java байт-кодталған файлдарға айналдырылатын). Әртүрлі операциялық жүйелерде статикалық және динамикалық библиотекалармен қолданатын форматтарға сәйкес пакеттер үшін қолданушылар форматы жоқ. Java тілінде қолданбаларды іске қосу жеңіл әрі жылжымалы.
Java - бұл қарапайым, объекті-бағдарланған, сенімді, қорғалған, тасымалданулы, жоғары өнімді, интерпретациялайтын, көп ағынды, платформадан тәуелсіз, динамикалық дамитын тіл.
----------------------------------- ----------------------------------- ----------
Java-да қарапайым калькулятор құрудың мақсаты мен міндеті
Сіз білетіндей жоғарғы деңгейде жазылған программалар қатарына Java тілі де кіреді, шығыс модулі деп аталады, ол бірден орындалмайды. Оны біріншіден компиляциялау керек, яғни машиналық командалар тізбегін аудару -- объекті модулі. Бірақ ол да бірден орындала алмайды: объекті модулін функция модулінде қолданылған кітапханалармен компоновкалап, объекті модулінің секциялары арасында қиылысқан сілтемелерге руқсат беру керек, нәтижесінде программаны орындауға толық дайын - жүктеу модулін аламыз.
Java жазылған бастапқы модуль бұл процедураларды айналып өте алмайды, бірақ мұнда Java технологиясының негізгі ерекшелігі айқындалады -- программа бірден Java (JVM, Java Virtual Machine) виртуалды машиналар командаларына компиляцияланады. Java виртуалды машинасы дегеніміз -- командалардың олардың орындалу жүйесімен өзара жиынтығы болып табылады. Мамандарға Java виртуальды машинасы толығымен ағымды болып табылады деп айтамыз, сондықтан жады ұяшығының күрделі адресациясы және регистрлердің көп мөлшерде болуы міндетті емес. Соның есебінен JVM командалары қысқа болып табылады, олардың көбісі 1 байт ұзындыққа иа, сондықтан 2 және 3 байт ұзындықтағы командалар да болғанына қарамай JVM командаларын байт^кодтар (bytecodes) деп атайды. Статистикалық зерттеулерге сүйенсек, команданың орта ұзындығы 1,8 байтты құрайды. Командалардың және барлық JVM архитектурасының толық сипаты Java (VMS, Virtual Machine Specification) виртуальды машинасының спецификациясында сақталған. Егер сіз Java виртуальды машинасының қалай жұмыс істейтінін білгіңіз келсе, осы спецификациямен танысыңыз.
Java екінші бір ерекшелігі -- программада шақырылатын барлық стандартты функциялар оған орындалу кезінде қосылады. Мамандар айтып өткендей динамикалық компоновка (dynamic binding) жүзеге асырылады. Ол да компиляцияланған программа көлемін айтарлықтай кішірейтеді.
Сонымен, бірінші кезеңде Java тілінде жазылған программа компилятормен байт-кодқа ауыстырылады. Бұл компиляция нақты бір процессор типіне және нақты бір компьютер архитектурасына байланысты емес. Ол программа жазылғаннан кейін бір рет орындалуы мүмкін. Байт-кодтар бір немесе бірнеше файлдарда жазылуы мүмкін және ішкі жадыда сақталуға немесе желі бойынша таралуға мүмкіндік жасалған. Ол байт-кодтары бар файлдар көлемінің шағын болуымен өте ыңғайлы. Содан кейін компиляция нәтижесінде алынған байт-кодтарды JVM іске асыратын жүйеге ие кез-келген компьютерде орындауға болады. Бұл жағдайда процессор типі де компьютер архитектурасы да маңызды емес. Осылайша Java "Write once, run anywhere" -- "Бір рет жазылған, кез-келген жерде орындала береді" принципі құрылады.
Байт-кодтардың интерпретациясы мен динамикалық компоновкасы программаның орындалуын айтарлықтай баяулатады. Байт-кодтар желі бойынша жіберілген жағдайда ол әсер етпейді, өйткені желі кез-келген интерпретациядан да баяу жұмыс істейді, бірақ басқа жағдайларда күшті және жылдам компьютер қажет болады. Сондықтан интерпретацияның жылдамдығын өсіру үшін интерпретаторлармен үздіксіз жұмыс жүргізілуде. Процессордың машиналық командасы кодының интерпретациядан өткен бөліктерін есте сақтап қалатын және оларға қайта қатынау жасалғанда, мысалы циклдарда осы бөліктерді жай ғана жүзеге асыратын JIT-компиляторлары (Just-In-Time) өңделіп шығарылды. Ол есептеулердің қайталану жылдамдығын айтарлықтай өсіреді. SUN фирмасы Hot-Spot технологиясын өңдеп шығарды және оны өзінің Java виртуальды машинасының құрамына қосты. Бірақ, әрине арнайы процессорлар ғана одан да жоғары жылдамдықты көрсете алады.
SUN Microsystems фирмасы JVM командасының жүйесінде жұмыс істейтін PicoJava микропроцессорларын жасап шығарды, сондай-ақ одан да күшті Java-процессорлар тізбегін шығаруды ұйғарды. Басқа фирмалардың Java-процессорлары да бар. Бұл процессорлар тікелей байт-кодтарды жүзеге асырады. Бірақ Java программасын басқа компьютерлерде орындау кезінде JVM командаларын нақты бір процессор командаларына интерпретациялау қажет болады, яғни процессордың әрбір типіне интерпретатор-программасы керек және компьютердің әрбір архитектурасы үшін арнайы интерпретатор жазылуы қажет болады.
Бұл жағдай барлық компьютерлік платформалар үшін шешіліп қойған. Олар үшін Java виртуальды машинасы жасап шығарылған, ал олардан да кең таралған платформалар үшін әр түрлі фирмалардың бірнеше JVM өңдеулері бар. Операциялық және деректер қорын басқару жүйелерінің көбі JVM өңдеуін өз ядроларына қосуда. Электронды құрылғыларды қолданылатын арнайы JavaOS операциялық жүйесі құрылған. Көп браузерлерде апплеттерді орындау үшін Java виртуальды машинасы орнатылады.
Байт-кодтарды компьютерде орындау үшін JVM өңдеуінен бөлек байт-кодтардан шақырылатын және байт-кодтармен динамикалық түрде компоновкаға ұшырайтын функциялар жиыны қажет болатындығын мұқият оқырман байқаған болуы керек. Бұл жиын бір немесе бірнеше пакеттен тұратын Java класстар кітапханасы түрінде безендіріледі. Байт-кодтар әрбір функцияны жаза алады, бірақ оның нақты бір компьютерде сақталуына байланысты байт-кодтардың интерпретациясын болдырмай, оны осы компьютердің командалар жүйесінде жаза беруге болады. Ондай функцияларды туған әдістер (native methods) деп атайды. Туған әдістердің қолданылуы программаның орындалуын айтарлықтай жылдамдатады.
SUN Microsystems фирмасы -- Java технологиясының құрушысы -- осы программалау тілімен жұмыстың толық айналымы үшін қажетті программалық құрылғылар жиынын тегін таратады: компиляциялау, интерпретациялау, JDK (Java Development Kit) деп аталатын бай класстар кітапханасына ие талқылаулар. Басқа фирмалардың да инструментальды программалар жиыны болады. Мысалы, IBM фирмасының JDK жиыны кеңінен танымал.
Калькулятор тарихы. Есептегіш машинаның шыққан жылдары
50-жылдардың басында жарыққа шыға бастаған негізгі өңдеу құралы - бірінші буын ЭЕМ-дерінің ішкі құрылымы элементтері жеке бөлшектерден дайындалған электрондық-логикалық схемаларға негізделген болатын. Бұл бөлшектің негізгілері вакумдық электрондық шамдар еді. Мұндай компьютерлердің көлемі үлкен, сенімділігі жоғары емес, тездік жылдамдықтары бір секундта 5-6 мың қарапайым операция шамасынан аспайтын (екі санды қосу, көбейту не символдарды салыстыру сияқты бір әрекет қарапайым операция деп аталады да, оны орындайтын команда машиналық команда деп аталды. Оның үстіне, мұндай машиналар үшін құрылатын программалар машиналық командалардан тұратын да, программалау жұмысы көп еңбекті қажет еткен. Ал, ЭЕМ-нің өзі тек есептеу жұмыстарын жүргізу үшін пайдаланған).
Транзисторды ойлап шығарғанға байланысты, 50-жылдардың соғы кездері техникалық негіздері түгелдей алмастырылған, негізгі элементтері жартылай өткізгішті транзисторлардан тұратын екінші буын ЭЕМ-дері жарыққа шықты. Мұндай элементтер машинаның әрекет тездігін және сенімділігін елеулі түрде арттыруға мүмкіндік береді. Екінші буын машиналарының сырт аумағы, масасы, энергия пайдалану шамасы көп төмендегендіктен, олардың өзіндік құны да бірінші буын машиналарына қарағанда көп төмендетілді. Оның үстіне, бұл ЭЕМ-дерде жоғарғы деңгейлі (Алгол, Фортран, Бейсик, т.б) программалау тілдерінде операторлардан тұратын программалармен жұмыс істеу мүмкіндігі туды.
Информация өзінің хабары мен мазмұны арқылы сипатталатындығы және хабар жіберушіден қабылдаушыға материалды - энергетикалық (электр, жарық, дыбыс және т.с.с сигналдар) түрінде берілетіндігі белгілі. Хабарды қабылдау қабылдаушының жағдайын сипаттайтын қандай-да бір шаманың уақытқа байланысты өзгерісімен тікелей байланысты. Демек, информациялық хабарды информациялық процесс жүретін физикалық ортаның материалдық - энергетикалық параметрлерін уақытқы байланысты өзгертетін Х(t) функциясымен бейнелеуге болады. Осы функция үздіксіз де (мысалы, уақытқа байланысты өзгеретін дененің жылдамдығы, ауаның ... жалғасы
Л.Н. Гумилев атындағы
ЕУРАЗИЯ ҰЛТТЫҚ УНИВЕРСИТЕТІ
Ақпараттық технологиялар факультеті
6B106306-295 Ақпараттық қауіпсіздік жүйелері
мамандығы бойынша
КУРСТЫҚ ЖҰМЫС
Алгоритмдеу және программалау тілдері пәні бойынша "Қарапайым Калькулятор" программасын құру
Курстық жұмысты орындаған
АҚЖ 295 тобының студенттері
Нұр-Сұлтан 2020
Мазмұны
КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
1Java тілі туралы жалпы мәліметтер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
1.1 Java-дағы объектілі-бағдарлы бағдарламалау ... ... ... ... ... .. ... ... ... ... ... ... ... .
Java-да қарапайым калькулятор құрудың мақсаты мен міндеті ... ... ... ... ... .
Калькулятор тарихы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
Калькулятор программасы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
Есептің алгоритмі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
Есепті қорытындылау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
Пайдаланылған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
ҚОРЫТЫНДЫ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
ҚОСЫМША ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
АННОТАЦИЯ
Курстық жұмыс JAVA тілінде қарапайым калькулятор құру тақырыбында жазылды. Жұмыстың мақсаты - қарапайым калькулятор бағдарламасын құра отырып, бағдарламада қолданылған тапсырмалармен танысу . Орындалған жұмыстың объектiсі Java-аплеттерде анимацияларды құрастыру әдiстері болып табылады. Курстық жұмыс 10 бөлімнен, 27 беттен,тұрады. Есептің қойылымы бөлімінде курстық жұмыстың мақсаты мен есептің шарты қарастырылған. Бағдарламалық қамтаманы жобалау бөлімінде осы қарапайым калькуляторды жасау бойынша бағдарламалау тілінің анықталған интерфейстері мен операторлары толығымен сипатталып шықты. Бағдарламалық қамтаманы іске асыру бөлімінде бағдарламаны тестілеу көрсетілген, яғни алынған нәтижелер сипаттамасы қарастырылды. Сонғы бөлімінде бағдарламалаушы мен қолданушыға нұсқама берілді. Сонымен қатар,қорытынды, әдебиеттер тізімі мен қосымшалар бар.
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
Кіріспе
Java -- Sun Microsystems компаниясының жасап шығарған объектіге-бағытталған бағдарламалау тілі. Java қосымшалары әдетте арнайы байт-кодта компиляцияланады, сол себепті олар кез келген виртуалды Java-машинасында (JVM) компьютерлік архитектурасына тәуесіз орындалады.
Айтылуы жөнінде қазақ тілінде басқа тілдердегі сияқты екі бір-бірінен ажыратылған қағида пайда болды: ағылшын тілінен алынған ˈdʒɑːvə (джава) және Ява аралының айтылуына сәйкес келетін дәстүрлі-халықтық ява. Sun компаниясы ағылшындық айтылуды бүкіл әлемде ұстанады. Java -- деп тек қана тілді ғана емес, сонымен қатар осы тіл негізінде жасайтын және орындайтын платформаны атайды. Бастапқыда тіл Oak (емен) болып аталған және оны Джеймс Гослинг тұрмыстық электрондық құрылғыларды бағдарламалау үшін жасалынатын. Біраз уақыт өткеннен кейін тілдіі атын JAVA деп ауыстырады және оны клиенттік қосымшаларды және серверлік бағдарламалық қамтаманы жасау үшін қолданыла бастады. Кейбір бағдарламалаушылардың сүйікті кофе маркасы Java құрметіне аталды. Сол себепті тілідң эмлемасында түтіндеп тұрған кофесі бар шынаяқ бейнеленген. Сонымен қатар осы java атауының шығу тегі туралы басқа да нұсқалар бар.
----------------------------------- ----------------------------------- ----------
Алғашында Java (Java технологиясының ресми туылған күні -- 1995 жылдың 23 мамыры) телефон сияқты тұрмыстағы электронды қондырғыларды бағдарламалауға арналған болатын.Кейінірек Java браузерлерді бағдарламалау үшін қолданыла бастады - апплеттер пайда болды. Содан соң Java-да түрлі толыққанды қосымшалар құруға болатындығы байқалды. Олардың графикалық элементтері компоненттер түрінде безендіріле бастады -- Java CORBA технологиясымен байланыса отырып, реттелген жүйелер және аралық программалық қамтамалар әлеміне бірге кірген JavaBeans пайда болды. Серверлерді программалау үшін бір қадам қалған болатын және ол қадам жасалды - сервлеттер мен EJB (Enterprise JavaBeans) пайда болды. Серверлер деректер қорымен өзара байланыста болуы керек - JDBC (Java DataBase Connection) драйверлері пайда болды. Өзара байланыс сәтті болып шықты, және деректер қорын басқарудың көптеген жүйелері, сондай-ақ операциялық жүйелер де өз ядросына Java қосып алды, мысалы Oracle, Linux, MacOS X, AIX. Одан басқа қамтылмаған не қалды? Сіз атаңыз және жарты жылдан кейін Java ол жерде де қолданылып жатқанын естисіз. Түсініктің өзі көмескі болғандықтан, оны дәл сондай көмескі сөзбен атады -- технология.
----------------------------------- ----------------------------------- ----------
Java технологиясының мұндай тез және кең таралуы - Java деп аталатын арнайы құрылған программалау тілін қолдануымен тығыз байланысты. Бұл тіл өңдеушілердің ойы бойынша төмендегі тілдердің жаман жақтарын ескермей жақсы жақтарын ала отырып, Smalltalk, Pascal, C++ және т.б. тілдер қорында құрылған. Ол жөнінде әр түрлі пікірлер таралған, бірақ бұл тіл оқып үйрену үшін өте ыңғайлы, онда жазылған программалар жеңіл оқылады: алғашқы программаны тілді үйреніп бастаған соң бір сағаттан кейін жазуға болады. Pascal тілі құрылымдық программалау тілін үйрету тіліне айналғаны сияқты, Java тілі де объектілі-бағытталған тілді үйрету тілі болып қалыптасуда.
----------------------------------- ----------------------------------- ----------
Тілдің негізгі ерекшеліктері:Java - дағы бағдарламалар, байттық кодты өндейтін және жабдықтамаға нұсқамаларды беретін интерпретатор болып табылатын (JVM) Java виртуалды машинасында орындалатын байт-кодқа трансляцияланады. Java платформаларының классификациясы
Java ішінде технологиялардың бірнеше негізгі топтары бар:
----------------------------------- ----------------------------------- ----------
Java SE -- Java Standard Edition, Java негізгі басылымы, API, Java Runtime Environment компиляторлары бар; қолданушылық қосымшалар жасауға келтірілген, ең алдымен -- үстелдік жүйелер.
----------------------------------- ----------------------------------- ----------
Java EE -- Java Enterprise Edition, кәсіпорын деңгейіндегі бағдарламалық жабдықтамалар жасауға арналған арнайы құралдар жиыны болып табылады.
----------------------------------- ----------------------------------- ----------
Java ME -- Java Micro Edition, есептеуіш қабілеттері шектелген құрылғыларда қолдануға арналған, мысалы ұялы телефондар, қалталық дербес компьютерлар, кіріктірме жүйелер.
----------------------------------- ----------------------------------- ----------
JavaFX -- Java эволюциясының Rich Client Platform ретіндегі келесі қадам технологияся; ббірлестіктің қосымшалары мен бизнестың графикалық интерфейстерін жасауға арналған.
Негізгі мүмкіндіктері:
----------------------------------- ----------------------------------- ----------
жадты автоматты түрде басқару;
----------------------------------- ----------------------------------- ----------
ерекше жағдайларды өңдеудің кеңейтілген мүмкіндіктер;
----------------------------------- ----------------------------------- ----------
енгізушығару фильтрация құралдарының бай жиыны;
----------------------------------- ----------------------------------- ----------
стандартты топтамалар жиыны: массив, тізім, стек және т.б.;
----------------------------------- ----------------------------------- ----------
желілік қосымшалар (оның ішінде RMI протоколын қолдану) жасау қарапайым құралдар болуы;
----------------------------------- ----------------------------------- ----------
HTTP-сұраныстар орындау мен жауаптарды өңдеуге мүмкіндік беретін кластар болуы;
----------------------------------- ----------------------------------- ----------
тілге кіріктірілген көпағымды қосымшалар жасау құралдары;
----------------------------------- ----------------------------------- ----------
дерекқорға унифицияланған рұқсат:
----------------------------------- ----------------------------------- ----------
жекелеген SQL-сұраныстардың деңгейінде -- JDBC, SQLJ негізінде;
----------------------------------- ----------------------------------- ----------
дерекқорды сақтау қабілеті бар объекттер концепциясы деңгейінде -- Java Data Objects (ағл.) және Java Persistence API негізінде;
----------------------------------- ----------------------------------- ----------
----------------------------------- ----------------------------------- ----------
1 Java-тілі туралы жылпы мәләметтер
Компьютерлерді бағдарламалаудың барлық жарты ғасырлық тарихы,тіпті ғылымның бар тарихы -- бұл қоршаған ортаның қиыншылықтарын өткеру мүмкіншіліктері. Бағдарламалаушылардың алдында тұрған тапсырмалар барынша үлкейіп, ал өңделетін ақпарат күннен-күнге өсіп келеді. Жақында ғана ақпараттың қарапайым өлшем бірліктері килобайттар мен мегабайттар болса , ал қазір тек гигабайт және терабайттар туралы айтады. Осы тапсырмаларға бағдарламалаушылар шешім тапқанда, тағы одан күрделі тапсырмалар туындайды. Бағдарламалаушылар жаңа әдістер ойлап тауып, жаңа тілдер құра бастады. Жарты ғасырда бірнеше жүздеген тілдер пайда болды, көптеген әдістер мен стилдер ұсынылды. Кейбір әдістер мен стилдер көпке таралып, бір уақытқа бағдарламалаудың парадигмасын құрады.
Java - аса бай бағдарламалау тілі. Ол оқу мен пайдалануда қарапайым болғанымен, программистерге ең қиын есептерді шешу үшін көп мүмкіншіліктер береді.
Java - бұл Sun Microsystems компаниясымен 1995 жылдың маусымында ұсынылған принципиалды жаңа программалау тілі. Сол кезден бастап мыңдаған программистер бұл тілдің қуатын түсінді.
Java - объекті-бағдарланған программалау тілі. Ол Java-программаларының құрушыларына одан да көбірек қиын қолданбаларды жеңіл құрастыруына мүмкіндік береді. Сонымен қатар, желіде жұмыс істеу үшін және ағындарды қолдау, көптеген басқалары үшін құралдар Java-да құрастырылған.
Java тілі C, C++, Eiffel, SmallTalk, Objective C және CedarMes сияқты тілдерден алынған концепцияны қолданумен құрылған. Сол себептен таңданусыз, Java бұл тілдер шеше алатын есептерді де орындай алады. Төменде Java тілін қолдану арқылы құруға болатын қолданбаның 4 түрі келтірілген:
----------------------------------- ----------------------------------- ----------
Апплеттер (мини-қолданба)
----------------------------------- ----------------------------------- ----------
GUI-қолданба
----------------------------------- ----------------------------------- ----------
Командалық жолдың қолданбасы
----------------------------------- ----------------------------------- ----------
Пакеттер (библиотекалар)
Апплеттер мағынасы бойынша Netscape 2.x3.x, Microsoft Explorer 3.x немесе HotJava сияқты Java-үйлесімді браузерлер ортасында орындалатын мини-қолданбалар болып саналады.
GUI-қолданба (Graphical User Interface) - бұл қарапайым программалар. Олар Windows Notepad тәріздес, өздерінің жұмысы үшін браузердің қатысуын қажет етпейді.
Командалық жолдың қолданбалары MSDOS шақыру жолынан немесе UNIX командалық процессорден жүктеледі. Ол MS-DOS ортасында xcopy командасы тәріздес немесе UNIX жүйесінде ls тәріздес келеді.
Төртінші түрі - бұл "таза түрдегі" қолданба емес, бір пакетте (package) тұратын (C++ класстар библиотекасын еске түсіретін) класстар жиындары (Java байт-кодталған файлдарға айналдырылатын). Әртүрлі операциялық жүйелерде статикалық және динамикалық библиотекалармен қолданатын форматтарға сәйкес пакеттер үшін қолданушылар форматы жоқ. Java тілінде қолданбаларды іске қосу жеңіл әрі жылжымалы.
Java - бұл қарапайым, объекті-бағдарланған, сенімді, қорғалған, тасымалданулы, жоғары өнімді, интерпретациялайтын, көп ағынды, платформадан тәуелсіз, динамикалық дамитын тіл.
----------------------------------- ----------------------------------- ----------
Java-да қарапайым калькулятор құрудың мақсаты мен міндеті
Сіз білетіндей жоғарғы деңгейде жазылған программалар қатарына Java тілі де кіреді, шығыс модулі деп аталады, ол бірден орындалмайды. Оны біріншіден компиляциялау керек, яғни машиналық командалар тізбегін аудару -- объекті модулі. Бірақ ол да бірден орындала алмайды: объекті модулін функция модулінде қолданылған кітапханалармен компоновкалап, объекті модулінің секциялары арасында қиылысқан сілтемелерге руқсат беру керек, нәтижесінде программаны орындауға толық дайын - жүктеу модулін аламыз.
Java жазылған бастапқы модуль бұл процедураларды айналып өте алмайды, бірақ мұнда Java технологиясының негізгі ерекшелігі айқындалады -- программа бірден Java (JVM, Java Virtual Machine) виртуалды машиналар командаларына компиляцияланады. Java виртуалды машинасы дегеніміз -- командалардың олардың орындалу жүйесімен өзара жиынтығы болып табылады. Мамандарға Java виртуальды машинасы толығымен ағымды болып табылады деп айтамыз, сондықтан жады ұяшығының күрделі адресациясы және регистрлердің көп мөлшерде болуы міндетті емес. Соның есебінен JVM командалары қысқа болып табылады, олардың көбісі 1 байт ұзындыққа иа, сондықтан 2 және 3 байт ұзындықтағы командалар да болғанына қарамай JVM командаларын байт^кодтар (bytecodes) деп атайды. Статистикалық зерттеулерге сүйенсек, команданың орта ұзындығы 1,8 байтты құрайды. Командалардың және барлық JVM архитектурасының толық сипаты Java (VMS, Virtual Machine Specification) виртуальды машинасының спецификациясында сақталған. Егер сіз Java виртуальды машинасының қалай жұмыс істейтінін білгіңіз келсе, осы спецификациямен танысыңыз.
Java екінші бір ерекшелігі -- программада шақырылатын барлық стандартты функциялар оған орындалу кезінде қосылады. Мамандар айтып өткендей динамикалық компоновка (dynamic binding) жүзеге асырылады. Ол да компиляцияланған программа көлемін айтарлықтай кішірейтеді.
Сонымен, бірінші кезеңде Java тілінде жазылған программа компилятормен байт-кодқа ауыстырылады. Бұл компиляция нақты бір процессор типіне және нақты бір компьютер архитектурасына байланысты емес. Ол программа жазылғаннан кейін бір рет орындалуы мүмкін. Байт-кодтар бір немесе бірнеше файлдарда жазылуы мүмкін және ішкі жадыда сақталуға немесе желі бойынша таралуға мүмкіндік жасалған. Ол байт-кодтары бар файлдар көлемінің шағын болуымен өте ыңғайлы. Содан кейін компиляция нәтижесінде алынған байт-кодтарды JVM іске асыратын жүйеге ие кез-келген компьютерде орындауға болады. Бұл жағдайда процессор типі де компьютер архитектурасы да маңызды емес. Осылайша Java "Write once, run anywhere" -- "Бір рет жазылған, кез-келген жерде орындала береді" принципі құрылады.
Байт-кодтардың интерпретациясы мен динамикалық компоновкасы программаның орындалуын айтарлықтай баяулатады. Байт-кодтар желі бойынша жіберілген жағдайда ол әсер етпейді, өйткені желі кез-келген интерпретациядан да баяу жұмыс істейді, бірақ басқа жағдайларда күшті және жылдам компьютер қажет болады. Сондықтан интерпретацияның жылдамдығын өсіру үшін интерпретаторлармен үздіксіз жұмыс жүргізілуде. Процессордың машиналық командасы кодының интерпретациядан өткен бөліктерін есте сақтап қалатын және оларға қайта қатынау жасалғанда, мысалы циклдарда осы бөліктерді жай ғана жүзеге асыратын JIT-компиляторлары (Just-In-Time) өңделіп шығарылды. Ол есептеулердің қайталану жылдамдығын айтарлықтай өсіреді. SUN фирмасы Hot-Spot технологиясын өңдеп шығарды және оны өзінің Java виртуальды машинасының құрамына қосты. Бірақ, әрине арнайы процессорлар ғана одан да жоғары жылдамдықты көрсете алады.
SUN Microsystems фирмасы JVM командасының жүйесінде жұмыс істейтін PicoJava микропроцессорларын жасап шығарды, сондай-ақ одан да күшті Java-процессорлар тізбегін шығаруды ұйғарды. Басқа фирмалардың Java-процессорлары да бар. Бұл процессорлар тікелей байт-кодтарды жүзеге асырады. Бірақ Java программасын басқа компьютерлерде орындау кезінде JVM командаларын нақты бір процессор командаларына интерпретациялау қажет болады, яғни процессордың әрбір типіне интерпретатор-программасы керек және компьютердің әрбір архитектурасы үшін арнайы интерпретатор жазылуы қажет болады.
Бұл жағдай барлық компьютерлік платформалар үшін шешіліп қойған. Олар үшін Java виртуальды машинасы жасап шығарылған, ал олардан да кең таралған платформалар үшін әр түрлі фирмалардың бірнеше JVM өңдеулері бар. Операциялық және деректер қорын басқару жүйелерінің көбі JVM өңдеуін өз ядроларына қосуда. Электронды құрылғыларды қолданылатын арнайы JavaOS операциялық жүйесі құрылған. Көп браузерлерде апплеттерді орындау үшін Java виртуальды машинасы орнатылады.
Байт-кодтарды компьютерде орындау үшін JVM өңдеуінен бөлек байт-кодтардан шақырылатын және байт-кодтармен динамикалық түрде компоновкаға ұшырайтын функциялар жиыны қажет болатындығын мұқият оқырман байқаған болуы керек. Бұл жиын бір немесе бірнеше пакеттен тұратын Java класстар кітапханасы түрінде безендіріледі. Байт-кодтар әрбір функцияны жаза алады, бірақ оның нақты бір компьютерде сақталуына байланысты байт-кодтардың интерпретациясын болдырмай, оны осы компьютердің командалар жүйесінде жаза беруге болады. Ондай функцияларды туған әдістер (native methods) деп атайды. Туған әдістердің қолданылуы программаның орындалуын айтарлықтай жылдамдатады.
SUN Microsystems фирмасы -- Java технологиясының құрушысы -- осы программалау тілімен жұмыстың толық айналымы үшін қажетті программалық құрылғылар жиынын тегін таратады: компиляциялау, интерпретациялау, JDK (Java Development Kit) деп аталатын бай класстар кітапханасына ие талқылаулар. Басқа фирмалардың да инструментальды программалар жиыны болады. Мысалы, IBM фирмасының JDK жиыны кеңінен танымал.
Калькулятор тарихы. Есептегіш машинаның шыққан жылдары
50-жылдардың басында жарыққа шыға бастаған негізгі өңдеу құралы - бірінші буын ЭЕМ-дерінің ішкі құрылымы элементтері жеке бөлшектерден дайындалған электрондық-логикалық схемаларға негізделген болатын. Бұл бөлшектің негізгілері вакумдық электрондық шамдар еді. Мұндай компьютерлердің көлемі үлкен, сенімділігі жоғары емес, тездік жылдамдықтары бір секундта 5-6 мың қарапайым операция шамасынан аспайтын (екі санды қосу, көбейту не символдарды салыстыру сияқты бір әрекет қарапайым операция деп аталады да, оны орындайтын команда машиналық команда деп аталды. Оның үстіне, мұндай машиналар үшін құрылатын программалар машиналық командалардан тұратын да, программалау жұмысы көп еңбекті қажет еткен. Ал, ЭЕМ-нің өзі тек есептеу жұмыстарын жүргізу үшін пайдаланған).
Транзисторды ойлап шығарғанға байланысты, 50-жылдардың соғы кездері техникалық негіздері түгелдей алмастырылған, негізгі элементтері жартылай өткізгішті транзисторлардан тұратын екінші буын ЭЕМ-дері жарыққа шықты. Мұндай элементтер машинаның әрекет тездігін және сенімділігін елеулі түрде арттыруға мүмкіндік береді. Екінші буын машиналарының сырт аумағы, масасы, энергия пайдалану шамасы көп төмендегендіктен, олардың өзіндік құны да бірінші буын машиналарына қарағанда көп төмендетілді. Оның үстіне, бұл ЭЕМ-дерде жоғарғы деңгейлі (Алгол, Фортран, Бейсик, т.б) программалау тілдерінде операторлардан тұратын программалармен жұмыс істеу мүмкіндігі туды.
Информация өзінің хабары мен мазмұны арқылы сипатталатындығы және хабар жіберушіден қабылдаушыға материалды - энергетикалық (электр, жарық, дыбыс және т.с.с сигналдар) түрінде берілетіндігі белгілі. Хабарды қабылдау қабылдаушының жағдайын сипаттайтын қандай-да бір шаманың уақытқа байланысты өзгерісімен тікелей байланысты. Демек, информациялық хабарды информациялық процесс жүретін физикалық ортаның материалдық - энергетикалық параметрлерін уақытқы байланысты өзгертетін Х(t) функциясымен бейнелеуге болады. Осы функция үздіксіз де (мысалы, уақытқа байланысты өзгеретін дененің жылдамдығы, ауаның ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz