Бағдарламалау тілдерінің өркениеті
Қазақстан Республикасы Білім және ғылым министрлігі
Л.Н. Гумилев атындағы Еуразия ұлттық университеті
Әбжан Жәнібек Әлімұлы
Әртүрлі бағдарламалау орталарында жасалған мобильдік қосымшалар мен қолданбалы бағдарламалар үлгісінде интерфейстердің басқа бағдарламалау жүйелерімен қатынасын зерттеу
ДИПЛОМДЫҚ ЖҰМЫС
5B070400 - Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығы
Нұр-Сұлтан 2019
Қазақстан Республикасы Білім және ғылым министрлігі
Л.Н.Гумилев атындағы Еуразия ұлттық университеті
Қорғауға жіберілді
Есептеу техникасы
кафедрасының меңгерушісі
_____________ Н.Н. Ташатов
ДИПЛОМДЫҚ ЖҰМЫС
Тақырыбы: Әртүрлі бағдарламалау орталарында жасалған мобильдік қосымшалар мен қолданбалы бағдарламалар үлгісінде интерфейстердің басқа бағдарламалау жүйелерімен қатынасын зерттеу
5B070400 - Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығы бойынша
Орындаған
Ж.Ә. Әбжан
Ғылыми жетекшісі
аға оқытушы:
А.С. Тургинбаева
Нұр-Сұлтан 2019
Л.Н. Гумилев атындағы Еуразия ұлттық университеті
Ақпараттық технологиялар факультеті
5B070400 - Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығы
Есептеу техникасы кафедрасы
Бекітемін
Кафедра меңгерушісі __________ Ташатов Н.Н.
_____________ 20___ж.
Дипломдық жұмысты орындауға
ТАПСЫРМА
Студент Әбжан Жәнібек Әлімұлы
В4-70400-03, 5В070400 - Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығы
1. Дипломдық жұмыс тақырыбы Әртүрлі бағдарламалау орталарында жасалған мобильдік қосымшалар мен қолданбалы бағдарламалар үлгісінде интерфейстердің басқа бағдарламалау жүйелерімен қатынасын зерттеу
21.11.2018 ж. №1587-п бұйрығымен бекітілген
2. Аяқталған жұмысты тапсыру мерзімі _____________ 20___ж.
3. Алғашқы деректер (заңнамалар, әдебиет көздері, зертханалық-өндірістік деректер):
Алексеев В.Е. Вычислительная техника и программирование. М. Высшая школа-1991.
Камардинов. Есептеуіш техника және программалау. Алматы-1997.
И.Г. Семакин, А.П. Шестаков "Основы программирования" М, "Мастерство"-2001.
В.И. Касаткин "Информация, алгоритмы, ЭВМ". М. "Просвешение", 1991
4. Дипломдық жұмыста қарастырылған сұрақтар тізімі:
- Интерфейстер;
- Бағдарламалау жүйелері;
- Интерфейстердің мен басқа бағдарламалау жүйелерімен қатынасы.
5. Графикалық материалдар тізбесі (сызбалар, кестелер, диаграммалар және т.б.)
- 6 сурет
6. Негізгі ұсынылған әдебиет тізбесі:
Ефимова О., Моисеев М., Шафрин Ю. Компьютерные технологии.-М.,1997
Биллиг, В. Основы программирования на C# В. Биллиг. - М.: Бином. Лаборатория знаний, 2006. - 483 c.
Биллиг, В.А. Основы программирования на С#: Учебное пособие В.А. Биллиг. - М.: Бином, 2012. - 483 c.
7. Жұмыс бойынша кеңес беру (оларға қатысты жұмыс бөлімдерін көрсете отырып)
Тараудың, бөлімнің нөмірі, атауы
Ғылыми жетекші, кеңесші
Тапсыр-маны алу мерзімдері
Тапсырма берілді
(қолы)
Тапсырма қабылданды
(қолы)
1 Бағдарламалау туралы жалпы түсінік
Тургинбаева А.С.
02.12.2018-
12.12.2018
1.1 Бағдарламалау тілдері және түрлері
Тургинбаева А.С.
12.12.2018-
12.01.2019
2 Интерфейстер
Тургинбаева А.С.
16.01.2019-
25.02.2019
2.1 Бағдарламлау орталары
Тургинбаева А.С.
01.03.2019
31.03.2019
2.2 Бағдарламлау жүйелері
Тургинбаева А.С.
05.04.2019
12.04.2019
3 Android studio ортасында интерфейстің бағдарламалау жүйелерімен байланысы
Тургинбаева А. С.
15.04.2019
25.04.2019
4 Visaul studio ортасында интерфейстердің бағдарламалау жүйелерімен байланысы
Тургинбаева А.С.
26.04.2019
05.05.2019
Қорытынды
Тургинбаева А.С.
07.05.2019
07.05.2019
8. Дипломдық жұмысты орындау кестесі
№
Жұмыс кезеңдері
Жұмыс кезеңдерін орындау мерзімдері
Ескертпе
1
Дипломдық жұмыс тақырыбын бекіту
21.11.2018
№ 1587-П ректор бұйрығынмен бекітілген
2
Дипломдық жұмысты әзірлеу үшін материалдарды жинақтау
21.11.2018-
27.11.2018
Алғашқы деректерге сәйкес
3
Дипломдық жұмыстың теориялық бөлімін дайындау (1 тарау)
01.12.2018-
28.01.2019
Тәжірибеге кеткенге дейін
4
Дипломдық жұмыстың аналитикалық бөлімін дайындау (2-3 тараулар)
01.02.2019-
30.03.2019
Тәжірибе уақытында
5
Дипломдық жұмыстың толық мәтінінің алғашқы нұсқасын дайындау
01.04.2019-
20.04.2019
Тәжірибе аяқталғаннан кейінгі бірінші апта
6
Дипломдық жұмысты алдын-ала қорғауға ұсыну
25.04.2019-
20.05.2019
Шолу дәріс барысында (кеңес)
7
Дипломдық жұмысты пікір алу үшін ұсыну
22.05.2019-
26.05.2019
Кестеге сәйкес
8
Дипломдық жұмыстың соңғы нұсқасын дипломдық жетекші пікірі мен сыртқы пікірмен ұсыну
30.05.2019-
19.05.2019
Кестеге сәйкес
9
Дипломдық жұмысты қорғау
21.06.2019
Мемлекеттік аттестациялау кестесі бойынша
Тапсырманы беру уақыты _____________ 20___ж.
Ғылыми жетекшісі
аға оқытушы: _____________ А.С. Тургинбаева
Тапсырманы қабылдаған студент: _____________ Ж.Ә. Әбжан
МАЗМҰНЫ
Кіріспе 8
1 Бағдарламалау туралы жалпы түсінік ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..9
1.1 Бағдарламалау тілдері және түрлері 16
2 Интерфейстер 21
2.1 Бағдарламлау орталары 39
2.2 Бағдарламлау жүйелері 41
3 Android studio ортасында интерфейстің бағдарламалау жүйелерімен байланысы 44
4 Visaul studio ортасында интерфейстердің бағдарламалау жүйелерімен байланысы 46
Қолданылған әдебиеттер тізімі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... .51
Қосымша 53
Кіріспе
Интерфейс қолданушы мен бағдарлама арасындағы көпір болғандықтан бұл бағытта даму өзектілігі сөзсіз болып табылады. Ал интерфейс пен басқа бағдарламалау жүйелері арасындағы байланысты зерртеп оңтайландыру одан да маңызды орын алады. Бұрынғы бағдарламалау тілдеріндігі интерфейстер құру мәнері қазіргі заманда қолайлы конструкторлармен алмастырылған.
Компьютерлік жүйелер интерфейсі түсініктемесінің бірнеше анықтамасы бар, солардың бірнешеуін айтайық. Қатынас интерфейсі қандайда бір есептерді шығару үшін, адам мен ЭЕМ арасында сенімді қатынасты қамтамасыз ететін, аппаратты-программалық, ақпаратты көрсету құрылғылардың және ақпарат алмасу протоколдарының жиынтығы арқылы да анықталады. Компьютердің аппараттық интерфейсі ретінде ДК-ң кез келген перифериялық құрылғысының әр түрлі мінездемелер жинағын түсінеміз. Ол олардың арасында және орталық процессор арасындағы ақпарат алмасуды ұйымдасгырады.
Соңғы жылдарда компьютерлік жүйелерді көптеп қолдануда. Басты себептерінің бірі пайдаланушы мен программалық қосымшаның өзара қарым-қатынас интерфейстерінің рөлі зор. Жалпы алғанда, интерфейс түсінігі кең мағыналы және компьютерлік технологиялардың әр турлі салаларында қолданылады. Соңғы жылдары адам-компьютер жүйесінде интерфейсті ұйымдастыру айтарлықтай дамып, логикалық аякталуына келді. Интерфейсті жалпылама құрылым түріндегі функциясы бар бірнеше бөлікке бөлуге болады. Мұндай интерпретация әр құрылымның құрылысын түсіндіреді және оларды қолдану принциптерін негіздеуге мүмкіндік береді.
Интерфейстердің басқа бағдарламалау жүйелерімен әрдайым қатынаста жұмыс істейді. Осы жұмыста көп деңгейлі байланыстың, интерфейстің әр бағдарламалау ортасымен жеке-жеке қатынасын зерттеу мақсатында visual studio, android studio сияқты танымал бағдарламалау орталарында мысал көрсетілген.
Қарастырылатын негізгі мәселе - пайдаланушылық интерфейстер және олардың қосымша деңгейінің программалы-аппараттық интерфейстері арасындағы байланыстары болып табылады. Осы мәселеге қызығушылық тек есептеу техникасы мамандарының ғана емес, сонымен қатар эргономисттердің, психологтардың, социологтардың және графикалық жүйелерді жасаушылардың да қызығушылығын туғызып отыр. Тәжірибе көрсеткендей, компьютерлік жүйелердегі көптеген қолданбалы есептерді шешу үшін интерфейсті таңдау мен (немесе) құрастырудағы проблемаларды толығымен, жан-жақты қарастыру қажет.
Пайдаланушылық және программалы-аппараттық интерфейстерді құру технологиялары кешенді түрде қарастырылуы тиіс.
Осы күнде адам мен компьютерлік жүйе қатынасын ұйымдастыруда кең ауқымды програмалық және аппараттық құрылымдар бар. Қарым қатынастың салттық түрінен басқа тілдік сұхбат пен қарапайым тілдегі сұхбаттар жүйесі құрастырылуда. Осыны ескере отырып, басқа да негізгі мәселелердің бірі - қолданбалы программаларда адам мен ЭЕМ арасындағы қатынасты жобалау процесстерін ұйымдастыру болып табылады. Қолданбалы интерфейсті құру сұрақтарында инженерлік психология негізгі орын алады.
Соңғы жылдары адам-компьютер жүйесінде интерфейсті ұйымдастыру айтарлықтай дамып, логикалық аяқталуына келді.
Қосымшамен жұмыс істеп отырған пайдаланушы немен түйіседі, ол оның интерфейсі. Ойланбай жасалған интерфейс оның артықшылықтарын жоққа шығаруы мүмкін. Айтылғандардың барлығы локальді қосымшалар мен пайдаланушының тораптағы жұмысын қамтамассыз ететін қосымшаларға да қатысты. Интерфейс проблемасының маңыздылығы жөнінде келесі фактілерді айтуға болады. Американың Ұлттық Стандарттар Институтында (ANSI) осы бағыт бойынша арнайы кеңесшілер тобы - Адам - Компьютер интерфейсінің стандарттары бойынша комитеті (The Human-Computer Interface Standard Committee) бар. Мұндай ұйымдар тек АҚШ-та ғана емес, басқа да елдерде де бар. Сонымен қатар осы бағытта жұмыс істейтін Халықаралық зерттеу топтары да бар, мысалы, телеграфия мен телефония бойынша халықаралық кеңес беру комитет (International Telegraph and Telephone Consultation Committee). Олар өз кезегінде интерфейстің интерактивті элементтерінің ерекшеліктерін зерттейді.
Осы ұйымдардың немесе жұмыс тобының көбісімен кезінде пайдаланушылық интерфейстер стандарттары бойынша құжаттарының жобалары дайындалған және оларды жобалау мен іске асыру принциптері бар.
Сапалы интерфейсті құру "пайдаланушы мүддесі бәрінен де артық" принципін және соған сәйкес бүкіл программалық өнімді құру әдістемесін іске асыруды қарастырады.
1 Бағдарламалау туралы жалпы түсінік
Бағдарламалау технологиясының дамуы компьютерлік техниканың дамуымен тығыз байланысты. Бірінші ЭЕМ ENIAC 1946 жылы жасалды. ЭВМ-нің өнімділігі секундына 500 мың амалдар көрсетіп, 100 шаршы метрлік ғимаратта орналасқан. Ол АҚШ ӘТК снарядтың ұшу бағытын анықтауға арналған болды. Кейін ЭЕМ қуатын арттырып, көлемін кішірейту жолмен компьютерлік техникалар дами бастады. ЭЕМ даму эволюциясы микроэлектрониканың дамуымен тығыз байланысты. 1-суретте ЭЕМ даму эволюциясы электронды компоненттердің дамуы бойынша көрсетілген.
Сурет 1 ЭЕМ даму революциясы.
ЭЕМ-ның бір буынынан басқа буынға асуы текэлементтік қорды жетілдірумен сипатталып қана қоймайды және ЭЕМ-нің құрылымыныңөзгеруімен, олардың фукнкционалды-техникалық мүмкіндіктерінің және тұтынымдық сипаттамаларының өсуімен бейнеленеді.
Бірінші буынның ЭЕМ-дері электронды лампалардан құрылды. Сыртқы есте сақтау құрылғылары ретінде магнитті барабандар қолданылды. Олардың өнімділігі мен сенімділігі төмен болды.
Бірінші ЭЕМ-дер тек әр ЭЕМ-ге (тілдердің 1-ші буыны) тән машиналық командалар тілін түсінді. Барлық командалар цифрлармен берілді және олардымүмкін емес еді.
ЭЕМ командалар жүйесін және пішімдерін білу талап етілді. Мысалы, екі адресті команданың пішімі келесідей болды
МИНСК - 22 ЭЕМ-нің бағдарламасының жолы былай көрінеді
10-ға тең амалдың коды 2000 ұяшығының мазмұнын 2001 ұяшығына қосып, нәтижесін бірінші адрес бойынша орналастыру дегенді білдіреді. Осындай технология үшін тапсырма алгоритмі қарапайым әрекеттерге ұсақталды және бағдарламашы жад ұяшығында не барын білуі тиісті болды. Бұл жұмыстыең көп қажет ететін технология болды және бағдарламашыдан жоғары біліктілікті талап етті.
Екінші буынның ЭЕМ-дері жартылай өткізгішті аспаптардан (диодтар, транзисторлар) құрылды. Құрылымдық негіз ретінде баспа тақтасы қолданылды. Сыртқы ЕСҚ магнитті лентада орындалды.
Сандық код әріптік кодқа алмастырылып, ал ұяшықтар адрестері шартты немесе әріптік бола алатын ASSEMBLER (тілдердің 2-буыны) тілі пайда болды.
Алдыңғы мысалдың жазбасы келесі түрдегідей болды: ADD a b
Ассемблердің басты артықшылығы бағдарламашының ЭЕМкомандалар жүйесін білу және ЭЕМ жадын оналастыру үшін ұяшықтар нөмерін көрсетудің қажет еместігінде.
Ассемблер тілі адрестердің символдық белгілерін және амалдардың мнемоникалық кодтарын қолданады. Мысалы: ADD - қосу; MOV - жіберілу. ЭЕМ тек машина кодын түсінетіндіктен ассемблер тілінен аударатын транслятор пайда болды.
ЭЕМ-ге бағдарламаны енгізгеннен соң транслятор Ассемблер тілін ЭЕМ түсінетіндей етіп машиналық командалар тіліне аударды. Дегенмен, Ассемблер пайда болғаннан кейін де әзірлеу өте үлкен еңбекті қажететті және есептеулердегі қажетті талаптар көлемін қамтамасыз ете алмады.
Үшінші буынның ЭЕМ-дерінде элементті қор ретінде интегралды сұлбалар қолданылды (ИС). Құрудың модульді қағидасы қолданылды. Сыртқы ЕСҚ ретінде магнитті ленталардағы және қатқыл дисктердегі жинақтаушылар пайдаланылды. Габариттер және энергиятұтыну азайтылғанда ЭЕМ-нің сенімділігі және өнімділігі едәуір артты. Үшінші буынның ЭЕМ ерекше уәкілдеріне ДЖ ЭЕМ және ШЖ ЭЕМ. ЭЕМ негізгі бағдарламалық қамтамасыз етудің және бірнеше бағдарламаның бір мезетте орындалу мүмкіндігінің болуымен сипатталады.
ДЖ ЭЕМ ғылыми-техникалық, экономикалық және ақпараттық-басқарушы тапсырмаларды шешуге арналған әмбебап ЭЕМ-нің тұқымдасы болып табылады.
ШЖ ЭЕМ - технологиялық процестерді басқарудың автоматтандырылған жүйелерінде қолдануға арналған мәселелерге бағытталған шағын ЭЕМ-нің тұқымдасы.
Бағдарламалауға қажетті еңбекті азайтудағы келесі қадам - жоғары деңгейдегі тілдердің пайда болуы.
1955 ж. жоғары деңгейлі FORTRAN (FORMULA TRANSLATOR) - ғылыми есептеулер тілі пайда болды.
1960 ж. Алгол (Algoritmic Language) пайда болды.
1965 ж. Basic (Beginner's All purpose Symbolic Instructions Code) пайда болды. Авторлары Курт пен Кемени.
1970 ж. Никлаус Вирт студенттерді бағдарламалауға үйрететінПаскаль тілін жасады.
1972 ж. Си тілі (автор Денис Ричи) пайда болды.
1980 ж. 3-ші буынның ең мықты тілі - Ада пайда болды.
3-ші буынның бағдарламалау жүйесі пайдаланушыға бағдарламаны әзірлеугемықты және қолайды құралдарды береді.
- компилятор және интерпретатор;
- редактор;
- кітапханалар;
- көмекші бағдарламалар (ретке келтірушілер, қателерді, қарама-қарсы сілтемелерді және т.б. табатын бағдарламалар).
3 - буынның жоғары деңгейдегі тілдері екі үлкен класқа бөлінеді:
- Әмбебап;
- Мәселелерге бағытталған.
Біріншілер тапсырмалардың кез келген кластарын шешуге мүмкіндік береді, екіншілері - арнайы тапсырмаларды шешуге арналған.
Жоғары деңгейдегі бағдарламалау тілдері пайда болысымен бағдарламаларды әзірлеу шапшаңдығы айтарлықтай артты, бағдарламаны құруға кететін уақыттың 80% құрайтын ретке келтіру процесін автоматтандыру мүмкіндігі пайда болды.
Үшінші буындағы тілдерінде қосукомандаларын жазу мысалын қарастырайық.
Basic тілінде қосу командаларыжазбасының мысалы шамамен мынадай:
Y = a+b
Pascal тілінде қосу командалары жазбасының мысалы шамамен мынадай:
Y:= a+b
C++ тілінде қосу командаларыжазбасының мысалы шамамен мынадай:
Y=a+b
Мысалдарда көрініп тұрғандай командалар жазбасы адамға үйреншікті жазбаға максималды ұқсастырылған.
Нақты бағдарламалау тілін таңдау шешілетін тапсырманың класына тікелей тәуелді. Жүйелік бағдарламалау тапсырмалары көп еңбекті талап ететінретке келтіруге қарамастан дәстүр бойынша С++ тілінде шешіледі. Қолданбалы сипаттағы тапсырмалар PASCAL және BASIC тілдерінде шешіледі.
Төртінші буынның ЭЕМ-дерінің басты ерекшелігі - ҮИС (БИС) мен АҮИС (СБИС) кең қолданылуларында. Бұл ЭЕМ-нің техникалық-экономикалық көрсеткіштерінің бірден өсуіне мүмкіндік берді.
Микропроцессордың (МП) пайда болуымен есептеуіш техникасының жаңа дәуірі басталды. Бір кристалда орындалған МП сыртқы құрылғыларынан басқа ЭЕМ-ң барлық элементтерін қамтыды. МП негізінде құрылған ЭЕМ-н микро-ЭЕМ деп атайды. Олар өте кішкентай, жұмыс столындакөп орын алмайды, пайдалануда еш қиындық тудырмайды және арнайы шарттар қажет етпейді.
Төртінші буынға бағдарламалық қамтамасыздандыруды басқару мәселелік-бағытталған тілдері жатады. Бұлмәселелік-бағытталған тілдер Visual Basic, Delphi, C++, Java. Осы тілдердің артықшылығы компьютерлік желілерде, Интернетте жұмыс істеуге арналған қосымшаларды құру мүмкіндігі және бағдарламалаудың түрлі элементтерімен объектретінде жұмыс істеу мүмкіншілігі болып табылады [1].
Бағдарламалаудың OLE, ActiveX, COM, DCOM және басқалар сияқты жаңа технологиялары пайда болды [2].
Сонымен, машиналық тілдердің өркениеті шынайы тілдер бағытында жүріп жатыр. Идеалды шешім - қолданушы өз мәселесін шынайы тілде құрастырады, ал өзгесін ЭЕМ орындайды.
2-суретте бағдарламалау тілдерінің өркениеті көрсетілген.
Сурет 2 Бағдарламалау тілдерінің өркениеті.
1982 жылы IBM фирмасы дербес компьютерлердің (ДК) бірінші партиясын шығарды, олардың пайдаланушылық мүмкіншіліктері мен құрылыстық-технологиялық шешімдеріне қарап, бесінші буын ЭЕМ-на жатқызуға болады.
Бағдарламалау, программалау - 1. есептерді ЭЕМ-де шешу үшін кезектесе орындалатын командалар тізбегіне келтіру процесі. Ол есептерді шешу алгоритміне сәйкес бағдарлама жасаудан, оны жөндеуден және қолдану барысында жетілдіру кезеңдерінен тұрады; 2. Ақпараттанудың үшін бағдарлама жасау тәсілдерін, сондай-ақ оны жөндеуді және жетілдіруді зерттейтін саласы. Бағдарламалау пән ретінде теориялық Бағдармалау, жүйелі Бағдарламалау және қолданбалы Бағдарламалау болып бөлінеді.
Бағдарламалық тілдерде символдарды бірізділікпен өңдеуге қажет мәтіндер алдын ала жазылып кояды, мәтіндерді бұйрықты тапсырма деп қарауға болады. Семантикалық шарттары бойынша мәтіндер мынадай деңгейлерде сұрыпталады: дербес мағынасы жоқ "әліпби таңбалары; шағын тіл бірліктерінің екі жақты атаулары; мағынасы бұйрық түрінде емес атаулардың қосындысын білдіретін сөйлемшелер; белгілі әрекетті білдіретін (бұйрық мағынасында) синтаксистік құрылымдардан тұратын операторлар тағы басқа. Бағдарламалық тілдердің өзіне тән сипаты символдық, сөздік, сөйлемдік, мәтіндік деңгейлердің ара жігі белгісіздігінде мәтіндерді жазып, ЭЕМ-ге енгізуде ондағы жетімсіздік басқа символдармен толықтырылады. Мысалы, (СОТО сөйлемшесі бір символ, бір сөз немесе бір сөйлем болып есептелуі мүмкін. Бағдарламалық тілдер қолданылу тұрғысынан екіге бөлінеді: алгоритмдік әр түрлі типтерді алдын ала жазуға болатын универсалдық бағдарламалық тілдер және неғұрлым шағын мақсатты жүмыстарға (модель жасау, мәтінді автомат өңдеу, белгілі бір процесті басқару) арналған мамандандырылған бағдарламалық тілдер. Бұлардың ішінде ЭЕМ-мен пайдаланушының қарым-қатынасын дамытуда диалогтік бағдарламалық тілдер маңызды орын алады. Бағдарламалық тілдердің дамуы олардың деңгейін көтеру, адам мен машинаның қарым-қатынас процесін жеңілдету, бағдарламалардың тиімділігін арттыру арқылы іске асырылып отырады. 20-ғасыр 70-жылдары бағдарламалық тілдердің жалпы саны 1 мыңға жақындады. Ең жиі қолданылатын, деңгейі жоғары тілдік бағдарламалар: фортран, кобол, алгол, бейсик, паскаль, мектепте кең тараған -- паскаль тілі [3].
Бағдарламалау тілі -- мәліметті (деректі, ақпаратты) және олардың алгоритмін (бағдарламасын) ЭЕМ-де өңдеуге арналған формальды (жасанды) тіл. Бағдармалау тілінің негізін алгоритмдік тіл құрайды. Алғашқы Бағдарламалау тілі ішкі машиналық тіл болып есептеледі. Қазіргі Бағдармалау тілі машиналық-бағдарланған, процедуралық-бағдарланған және проблемалық-бағдарланған тілдер болып ажыратылады. Машиналық-бағдарланған Бағдармалау тілі өзінің мәліметтерінің түрі мен алгоритмінің құрылуы бойынша белгілі бір ЭЕМ-нің (не ЭЕМ класының) құрылымын бейнелейді. Мұның үстіне оның бағдарламалау процесін жеңілдету және автоматтандыру сияқты ерекшеліктері бар. Ол машиналық тілге жақын тіл. Машиналық-бағдарланған бағдармалау тіліне автокод, алмо, эпсилон, т.б. тілдер жатады.
Бағдармалауға қойылатын негізгі талап -- бағдарламаның анықтылығы және сенімділігі. Бағдармалау жинақтаушы Бағдармалау, құрама Бағдармалау және нақтылаушы Бағдармалау болып 3 түрге бөлінеді.
Бағдармалауға қойылатын негізгі талап -- бағдарламаның анықтылығы және сенімділігі. Бағдармалау жинақтаушы Бағдармалау, құрама Бағдармалау *және нақтылаушы Бағдармалау болып 3 түрге бөлінеді.
-Жинақтаушы Бағдармалау -- жалпы бағдарлама жасау.
- Құрама Бағдармалау ішкі программалар жиынтығына сүйенеді.
- Нақтылаушы Бағдармалау берілген кластағы кез келген есепті шешуге арналған әмбебап бағдарламаны қажет етеді. Іс жүзінде, Бағдармалаудың бұл 3 түрі аралас қолданылады. Бағдармалау ғылыми-техникалық пән ретінде бағдарлама жасаудың теориясын, методологиясын және технологиясын зерттейді.
Бағдарлама - нақтылы алгоритмге арналған ақпаратты өңдеу жүйесінің (АӨЖ) жекелеген белгілі бөліктерін басқаруға арнайыдайындалған мәліметтер.
Бағдарламалардың да мәліметтердің де бір түрде, яғни мәлімет түрінде бір жадыда қатар сақталуы Фон Нейман машинасының негізгі қағидасы. Мәлімет те, бағдарлама да белгілі кодтар түрінде жады да орналасады. Әрине, бағдарлама - белгілі мәліметтердің ішіндегі белгілі әрекеттерді орындау мақсатына арналған екпінді бөлігі. Процессор үшін бағдарламаның командалары оқылып, коды анықталатын, ерекше бөліктері бойынша командаға айналатын мәлімет. Басқа бір жағдайларда, мысалы, жоғары деңгейлі тілдерді (ЖДТ) өңдейтін компилятор үшін кірмесіндегі мәліметтер машина кодындағы командаларға аударылуға қажетті мәтіндер болады.
Бағдарламалау парадигмалары. Бағдарламалау парадигмасы - бұл бағдарлама жазу стилін анықтайтын идеялар мен түсініктер жиыны. Бірінші кезекте парадигма негізгі бағдарламалық бірлікпен және бағдарламалық модулділігіне жету принципінің өзімен анықталады. Бұл бірлік ретінде анықтама (декларативті, функционалды бағдарламалау), әрекет (императивті бағдарламалау), ереже (продуктивті бағдарламалау), өтулер диаграмасы (автоматты бағдарламалау) және басқа да мәндер орындалады. Қазіргі заман бағдарламалау индустриясында бағдарламалау парадигмасы өте жиі бағдарламалаушы құрал-жабдықтармен, әсіресе бағдарламалау тілімен және қолданылатын кітапханалармен анықталады [4].
Бағдарламалау парадигмасы бағдарламалаушы бағдарлама логикасын қандай терминдерге сипаттайтынын анықтайды. Мысалы, императивті бағдарлмалауда бағдарлама әрекеттер реттілігі сияқты сипатталады, ал функционалды бағдарламалауда өрнек және функцияны анықтау жиыны түрінде болады. Белгілі объектіге бағытталған бағдарламалауда (ОББ) бағдарламаны өзара әрекеттескен объектілер жиынтығы ретінде қарау қабылданған. ОББ негізінен мәнісі бойынша объектіге деректер және әдістер инкасуляция принципімен және қайталанушылықпен толықтырылған императивті бағдарламалау [30].
Ең бірінші программалау тілі болып Short Code (1949) саналды. XX ғасырдың 50-ші жылдарында пайда болған жоғары деңгейдегі программалау тілдері болып ФОРТРАН, КОБОЛ және АЛГОЛ саналады. Фортран мен Коблон әлі күнге дейін пайдаланылады, ал Алгол болса бірталай тілдердің (олардың ішінде паскаль тілі де бар) негізгі болып табылады. Кәзіргі уақытта программалау тілдерінің саны бірнеше жүз құрайды. 1970 ж программалау әлемінде кемінде екі маңызды оқиға болды, олар: UNIX- операциялық жүйесінің және Паскаль атты жаңа программалау тілінің пайда болуы. Бұл тілді алғашқыда жалпы программалауды оқыту мақсатымен құрастырған Швейцариядағы жоғарғы политехникалық мектебінің Инфрматика институтының директоры, профессор Никлаус Вирт (1968-1971жж). Жаңа программалау тіліне француз математигі, физигі және философы, көрнекті ғалым Блез Паскаль (1623-1662жж) есімі берілді. Кейіннен осы тілдің бірталай түрлері және толықтамалары пайда болды. Олардың ішінен кеңінен таралған BORLAND компаниясының Turbo Pascal - пакеті. Программа құрастырудың сапасымен жылдамдығын арттыру үшін 80-ші жылдардың ортасында Турбо Паскаль атты программалау жүйесі дүниеге келді. Турбо деген сөз Borland International.Inc. (АҚШ) фирмасының сату таңбасының бейнеленуі. Сонымен қатар Turbo Pascal тілі компьютерлік графиканы пайдалануға, дыбыспен жұмыс істеуге, жүйелік программалауға үлкен мүмкіндіктер береді. Бүл тілдің программистер арасында кеңінен таралуына келесі себептер болды: Паскаль тілі өзінің икемді сипатталуына байланысты оқушылардың игеруіне өте оңай және жылдам.Алгоритмдердегі концепцияны программа түрінде бейнелеуге түрлі программалық құралдар мен мүмкіншіліктерін ұсынады. Программада пайдаланатын айнымалылардың алдын ала сипатталынуы, программа, орындалмай түрып компиляция кезеңінде оның үйлесімділігін тексеру т.с.с. Паскаль - программаларының қасиеттері программаға деген "сенімділікті" арттырады. Паскальда қарапайым және икемді басқару құрылымдарының пайдаланулы: сызықтық, тармақталу, қайталану. Паскаль тілінің құрушысы Н. Вирттің айтуы бойынша: "...Паскаль тілінің тәжірибелік пайдалануы оның құндылығын әйгі етіп көрсетті: -- бұл тілде программа түзудің өте оңай екендігін; программаның жұмысын жөнге салудағы икемділігін; көптеген тәжірибелік мәселелердің шешімін тиімді жолдармен табу үшін ұсынылатын Паскаль тілінің техналогияларын, т.с.с...". Бұл тілді Н. Вирт біріншіден- программалауға жүйелік бапты енгізіп, автоматты түрде программа мен мәліметтердің бірлігін тексеру мақсатымен құрды, екіншіден- жаңа компьютерлік мәдениетті игерудегі оқу құралы ретінде. Паскаль тілінің маңызды ерекшелігі болып бұл тілдегі оператор мен операндтың бір- бірімен байланысы, яғни кез келген оператор тек белгілі бір операндтар тобына тән болады. Бұл жерде операндтар деп операторлар арқылы түрлі өңдеуге түсетін бастапқы мәліметтерді атаймыз. Осының жалғасы - Паскаль тіліндегі мәліметтермен айнымалылардың типтеліну концепциясы болады. Типтеліну коцепциясының мағынасы неде? Көптеген программалау тілдерінде операторлардың әрекеттеріне байланысты барлық бастапқы мәліметтер бірнеше класқа немесе типтерге бөлінеді. Сондықтан тілдің барлық операторлары да өздеріне тән типті мәліметтермен жұмыс атқара алатын болады. Сонымен операторлар тобы мен операндтар тобы бір- бірімен нық байланысты болатын тіл элементтерін құрайды. Программалар белгілі бір мәселені, есепті шешуге арналған. Есеп шығару барысында компьютерге бастапқы мәліметтер енгізіледі, оларды қалай өңделетіндігі көрсетіледі және нәтиже қандай түрде, қандай құрылғыға шығарылатыны айтылады. Паскаль тілінде программа жеке -- жеке жолдардан тұрады. Оларды теру, түзету арнайы мәтіндік редакторлар атқарылады. Программа алдындағы азат жол немесе бос орын саны өз қалауымызша алынады. Бір қатарда бірнеше команда немесе оператор орналаса алады, олар бір -- бірімен нүктелі үтір (;) арқылы ажыратылып жазылады, бірақ бір жолда бір ғана оператор тұрғаны дұрыс, ол түзету жеңіл, әрі оқуға ыңғайлы [5].
Паскаль тілінде программа үш бөліктен тұрады: тақырып, сипаттау бөлімі және операторлар бөлімі.Кез келген программаның алғашқы жолы PROGRAM сөзінен басталатын оның тақырыбынан тұрады. Одан кейін программаның ішкі объектілерінің сипаттау бөлімі жазылады. Бұл бөлім программадағы айнымалылар, тұрақтылар тәрізді объектілердің жалпы қасиеттерін алдын ала анықтап алуға көмектеседі. Сипаттау бөлімі бірнеші бөліктерден тұрады, бірақ программаның күрделілігіне байланысты көбінесе ол бір немесе екі ғана бөліктен тұруы мүмкін. Программаның соңғы және негізгі бөлімі операторлар бөлімі - болып табылады. Орындалатын іс -- әрекеттер, командалар осы бөлімде орналасады. Ол begin түйінді сөзінен басталып, бірақ атқарылатын операторлар (командалар) тізбегі жеке -- жеке жолдарға жазылып біткен соң end түйінді сөзімен аяқталады. Операторлар бөлімінде командалар ретімен орналасады. Олардың кейбірі шартқа байланысты атқарылса, ал кейбір қайталанатын цикл немесе қосымша программа түрінде орындалады. Операторлар бөлімінде орнатылатын негізгі әрекеттерді қарастырайық. Деректер -- сан мәндері мен мәтін түріндегі сөз тіркесін мән ретінде қабылдай алатын тұрақтылар, айнымалылар т.б. осы тәрізді құрылымдар немесе солардың адрестері. Дерек енгізу -- бастапқы деректерді пернетақтадан, дискіден немесе еңгізу -- шығару порттарынан еңгізу арқылы жүзеге асады. Операциялар немесе амалдар -- берілген және есептелген мәндердің меншіктеу, соларды өңдеу, салыстыру операцияларын орындайды. Шартты түрде атқарушы белгілі бір көрсетілген шарттың орындалуына байланысты, командалар жиыны атқарылады, әйтпесе олар аттап өтіледі немесе басқа командалар жиыны орындалады. Цикл -- белгілі бір шарттар орындалған жағдайда көрсетілген командалар жиынын бірнеше рет қайталанып атқарылады. Қайталау саны бүтін санмен беріледі. Көмекші программа -- алдын ала қандай да бір атаумен атымен атымен аталған командалар тобы. Олар программаның кез келген жерінен оның атауын көрсету арқылы шақырылып атқарыла береді. Түсініктеме - программа жолдары соңында немесе оның түйінді сөздері арасында қазақша (орысша) түсінік беретін пішінді жақшаға алынып жазылған сөз тіркесітері. Олар программа операторларының орындалуына ешқандай әсер етпейді [6].
1.1 Бағдарламалау тілдері және түрлері
Бағдарламалау тілі деп - деректерді жазуға және оларды белгілі ережелер бойынша өңдеуге арналған адам мен компьютерді байланыстыратын формальды тілді айтамыз. Программалау тілдері - жасанды тілдер. Қазіргі кезде 3500-ден жоғары әр түрлі программалау тілдері бар және осылардың ішінен шектелген саны ғана программалық бөлімді құруға қолданылады. Программалау тілдерінің саны көп болуына байланысты олардың бірнеше классификациясы бар. Оның ішінде негізгі 2 түрге: фукционалдық мәніне (қызметі) және қолданылатын программалау технологиясына байланысты бөлінеді. Программалау тілдері фукнционалдық мәніне байланысты 4 үлкен классқа бөлінеді:
- программалауға үйретуші;
- жалпы мәнді;
- проблемалық-бағытталған;
- параллель бағдарламашы.
Процедуралық-бағдарланған бағдармалау тілі -- белгілі бір мәселелер класын шешу бағдарламасын сипаттауға арналған тіл. Бұл тілде мамандар кәсіптік терминдер түрінде ЭЕМ үшін тапсырмалар құрастыра алады, әрі онда мәселені шешу үшін орындалатын нақты қадамдар міндетті түрде көрсетіледі. Программаларды жасауда қазіргі заманғы компьютерлерде әр түрлі деңгейдегі программалау тілдері пайдаланылады.
Қазіргі жоғары деңгейлі тілдерді осы классификацияға сәйкес қарастырамыз. Программалауға үйретуші тілдер қатарына жататын жоғарғы деңгейлі тілдердің негізгілері Logo, Basic және Pascal. Logo тілі 60-шы жылдардың аяғында С.Пейперттің басшылығымен құрылды және ЭЕМ жаңа қолданушыларға, балаларға программалаудың негізін үйретуге бағытталған. Үйретуге арналған жоғары деңгейлі тілдердің ішіндегі кең тарағаны 1965 жылы Д.Кемени мен Т.Курц құрған - Basic тілі. Ол Дербес компьютерлерге бірінші қолданылған жоғарғы деңгейлі тіл болып табылады. 60-жылдардың ортасынан бастап мамандар арасында құрылымдық программалау мәселесі көтеріле бастады. 1971 жылы Н.Вирт құрылымдық технологияға үйретуші Pascal тілін құрды. Жалпы мәнді жоғары деңгейлі тілдер қатарына әр түрлі класс есептерін тиімді программалауға бағытталған тілдер жатады. Си тілін 1972 жылы Д.Ритчи құрды және Unix операциялық жүйесі осы тілде жазылды. Си тілі ассемблер тілінің де және жоғары деңгейлі тілдің де мүмкіндіктерін қамтамасыз ететін болғандықтан орта деңгейлі тіл деп атайды [7].
Барлық программалау тілдерін төмен және жоғары деңгейлі программалау тілі деп бөлуге болады. Төмен деңгейлі программалау тілі аппаратураның анықталған түріне арналған. Программаны құру микропроцессордың архитектурасын және компьютердің құрылғыларын жақсы білуді талап етеді. Бұндай тілдегі программа машина тілінде жазылған қарапайым командалардан тұрады (мысалы, Ассемблер тілі). Жоғары деңгейлі программалау адамға жақын анықталған жүйе көмегімен компьютерге команда беруге мүмкіндік береді (мысалы, Бейсик, Паскаль, Фортран, Си). Осы тілде жазылған программа мәтіні компьютерге түсінікті емес, сондықтан оны машина тіліне аудару керек. Жоғары деңгейлі тілдер көптеген алгоритмдерді үйреншікті математикалық амалдардың жазылуына жақын ыңғайлы түрде жазып түсіндіруге мүмкіндік береді. Бұл тілдерді пайдалану программалаудағы кездесетін қиындықтарды азайтады.
Жоғары деңгейлі тілдерді программа жасауда пайдалану 60-шы жылдары басталды. Содан бері бүгінгі күнге дейін белгілі есептерді шешуге арналған әмбебап, сондай-ақ бағдарланған көптеген әртүрлі тілдер жасалып пайдаланылып келеді.
Қазіргі кезде жоғары деңгейлі программалау тілдері былай бөлінеді:
- процедуралық;
- логикалық (ЛИСПЫ, ПРОЛОГ т.б.);
- объекті-бағытталған (С++, Java т.б.).
Қысқа программаларды жасауда процедуралық программалау тілдерін пайдалану ыңғайлы.Логикалық программалау тілдерін алгоритмдерді теориялық зерттеуде жасанды интеллекті оқытып үйрену жұмыстарында деректер базасымен жасалатын операцияларда өндіріс объектілерін және әскери бөлімдерді басқару жүйелерін басқаруда, ал объектік-бағдарланған программалау тілдерін бәрінен де үлкен және күрделі программаларды (Мысалы, компьютерлік ойындарда), жасақтауда пайдаланған жөн.
Келесі кезекте қолданыста жүрген программалау тілдеріне қысқаша тоқталып өтсек:
BASIC программалау тілі алғаш рет 1985 жылы АҚШ-та жасалған. Бұл тіл қазіргі кезде өзінің өте қарапайымдылығына байланысты дүние жүзіне көп таралған тілдердің бірі. Ол оңай әрі жеңіл меңгерілетіндігімен ғана ерекшеленіп қоймайды, сонымен бірге компьютермен адам арасындағы қарым-қатынансты диалог түрінде жүргізуге мүмкіндік беретін өте ыңғайлы тіл болып саналады. Сондықтан да бұл бұл тіл қазіргі кезде шығарылатын барлық дербес компьютерлерге кеңінен қолданылады [8].
Тurbо Раsсаl - жоғары деңгейлі программалау жүйесі. Оның тұңғыш нұсқасын 1970 жылы швейцария физигі Никлаус Вирт ұсынған. Автор тілді алғашқы арифметикалық есептеу машинасын жасаған француздың ұлы ғалымы Блез Паскальдің құрметіне Паскаль деп атаған. Паскаль тіліндегі программа жеке-жеке жолдардан тұрады. Оларды теру, түзету арнайы мәтіндік редакторлар арқылы атқарылады. Программада әрбір жолдан кейін нүктелі үтір (;) қойылады. Паскаль тілінде программа үш бөліктен тұрады: тақырып, сипаттау бөлімі және операторлар бөлімі. Кез-келген программа Program сөзінен басталып, оның тақырыбы жазылады. Бұл бөлім программадағы айнымалылар, тұрақтылар тәрізді объектілердің жалпы қасиеттерін алдын ала анықтап алуға көмектеседі. Программаның соңғы және негізгі бөлімі операторлар бөлімі - болып табылады. Орындалатын іс-әрекеттер, командалар осы бөлімде орналасады. Ол begin түйінді сөзінен басталып, барлық атқарылатын операторлар (командалар) тізбегі жеке-жеке жолдарға жазылып біткен соң end түйінді сөзімен аяқталады [9].
Си тілі өткен ғасырдың 70-жылдары басында АҚШ-та Bell Telephon Laboratories компания-сының қызметкері Дэннис Ритчидің бастауымен дүниеге келді. Бұл тілдің негізі Алголдан басталып, Си және ПЛ1 тілдерімен қатар пайда болды. Си тілінің шығуы UNIX операциялық жүйесінде программалаумен тығыз байланысты, өйткені бұл жүйе ассемлерде және осы Си тілінде жазылып шыққан болатын. Бұл тілде жазылған программаны компьютерде орындау кезінде ол алдымен трансляция сатысынан өтіп (машина тіліне аударылып), объектілік программа түріне ауысады да, сонан кейін барып орындалады. Осы сәтте компьютерде программаның екі нұсқасы болады, оның біріншісі - Cи тіліндегі алғашқы нұсқасы, ал екіншісі - объектілік кодтағы машина тілінде жазылған программа. Есептің нәтижесін тек машиналық кодта жазылған eh.html"программа арқылы аламыз, ал программаны түзету қажет болғанда оның алғашқы нұсқасы өңделіп, оны қайта түрлендіру сатысы жүзеге асырылады.
С++ тiлi BCPL және B тiлдердiң негiзiнде құралған және Си тiлiнен дамыған. Си++ Си тiлiнiң кеңейтiлген түрi. Оны 1980 жылдың басында Бъерн Строустроп Bell Laboratories-сында өңдеп шығарған. Си++ тiлi Си тiлiнiң бiрқатар қасиеттерiн реттеудi қамтамасыз етедi және ең маңыздысы объектi-бағдарланған бағдарламалық мүмкiндiгiн қамтамасыз етедi. Бұл бағдарламамен қамтамасыздандыру әлемiндегi революциялық идея болып табылады.
Java - Sun Microsystems компаниясының жасап шығарған объектіге бағытталған программалау тілі. Java қосымшалары әдетте арнайы байт-кодта компиляцияланады,сол себепті олар кез келген виртуалды Java-машинасында компьютерлік архитектурасына тәуелсіз орындалады. Бұл тілдің негізгі ерекшелігі Java-дағы бағдарламалар байттық кодты өңдейтін және жабдықтамаға нұсқамаларды беретін интерпретатор болып табылатын Java виртуалды машинасында орындалатын байт-кодқа трансляцияланады. Веб-қолданбалар немес дербес компьютерлерге арналған программалар жазуда Java жиі қолданылады. Java - онымен қоса, Android платформасыны арналған ойындар жазу үшін пайдаланылатын негізгі тіл [10].
Delphi - Windows жүйесіндегі программалаудың ыңғайлы құралы.Онда көптеген операторларды пайдаланып программа дайындау,программа мәзірін құру,анимация және тағы басқа да іс-әрекеттерді орындауда мүмкін. Delphi екі түрде даындалған: біріншісі-күрделі қосымшаны бірлесіп дайындаушылар үшін, екіншісі-қалған программалаушылар үшін. Соңғысы ыңғайланып, қысқартылып алынған. Сонымен қатар Delphi жүйесі Windows амалдық жүйесі үшін және арнайы серверлер үшін бағдарламаларды жасай алады.
Бағдарламалау тілдері және негізгі классификациясы
Қазіргі кезде 3500-ден жоғары әр түрлі бағдарламалау тілдері бар және осылардың ішінен шектелген саны ғана бағдарламалық бөлімді құруға жаппай қолданылады. Бағдарламалау тілдерінің саны көп болуына байланысты олардың біршене классификациясы бар. Оның ішінде негізгі 2 түрге: фукционалдық мәніне (қызметі) және қолданылатын бағдарламалау технологиясына байланысты бөлінеді. Бағдарламалау тілдері фукнционалдық мәніне байланысты 4 үлкен классқа бөлінеді:
- бағдарламалауға үйретуші;
- жалпы мәнді;
- проблемалық-бағытталған;
- параллель бағдарламалаушы.
Қазіргі жоғары деңгейлі тілдерді осы классикацияға сәйкес қарастырамыз.
Жалпы мәнді жоғары деңгейлі тілдер қатарына әр түрлі класс есептерін тиімді программалауға бағытталған тілдер жатады. Бұл классқа жататын тілдердің негізгілері C, Modula, Ada тілдері. Бұл тілдердің негізі 1966 жылы құрылған, ғылыми, пәндік облыстағы есептерді программалауға мүмкіндік беретін PL1 тілі. PL1 тілі ЖС ЭЕМ сериялы модельдерде кеңінен қолданылды. Си тілін 1972 жылы Д.Ритчи құрды және Unix операциялық жүйесі осы тілде жазылды. Си тілі ассемблер тілінің де және жоғары деңгейлі тілдің де мүмкіндіктерін қамтамасыз ететін болғандықтан орта деңгейлі тіл деп атайды. Pascal тілінің идеологиясын тарату мақсатымен Н.Вирт 1980 жылы Modula - 2 тілін құрды. Бұл программалау тілінің негізі - программа бір-біріне тәуелсіз модульдерден тұрады [11].
1978 жылы қазіргі АҚШ-та әскери қаруды басқаруға қолданылатын қосымшаларды программалуға арналған Ada тілі құрылды. Ada тілі құрылымды программалау тілі болып табылады және параллель программалау мүмкіндіктерін қамтамасыз етеді.
Проблемалық - бағытталған жоғары деңгейлі тілдер деп нақты пәндік облыс есептерінің мәселесін түгел қамтитын тілдерді атаймыз. Бұл классқа жататын бірінші жоғары деңгейлі тіл - Fortran тілі. Fortran-I тілін 1956 жылы IBM фирмасы құрды және ғылыми-техникалық есептерді шешуге арналған.
Жасанды интеллект символдық информацияларын және тізімдерін өңдеуге арналған есептерді программалауға Lisp, Prolog тілдері қолданылады. Lisp тілін 50-жылдары Д.Макартни құрды. 70-жылдары Lisp тілінің негізінде құрылған Prolog тілі логикалық программалау тілі болып табылады және 5 буынның ЭЕМ жапон проектісінде негізгі тіл болып таңдалған. Әр Prolog программа жәй тұжырымдар немесе импликациялардан тұратын сөйлемдерден тұрады, инструкция қолданылмайды.
Дәстүрлі неймандық архитектурадан ЭЕМ дәстүрлі емес параллель архитектуралы есептеу машиналарына көшуіне байланысты параллель алгоритмдерді сипаттаушы инстументальды құрылғылар пайда бола бастады. Параллель программалау тілдерінің негізі - параллель есептеулерді программалау процесін ықшамдау, параллель архитектуралы есептеу машиналарына арналған параллель программалық жүйелердің тиімдісін алу. Параллель программалауды жабдықтаудың қиындығы тиімді параллель жөндеушілерді құру. Қазіргі кезде қолданылып жүрген интерактивті параллель жөндеушілер IPSC (Intel фирмасының дербес компьютерлеріне арналған) және PDBX (мультипроцессорлы ЭЕМ арналған). Жиі қолданылатын векторлы матрицалық есептерге параллель программалар кітапханасы құрылған, BLAS- сызықтық алгебра программаларының кітапханасы, NAG - сандық алгоритмдер кітапханасы. Бұл есептерге белгілі матрицалы параллельдеушілер ProSolvar (Intel фирмасы) және жалпы мәнді параллельдеуші Parafrace (Д.Кук құрған) қолданылады [12].
2 Интерфейстер
Компьютерлік жүйе интерфейстерінің кешені. Компьютерлік жүйе интерфейстерінің өзара байланыстары. Интерфейстердің анықтамасы. Интерфейстер өзектілігі.
Қарастырылатын негізгі мәселе - пайдаланушылық интерфейстер және олардың қосымша деңгейінің программалы-аппараттық интерфейстері арасындағы байланыстары болып табылады. Осы мәселеге қызығушылық тек есептеу техникасы мамандарының ғана емес, сонымен қатар эргономисттердің, психологтардың, социологтардың және графикалық жүйелерді жасаушылардың да қызығушылығын туғызып отыр. Тәжірибе көрсеткендей, компьютерлік жүйелердегі көптеген қолданбалы есептерді шешу үшін интерфейсті таңдау мен (немесе) құрастырудағы проблемаларды толығымен, жан-жақты қарастыру қажет.
Пайдаланушылық және программалы-аппараттық интерфейстерді құру технологиялары кешенді түрде қарастырылуы тиіс.
Соңғы жылдары адам-компьютер жүйесінде интерфейсті ұйымдастыру айтарлықтай дамып, логикалық аяқталуына келді. Интерфейсті жалпылама құрылым түріндегі функциясы бар бірнеше бөлікке бөлуге болады. Мұндай интерпретация әр құрылымның құрылысын түсіндіреді және оларды қолдану принциптерін негіздеуге мүмкіндік береді. Мысалға, интерактивті Web-қосымшаларды жобалауда, жасаушыларға бірнеше интерфейстерді таңдауға тура келеді:
- пайдаланушының клиенттік программамен өзара қарым-қатынас деңгейдегі интерфейсі;
- клиенттік машинамен сервер машина арасындағы өзара қарым-қатынас деңгейдегі интерфейспен;
- сервердің шеттік программамен немесе басқа сервермен өзара қарым-қатынас деңгейдегі интерфейсі;
Мысалға, WEB-қосымшаны құрған кезде, бірінші интерфейс WUI (Web user interface) компонентін таңдау және негіздеумен іске асырылады. Ал екіншісі серверге сұраныс жіберу әдісін таңдаумен, үшіншісі CGI-ді (Common Gateway interface) пайдаланумен немесе SQL-сұраныстарды қолданумен іске асырылады.
Компьютерлік жүйелер интерфейсі түсініктемесінің бірнеше анықтамасы бар, солардың бірнешеуін айтайық. Қатынас интерфейсі қандайда бір есептерді шығару үшін, адам мен ЭЕМ арасында сенімді қатынасты қамтамассыз ететін, аппаратты-программалық, ақпаратты көрсету құрылғылардың және ақпарат алмасу протоколдарының жиынтығы арқылы да анықталады. Компьютердің аппараттық интерфейсі ретінде ДК-ң кез келген периферийлік құрылғысының әр түрлі мінездемелер жинағын түсінеміз. Ол олардың арасында және орталық процессор арасындағы ақпарат алмасуды ұйымдастырады. Олар электрлік және уақыттық параметрлер, басқару сигналдар жинағы, деректер алмасу протоколы және қосылудың конструктивті артықшылықтары.
Осылайша, қосымшамен жұмыс істеп отырған пайдаланушы немен түйіседі, ол оның интерфейсі. Ойланбай жасалған интерфейс оның артықшылықтарын жоққа шығаруы мүмкін. Айтылғандардың барлығы локальді қосымшалар мен пайдаланушының тораптағы жұмысын қамтамассыз ететін қосымшаларға да қатысты. Интерфейс проблемасының маңыздылығы жөнінде келесі фактілерді айтуға болады. Американың Ұлттық Стандарттар Институтында (ANSI) осы бағыт бойынша арнайы кеңесшілер тобы - Адам - Компьютер интерфейсінің стандарттары бойынша комитеті (The Human-Computer Interface Standard Committee) бар. Мұндай ұйымдар тек АҚШ-та ғана емес, басқа да елдерде де бар. Сонымен қатар осы бағытта жұмыс істейтін Халықаралық зерттеу топтары да бар, мысалы, телеграфия мен телефония бойынша халықаралық кеңес беру комитет (International Telegraph and Telephone Consultation Committee). Олар өз кезегінде интерфейстің интерактивті элементтерінің ерекшеліктерін зерттейді.
Осы ұйымдардың немесе жұмыс тобының көбісімен кезінде пайдаланушылық интерфейстер стандарттары бойынша құжаттарының жобалары дайындалған және оларды жобалау мен іске асыру принциптері бар.
Адам-оператордың компьютерлік жүйелердегі орны.
Есептеу техникасын басқару жүйелерінде, ұйымдастыру, басқару мен конструктрлық қызметте, оқу процестерінде және ғылыми зерттеулерде пайдалану, компьютермен жұмыс істеуге адамзат қызметінің әртүрлі салаларындағы мамандарды іске ... жалғасы
Л.Н. Гумилев атындағы Еуразия ұлттық университеті
Әбжан Жәнібек Әлімұлы
Әртүрлі бағдарламалау орталарында жасалған мобильдік қосымшалар мен қолданбалы бағдарламалар үлгісінде интерфейстердің басқа бағдарламалау жүйелерімен қатынасын зерттеу
ДИПЛОМДЫҚ ЖҰМЫС
5B070400 - Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығы
Нұр-Сұлтан 2019
Қазақстан Республикасы Білім және ғылым министрлігі
Л.Н.Гумилев атындағы Еуразия ұлттық университеті
Қорғауға жіберілді
Есептеу техникасы
кафедрасының меңгерушісі
_____________ Н.Н. Ташатов
ДИПЛОМДЫҚ ЖҰМЫС
Тақырыбы: Әртүрлі бағдарламалау орталарында жасалған мобильдік қосымшалар мен қолданбалы бағдарламалар үлгісінде интерфейстердің басқа бағдарламалау жүйелерімен қатынасын зерттеу
5B070400 - Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығы бойынша
Орындаған
Ж.Ә. Әбжан
Ғылыми жетекшісі
аға оқытушы:
А.С. Тургинбаева
Нұр-Сұлтан 2019
Л.Н. Гумилев атындағы Еуразия ұлттық университеті
Ақпараттық технологиялар факультеті
5B070400 - Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығы
Есептеу техникасы кафедрасы
Бекітемін
Кафедра меңгерушісі __________ Ташатов Н.Н.
_____________ 20___ж.
Дипломдық жұмысты орындауға
ТАПСЫРМА
Студент Әбжан Жәнібек Әлімұлы
В4-70400-03, 5В070400 - Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығы
1. Дипломдық жұмыс тақырыбы Әртүрлі бағдарламалау орталарында жасалған мобильдік қосымшалар мен қолданбалы бағдарламалар үлгісінде интерфейстердің басқа бағдарламалау жүйелерімен қатынасын зерттеу
21.11.2018 ж. №1587-п бұйрығымен бекітілген
2. Аяқталған жұмысты тапсыру мерзімі _____________ 20___ж.
3. Алғашқы деректер (заңнамалар, әдебиет көздері, зертханалық-өндірістік деректер):
Алексеев В.Е. Вычислительная техника и программирование. М. Высшая школа-1991.
Камардинов. Есептеуіш техника және программалау. Алматы-1997.
И.Г. Семакин, А.П. Шестаков "Основы программирования" М, "Мастерство"-2001.
В.И. Касаткин "Информация, алгоритмы, ЭВМ". М. "Просвешение", 1991
4. Дипломдық жұмыста қарастырылған сұрақтар тізімі:
- Интерфейстер;
- Бағдарламалау жүйелері;
- Интерфейстердің мен басқа бағдарламалау жүйелерімен қатынасы.
5. Графикалық материалдар тізбесі (сызбалар, кестелер, диаграммалар және т.б.)
- 6 сурет
6. Негізгі ұсынылған әдебиет тізбесі:
Ефимова О., Моисеев М., Шафрин Ю. Компьютерные технологии.-М.,1997
Биллиг, В. Основы программирования на C# В. Биллиг. - М.: Бином. Лаборатория знаний, 2006. - 483 c.
Биллиг, В.А. Основы программирования на С#: Учебное пособие В.А. Биллиг. - М.: Бином, 2012. - 483 c.
7. Жұмыс бойынша кеңес беру (оларға қатысты жұмыс бөлімдерін көрсете отырып)
Тараудың, бөлімнің нөмірі, атауы
Ғылыми жетекші, кеңесші
Тапсыр-маны алу мерзімдері
Тапсырма берілді
(қолы)
Тапсырма қабылданды
(қолы)
1 Бағдарламалау туралы жалпы түсінік
Тургинбаева А.С.
02.12.2018-
12.12.2018
1.1 Бағдарламалау тілдері және түрлері
Тургинбаева А.С.
12.12.2018-
12.01.2019
2 Интерфейстер
Тургинбаева А.С.
16.01.2019-
25.02.2019
2.1 Бағдарламлау орталары
Тургинбаева А.С.
01.03.2019
31.03.2019
2.2 Бағдарламлау жүйелері
Тургинбаева А.С.
05.04.2019
12.04.2019
3 Android studio ортасында интерфейстің бағдарламалау жүйелерімен байланысы
Тургинбаева А. С.
15.04.2019
25.04.2019
4 Visaul studio ортасында интерфейстердің бағдарламалау жүйелерімен байланысы
Тургинбаева А.С.
26.04.2019
05.05.2019
Қорытынды
Тургинбаева А.С.
07.05.2019
07.05.2019
8. Дипломдық жұмысты орындау кестесі
№
Жұмыс кезеңдері
Жұмыс кезеңдерін орындау мерзімдері
Ескертпе
1
Дипломдық жұмыс тақырыбын бекіту
21.11.2018
№ 1587-П ректор бұйрығынмен бекітілген
2
Дипломдық жұмысты әзірлеу үшін материалдарды жинақтау
21.11.2018-
27.11.2018
Алғашқы деректерге сәйкес
3
Дипломдық жұмыстың теориялық бөлімін дайындау (1 тарау)
01.12.2018-
28.01.2019
Тәжірибеге кеткенге дейін
4
Дипломдық жұмыстың аналитикалық бөлімін дайындау (2-3 тараулар)
01.02.2019-
30.03.2019
Тәжірибе уақытында
5
Дипломдық жұмыстың толық мәтінінің алғашқы нұсқасын дайындау
01.04.2019-
20.04.2019
Тәжірибе аяқталғаннан кейінгі бірінші апта
6
Дипломдық жұмысты алдын-ала қорғауға ұсыну
25.04.2019-
20.05.2019
Шолу дәріс барысында (кеңес)
7
Дипломдық жұмысты пікір алу үшін ұсыну
22.05.2019-
26.05.2019
Кестеге сәйкес
8
Дипломдық жұмыстың соңғы нұсқасын дипломдық жетекші пікірі мен сыртқы пікірмен ұсыну
30.05.2019-
19.05.2019
Кестеге сәйкес
9
Дипломдық жұмысты қорғау
21.06.2019
Мемлекеттік аттестациялау кестесі бойынша
Тапсырманы беру уақыты _____________ 20___ж.
Ғылыми жетекшісі
аға оқытушы: _____________ А.С. Тургинбаева
Тапсырманы қабылдаған студент: _____________ Ж.Ә. Әбжан
МАЗМҰНЫ
Кіріспе 8
1 Бағдарламалау туралы жалпы түсінік ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..9
1.1 Бағдарламалау тілдері және түрлері 16
2 Интерфейстер 21
2.1 Бағдарламлау орталары 39
2.2 Бағдарламлау жүйелері 41
3 Android studio ортасында интерфейстің бағдарламалау жүйелерімен байланысы 44
4 Visaul studio ортасында интерфейстердің бағдарламалау жүйелерімен байланысы 46
Қолданылған әдебиеттер тізімі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... .51
Қосымша 53
Кіріспе
Интерфейс қолданушы мен бағдарлама арасындағы көпір болғандықтан бұл бағытта даму өзектілігі сөзсіз болып табылады. Ал интерфейс пен басқа бағдарламалау жүйелері арасындағы байланысты зерртеп оңтайландыру одан да маңызды орын алады. Бұрынғы бағдарламалау тілдеріндігі интерфейстер құру мәнері қазіргі заманда қолайлы конструкторлармен алмастырылған.
Компьютерлік жүйелер интерфейсі түсініктемесінің бірнеше анықтамасы бар, солардың бірнешеуін айтайық. Қатынас интерфейсі қандайда бір есептерді шығару үшін, адам мен ЭЕМ арасында сенімді қатынасты қамтамасыз ететін, аппаратты-программалық, ақпаратты көрсету құрылғылардың және ақпарат алмасу протоколдарының жиынтығы арқылы да анықталады. Компьютердің аппараттық интерфейсі ретінде ДК-ң кез келген перифериялық құрылғысының әр түрлі мінездемелер жинағын түсінеміз. Ол олардың арасында және орталық процессор арасындағы ақпарат алмасуды ұйымдасгырады.
Соңғы жылдарда компьютерлік жүйелерді көптеп қолдануда. Басты себептерінің бірі пайдаланушы мен программалық қосымшаның өзара қарым-қатынас интерфейстерінің рөлі зор. Жалпы алғанда, интерфейс түсінігі кең мағыналы және компьютерлік технологиялардың әр турлі салаларында қолданылады. Соңғы жылдары адам-компьютер жүйесінде интерфейсті ұйымдастыру айтарлықтай дамып, логикалық аякталуына келді. Интерфейсті жалпылама құрылым түріндегі функциясы бар бірнеше бөлікке бөлуге болады. Мұндай интерпретация әр құрылымның құрылысын түсіндіреді және оларды қолдану принциптерін негіздеуге мүмкіндік береді.
Интерфейстердің басқа бағдарламалау жүйелерімен әрдайым қатынаста жұмыс істейді. Осы жұмыста көп деңгейлі байланыстың, интерфейстің әр бағдарламалау ортасымен жеке-жеке қатынасын зерттеу мақсатында visual studio, android studio сияқты танымал бағдарламалау орталарында мысал көрсетілген.
Қарастырылатын негізгі мәселе - пайдаланушылық интерфейстер және олардың қосымша деңгейінің программалы-аппараттық интерфейстері арасындағы байланыстары болып табылады. Осы мәселеге қызығушылық тек есептеу техникасы мамандарының ғана емес, сонымен қатар эргономисттердің, психологтардың, социологтардың және графикалық жүйелерді жасаушылардың да қызығушылығын туғызып отыр. Тәжірибе көрсеткендей, компьютерлік жүйелердегі көптеген қолданбалы есептерді шешу үшін интерфейсті таңдау мен (немесе) құрастырудағы проблемаларды толығымен, жан-жақты қарастыру қажет.
Пайдаланушылық және программалы-аппараттық интерфейстерді құру технологиялары кешенді түрде қарастырылуы тиіс.
Осы күнде адам мен компьютерлік жүйе қатынасын ұйымдастыруда кең ауқымды програмалық және аппараттық құрылымдар бар. Қарым қатынастың салттық түрінен басқа тілдік сұхбат пен қарапайым тілдегі сұхбаттар жүйесі құрастырылуда. Осыны ескере отырып, басқа да негізгі мәселелердің бірі - қолданбалы программаларда адам мен ЭЕМ арасындағы қатынасты жобалау процесстерін ұйымдастыру болып табылады. Қолданбалы интерфейсті құру сұрақтарында инженерлік психология негізгі орын алады.
Соңғы жылдары адам-компьютер жүйесінде интерфейсті ұйымдастыру айтарлықтай дамып, логикалық аяқталуына келді.
Қосымшамен жұмыс істеп отырған пайдаланушы немен түйіседі, ол оның интерфейсі. Ойланбай жасалған интерфейс оның артықшылықтарын жоққа шығаруы мүмкін. Айтылғандардың барлығы локальді қосымшалар мен пайдаланушының тораптағы жұмысын қамтамассыз ететін қосымшаларға да қатысты. Интерфейс проблемасының маңыздылығы жөнінде келесі фактілерді айтуға болады. Американың Ұлттық Стандарттар Институтында (ANSI) осы бағыт бойынша арнайы кеңесшілер тобы - Адам - Компьютер интерфейсінің стандарттары бойынша комитеті (The Human-Computer Interface Standard Committee) бар. Мұндай ұйымдар тек АҚШ-та ғана емес, басқа да елдерде де бар. Сонымен қатар осы бағытта жұмыс істейтін Халықаралық зерттеу топтары да бар, мысалы, телеграфия мен телефония бойынша халықаралық кеңес беру комитет (International Telegraph and Telephone Consultation Committee). Олар өз кезегінде интерфейстің интерактивті элементтерінің ерекшеліктерін зерттейді.
Осы ұйымдардың немесе жұмыс тобының көбісімен кезінде пайдаланушылық интерфейстер стандарттары бойынша құжаттарының жобалары дайындалған және оларды жобалау мен іске асыру принциптері бар.
Сапалы интерфейсті құру "пайдаланушы мүддесі бәрінен де артық" принципін және соған сәйкес бүкіл программалық өнімді құру әдістемесін іске асыруды қарастырады.
1 Бағдарламалау туралы жалпы түсінік
Бағдарламалау технологиясының дамуы компьютерлік техниканың дамуымен тығыз байланысты. Бірінші ЭЕМ ENIAC 1946 жылы жасалды. ЭВМ-нің өнімділігі секундына 500 мың амалдар көрсетіп, 100 шаршы метрлік ғимаратта орналасқан. Ол АҚШ ӘТК снарядтың ұшу бағытын анықтауға арналған болды. Кейін ЭЕМ қуатын арттырып, көлемін кішірейту жолмен компьютерлік техникалар дами бастады. ЭЕМ даму эволюциясы микроэлектрониканың дамуымен тығыз байланысты. 1-суретте ЭЕМ даму эволюциясы электронды компоненттердің дамуы бойынша көрсетілген.
Сурет 1 ЭЕМ даму революциясы.
ЭЕМ-ның бір буынынан басқа буынға асуы текэлементтік қорды жетілдірумен сипатталып қана қоймайды және ЭЕМ-нің құрылымыныңөзгеруімен, олардың фукнкционалды-техникалық мүмкіндіктерінің және тұтынымдық сипаттамаларының өсуімен бейнеленеді.
Бірінші буынның ЭЕМ-дері электронды лампалардан құрылды. Сыртқы есте сақтау құрылғылары ретінде магнитті барабандар қолданылды. Олардың өнімділігі мен сенімділігі төмен болды.
Бірінші ЭЕМ-дер тек әр ЭЕМ-ге (тілдердің 1-ші буыны) тән машиналық командалар тілін түсінді. Барлық командалар цифрлармен берілді және олардымүмкін емес еді.
ЭЕМ командалар жүйесін және пішімдерін білу талап етілді. Мысалы, екі адресті команданың пішімі келесідей болды
МИНСК - 22 ЭЕМ-нің бағдарламасының жолы былай көрінеді
10-ға тең амалдың коды 2000 ұяшығының мазмұнын 2001 ұяшығына қосып, нәтижесін бірінші адрес бойынша орналастыру дегенді білдіреді. Осындай технология үшін тапсырма алгоритмі қарапайым әрекеттерге ұсақталды және бағдарламашы жад ұяшығында не барын білуі тиісті болды. Бұл жұмыстыең көп қажет ететін технология болды және бағдарламашыдан жоғары біліктілікті талап етті.
Екінші буынның ЭЕМ-дері жартылай өткізгішті аспаптардан (диодтар, транзисторлар) құрылды. Құрылымдық негіз ретінде баспа тақтасы қолданылды. Сыртқы ЕСҚ магнитті лентада орындалды.
Сандық код әріптік кодқа алмастырылып, ал ұяшықтар адрестері шартты немесе әріптік бола алатын ASSEMBLER (тілдердің 2-буыны) тілі пайда болды.
Алдыңғы мысалдың жазбасы келесі түрдегідей болды: ADD a b
Ассемблердің басты артықшылығы бағдарламашының ЭЕМкомандалар жүйесін білу және ЭЕМ жадын оналастыру үшін ұяшықтар нөмерін көрсетудің қажет еместігінде.
Ассемблер тілі адрестердің символдық белгілерін және амалдардың мнемоникалық кодтарын қолданады. Мысалы: ADD - қосу; MOV - жіберілу. ЭЕМ тек машина кодын түсінетіндіктен ассемблер тілінен аударатын транслятор пайда болды.
ЭЕМ-ге бағдарламаны енгізгеннен соң транслятор Ассемблер тілін ЭЕМ түсінетіндей етіп машиналық командалар тіліне аударды. Дегенмен, Ассемблер пайда болғаннан кейін де әзірлеу өте үлкен еңбекті қажететті және есептеулердегі қажетті талаптар көлемін қамтамасыз ете алмады.
Үшінші буынның ЭЕМ-дерінде элементті қор ретінде интегралды сұлбалар қолданылды (ИС). Құрудың модульді қағидасы қолданылды. Сыртқы ЕСҚ ретінде магнитті ленталардағы және қатқыл дисктердегі жинақтаушылар пайдаланылды. Габариттер және энергиятұтыну азайтылғанда ЭЕМ-нің сенімділігі және өнімділігі едәуір артты. Үшінші буынның ЭЕМ ерекше уәкілдеріне ДЖ ЭЕМ және ШЖ ЭЕМ. ЭЕМ негізгі бағдарламалық қамтамасыз етудің және бірнеше бағдарламаның бір мезетте орындалу мүмкіндігінің болуымен сипатталады.
ДЖ ЭЕМ ғылыми-техникалық, экономикалық және ақпараттық-басқарушы тапсырмаларды шешуге арналған әмбебап ЭЕМ-нің тұқымдасы болып табылады.
ШЖ ЭЕМ - технологиялық процестерді басқарудың автоматтандырылған жүйелерінде қолдануға арналған мәселелерге бағытталған шағын ЭЕМ-нің тұқымдасы.
Бағдарламалауға қажетті еңбекті азайтудағы келесі қадам - жоғары деңгейдегі тілдердің пайда болуы.
1955 ж. жоғары деңгейлі FORTRAN (FORMULA TRANSLATOR) - ғылыми есептеулер тілі пайда болды.
1960 ж. Алгол (Algoritmic Language) пайда болды.
1965 ж. Basic (Beginner's All purpose Symbolic Instructions Code) пайда болды. Авторлары Курт пен Кемени.
1970 ж. Никлаус Вирт студенттерді бағдарламалауға үйрететінПаскаль тілін жасады.
1972 ж. Си тілі (автор Денис Ричи) пайда болды.
1980 ж. 3-ші буынның ең мықты тілі - Ада пайда болды.
3-ші буынның бағдарламалау жүйесі пайдаланушыға бағдарламаны әзірлеугемықты және қолайды құралдарды береді.
- компилятор және интерпретатор;
- редактор;
- кітапханалар;
- көмекші бағдарламалар (ретке келтірушілер, қателерді, қарама-қарсы сілтемелерді және т.б. табатын бағдарламалар).
3 - буынның жоғары деңгейдегі тілдері екі үлкен класқа бөлінеді:
- Әмбебап;
- Мәселелерге бағытталған.
Біріншілер тапсырмалардың кез келген кластарын шешуге мүмкіндік береді, екіншілері - арнайы тапсырмаларды шешуге арналған.
Жоғары деңгейдегі бағдарламалау тілдері пайда болысымен бағдарламаларды әзірлеу шапшаңдығы айтарлықтай артты, бағдарламаны құруға кететін уақыттың 80% құрайтын ретке келтіру процесін автоматтандыру мүмкіндігі пайда болды.
Үшінші буындағы тілдерінде қосукомандаларын жазу мысалын қарастырайық.
Basic тілінде қосу командаларыжазбасының мысалы шамамен мынадай:
Y = a+b
Pascal тілінде қосу командалары жазбасының мысалы шамамен мынадай:
Y:= a+b
C++ тілінде қосу командаларыжазбасының мысалы шамамен мынадай:
Y=a+b
Мысалдарда көрініп тұрғандай командалар жазбасы адамға үйреншікті жазбаға максималды ұқсастырылған.
Нақты бағдарламалау тілін таңдау шешілетін тапсырманың класына тікелей тәуелді. Жүйелік бағдарламалау тапсырмалары көп еңбекті талап ететінретке келтіруге қарамастан дәстүр бойынша С++ тілінде шешіледі. Қолданбалы сипаттағы тапсырмалар PASCAL және BASIC тілдерінде шешіледі.
Төртінші буынның ЭЕМ-дерінің басты ерекшелігі - ҮИС (БИС) мен АҮИС (СБИС) кең қолданылуларында. Бұл ЭЕМ-нің техникалық-экономикалық көрсеткіштерінің бірден өсуіне мүмкіндік берді.
Микропроцессордың (МП) пайда болуымен есептеуіш техникасының жаңа дәуірі басталды. Бір кристалда орындалған МП сыртқы құрылғыларынан басқа ЭЕМ-ң барлық элементтерін қамтыды. МП негізінде құрылған ЭЕМ-н микро-ЭЕМ деп атайды. Олар өте кішкентай, жұмыс столындакөп орын алмайды, пайдалануда еш қиындық тудырмайды және арнайы шарттар қажет етпейді.
Төртінші буынға бағдарламалық қамтамасыздандыруды басқару мәселелік-бағытталған тілдері жатады. Бұлмәселелік-бағытталған тілдер Visual Basic, Delphi, C++, Java. Осы тілдердің артықшылығы компьютерлік желілерде, Интернетте жұмыс істеуге арналған қосымшаларды құру мүмкіндігі және бағдарламалаудың түрлі элементтерімен объектретінде жұмыс істеу мүмкіншілігі болып табылады [1].
Бағдарламалаудың OLE, ActiveX, COM, DCOM және басқалар сияқты жаңа технологиялары пайда болды [2].
Сонымен, машиналық тілдердің өркениеті шынайы тілдер бағытында жүріп жатыр. Идеалды шешім - қолданушы өз мәселесін шынайы тілде құрастырады, ал өзгесін ЭЕМ орындайды.
2-суретте бағдарламалау тілдерінің өркениеті көрсетілген.
Сурет 2 Бағдарламалау тілдерінің өркениеті.
1982 жылы IBM фирмасы дербес компьютерлердің (ДК) бірінші партиясын шығарды, олардың пайдаланушылық мүмкіншіліктері мен құрылыстық-технологиялық шешімдеріне қарап, бесінші буын ЭЕМ-на жатқызуға болады.
Бағдарламалау, программалау - 1. есептерді ЭЕМ-де шешу үшін кезектесе орындалатын командалар тізбегіне келтіру процесі. Ол есептерді шешу алгоритміне сәйкес бағдарлама жасаудан, оны жөндеуден және қолдану барысында жетілдіру кезеңдерінен тұрады; 2. Ақпараттанудың үшін бағдарлама жасау тәсілдерін, сондай-ақ оны жөндеуді және жетілдіруді зерттейтін саласы. Бағдарламалау пән ретінде теориялық Бағдармалау, жүйелі Бағдарламалау және қолданбалы Бағдарламалау болып бөлінеді.
Бағдарламалық тілдерде символдарды бірізділікпен өңдеуге қажет мәтіндер алдын ала жазылып кояды, мәтіндерді бұйрықты тапсырма деп қарауға болады. Семантикалық шарттары бойынша мәтіндер мынадай деңгейлерде сұрыпталады: дербес мағынасы жоқ "әліпби таңбалары; шағын тіл бірліктерінің екі жақты атаулары; мағынасы бұйрық түрінде емес атаулардың қосындысын білдіретін сөйлемшелер; белгілі әрекетті білдіретін (бұйрық мағынасында) синтаксистік құрылымдардан тұратын операторлар тағы басқа. Бағдарламалық тілдердің өзіне тән сипаты символдық, сөздік, сөйлемдік, мәтіндік деңгейлердің ара жігі белгісіздігінде мәтіндерді жазып, ЭЕМ-ге енгізуде ондағы жетімсіздік басқа символдармен толықтырылады. Мысалы, (СОТО сөйлемшесі бір символ, бір сөз немесе бір сөйлем болып есептелуі мүмкін. Бағдарламалық тілдер қолданылу тұрғысынан екіге бөлінеді: алгоритмдік әр түрлі типтерді алдын ала жазуға болатын универсалдық бағдарламалық тілдер және неғұрлым шағын мақсатты жүмыстарға (модель жасау, мәтінді автомат өңдеу, белгілі бір процесті басқару) арналған мамандандырылған бағдарламалық тілдер. Бұлардың ішінде ЭЕМ-мен пайдаланушының қарым-қатынасын дамытуда диалогтік бағдарламалық тілдер маңызды орын алады. Бағдарламалық тілдердің дамуы олардың деңгейін көтеру, адам мен машинаның қарым-қатынас процесін жеңілдету, бағдарламалардың тиімділігін арттыру арқылы іске асырылып отырады. 20-ғасыр 70-жылдары бағдарламалық тілдердің жалпы саны 1 мыңға жақындады. Ең жиі қолданылатын, деңгейі жоғары тілдік бағдарламалар: фортран, кобол, алгол, бейсик, паскаль, мектепте кең тараған -- паскаль тілі [3].
Бағдарламалау тілі -- мәліметті (деректі, ақпаратты) және олардың алгоритмін (бағдарламасын) ЭЕМ-де өңдеуге арналған формальды (жасанды) тіл. Бағдармалау тілінің негізін алгоритмдік тіл құрайды. Алғашқы Бағдарламалау тілі ішкі машиналық тіл болып есептеледі. Қазіргі Бағдармалау тілі машиналық-бағдарланған, процедуралық-бағдарланған және проблемалық-бағдарланған тілдер болып ажыратылады. Машиналық-бағдарланған Бағдармалау тілі өзінің мәліметтерінің түрі мен алгоритмінің құрылуы бойынша белгілі бір ЭЕМ-нің (не ЭЕМ класының) құрылымын бейнелейді. Мұның үстіне оның бағдарламалау процесін жеңілдету және автоматтандыру сияқты ерекшеліктері бар. Ол машиналық тілге жақын тіл. Машиналық-бағдарланған бағдармалау тіліне автокод, алмо, эпсилон, т.б. тілдер жатады.
Бағдармалауға қойылатын негізгі талап -- бағдарламаның анықтылығы және сенімділігі. Бағдармалау жинақтаушы Бағдармалау, құрама Бағдармалау және нақтылаушы Бағдармалау болып 3 түрге бөлінеді.
Бағдармалауға қойылатын негізгі талап -- бағдарламаның анықтылығы және сенімділігі. Бағдармалау жинақтаушы Бағдармалау, құрама Бағдармалау *және нақтылаушы Бағдармалау болып 3 түрге бөлінеді.
-Жинақтаушы Бағдармалау -- жалпы бағдарлама жасау.
- Құрама Бағдармалау ішкі программалар жиынтығына сүйенеді.
- Нақтылаушы Бағдармалау берілген кластағы кез келген есепті шешуге арналған әмбебап бағдарламаны қажет етеді. Іс жүзінде, Бағдармалаудың бұл 3 түрі аралас қолданылады. Бағдармалау ғылыми-техникалық пән ретінде бағдарлама жасаудың теориясын, методологиясын және технологиясын зерттейді.
Бағдарлама - нақтылы алгоритмге арналған ақпаратты өңдеу жүйесінің (АӨЖ) жекелеген белгілі бөліктерін басқаруға арнайыдайындалған мәліметтер.
Бағдарламалардың да мәліметтердің де бір түрде, яғни мәлімет түрінде бір жадыда қатар сақталуы Фон Нейман машинасының негізгі қағидасы. Мәлімет те, бағдарлама да белгілі кодтар түрінде жады да орналасады. Әрине, бағдарлама - белгілі мәліметтердің ішіндегі белгілі әрекеттерді орындау мақсатына арналған екпінді бөлігі. Процессор үшін бағдарламаның командалары оқылып, коды анықталатын, ерекше бөліктері бойынша командаға айналатын мәлімет. Басқа бір жағдайларда, мысалы, жоғары деңгейлі тілдерді (ЖДТ) өңдейтін компилятор үшін кірмесіндегі мәліметтер машина кодындағы командаларға аударылуға қажетті мәтіндер болады.
Бағдарламалау парадигмалары. Бағдарламалау парадигмасы - бұл бағдарлама жазу стилін анықтайтын идеялар мен түсініктер жиыны. Бірінші кезекте парадигма негізгі бағдарламалық бірлікпен және бағдарламалық модулділігіне жету принципінің өзімен анықталады. Бұл бірлік ретінде анықтама (декларативті, функционалды бағдарламалау), әрекет (императивті бағдарламалау), ереже (продуктивті бағдарламалау), өтулер диаграмасы (автоматты бағдарламалау) және басқа да мәндер орындалады. Қазіргі заман бағдарламалау индустриясында бағдарламалау парадигмасы өте жиі бағдарламалаушы құрал-жабдықтармен, әсіресе бағдарламалау тілімен және қолданылатын кітапханалармен анықталады [4].
Бағдарламалау парадигмасы бағдарламалаушы бағдарлама логикасын қандай терминдерге сипаттайтынын анықтайды. Мысалы, императивті бағдарлмалауда бағдарлама әрекеттер реттілігі сияқты сипатталады, ал функционалды бағдарламалауда өрнек және функцияны анықтау жиыны түрінде болады. Белгілі объектіге бағытталған бағдарламалауда (ОББ) бағдарламаны өзара әрекеттескен объектілер жиынтығы ретінде қарау қабылданған. ОББ негізінен мәнісі бойынша объектіге деректер және әдістер инкасуляция принципімен және қайталанушылықпен толықтырылған императивті бағдарламалау [30].
Ең бірінші программалау тілі болып Short Code (1949) саналды. XX ғасырдың 50-ші жылдарында пайда болған жоғары деңгейдегі программалау тілдері болып ФОРТРАН, КОБОЛ және АЛГОЛ саналады. Фортран мен Коблон әлі күнге дейін пайдаланылады, ал Алгол болса бірталай тілдердің (олардың ішінде паскаль тілі де бар) негізгі болып табылады. Кәзіргі уақытта программалау тілдерінің саны бірнеше жүз құрайды. 1970 ж программалау әлемінде кемінде екі маңызды оқиға болды, олар: UNIX- операциялық жүйесінің және Паскаль атты жаңа программалау тілінің пайда болуы. Бұл тілді алғашқыда жалпы программалауды оқыту мақсатымен құрастырған Швейцариядағы жоғарғы политехникалық мектебінің Инфрматика институтының директоры, профессор Никлаус Вирт (1968-1971жж). Жаңа программалау тіліне француз математигі, физигі және философы, көрнекті ғалым Блез Паскаль (1623-1662жж) есімі берілді. Кейіннен осы тілдің бірталай түрлері және толықтамалары пайда болды. Олардың ішінен кеңінен таралған BORLAND компаниясының Turbo Pascal - пакеті. Программа құрастырудың сапасымен жылдамдығын арттыру үшін 80-ші жылдардың ортасында Турбо Паскаль атты программалау жүйесі дүниеге келді. Турбо деген сөз Borland International.Inc. (АҚШ) фирмасының сату таңбасының бейнеленуі. Сонымен қатар Turbo Pascal тілі компьютерлік графиканы пайдалануға, дыбыспен жұмыс істеуге, жүйелік программалауға үлкен мүмкіндіктер береді. Бүл тілдің программистер арасында кеңінен таралуына келесі себептер болды: Паскаль тілі өзінің икемді сипатталуына байланысты оқушылардың игеруіне өте оңай және жылдам.Алгоритмдердегі концепцияны программа түрінде бейнелеуге түрлі программалық құралдар мен мүмкіншіліктерін ұсынады. Программада пайдаланатын айнымалылардың алдын ала сипатталынуы, программа, орындалмай түрып компиляция кезеңінде оның үйлесімділігін тексеру т.с.с. Паскаль - программаларының қасиеттері программаға деген "сенімділікті" арттырады. Паскальда қарапайым және икемді басқару құрылымдарының пайдаланулы: сызықтық, тармақталу, қайталану. Паскаль тілінің құрушысы Н. Вирттің айтуы бойынша: "...Паскаль тілінің тәжірибелік пайдалануы оның құндылығын әйгі етіп көрсетті: -- бұл тілде программа түзудің өте оңай екендігін; программаның жұмысын жөнге салудағы икемділігін; көптеген тәжірибелік мәселелердің шешімін тиімді жолдармен табу үшін ұсынылатын Паскаль тілінің техналогияларын, т.с.с...". Бұл тілді Н. Вирт біріншіден- программалауға жүйелік бапты енгізіп, автоматты түрде программа мен мәліметтердің бірлігін тексеру мақсатымен құрды, екіншіден- жаңа компьютерлік мәдениетті игерудегі оқу құралы ретінде. Паскаль тілінің маңызды ерекшелігі болып бұл тілдегі оператор мен операндтың бір- бірімен байланысы, яғни кез келген оператор тек белгілі бір операндтар тобына тән болады. Бұл жерде операндтар деп операторлар арқылы түрлі өңдеуге түсетін бастапқы мәліметтерді атаймыз. Осының жалғасы - Паскаль тіліндегі мәліметтермен айнымалылардың типтеліну концепциясы болады. Типтеліну коцепциясының мағынасы неде? Көптеген программалау тілдерінде операторлардың әрекеттеріне байланысты барлық бастапқы мәліметтер бірнеше класқа немесе типтерге бөлінеді. Сондықтан тілдің барлық операторлары да өздеріне тән типті мәліметтермен жұмыс атқара алатын болады. Сонымен операторлар тобы мен операндтар тобы бір- бірімен нық байланысты болатын тіл элементтерін құрайды. Программалар белгілі бір мәселені, есепті шешуге арналған. Есеп шығару барысында компьютерге бастапқы мәліметтер енгізіледі, оларды қалай өңделетіндігі көрсетіледі және нәтиже қандай түрде, қандай құрылғыға шығарылатыны айтылады. Паскаль тілінде программа жеке -- жеке жолдардан тұрады. Оларды теру, түзету арнайы мәтіндік редакторлар атқарылады. Программа алдындағы азат жол немесе бос орын саны өз қалауымызша алынады. Бір қатарда бірнеше команда немесе оператор орналаса алады, олар бір -- бірімен нүктелі үтір (;) арқылы ажыратылып жазылады, бірақ бір жолда бір ғана оператор тұрғаны дұрыс, ол түзету жеңіл, әрі оқуға ыңғайлы [5].
Паскаль тілінде программа үш бөліктен тұрады: тақырып, сипаттау бөлімі және операторлар бөлімі.Кез келген программаның алғашқы жолы PROGRAM сөзінен басталатын оның тақырыбынан тұрады. Одан кейін программаның ішкі объектілерінің сипаттау бөлімі жазылады. Бұл бөлім программадағы айнымалылар, тұрақтылар тәрізді объектілердің жалпы қасиеттерін алдын ала анықтап алуға көмектеседі. Сипаттау бөлімі бірнеші бөліктерден тұрады, бірақ программаның күрделілігіне байланысты көбінесе ол бір немесе екі ғана бөліктен тұруы мүмкін. Программаның соңғы және негізгі бөлімі операторлар бөлімі - болып табылады. Орындалатын іс -- әрекеттер, командалар осы бөлімде орналасады. Ол begin түйінді сөзінен басталып, бірақ атқарылатын операторлар (командалар) тізбегі жеке -- жеке жолдарға жазылып біткен соң end түйінді сөзімен аяқталады. Операторлар бөлімінде командалар ретімен орналасады. Олардың кейбірі шартқа байланысты атқарылса, ал кейбір қайталанатын цикл немесе қосымша программа түрінде орындалады. Операторлар бөлімінде орнатылатын негізгі әрекеттерді қарастырайық. Деректер -- сан мәндері мен мәтін түріндегі сөз тіркесін мән ретінде қабылдай алатын тұрақтылар, айнымалылар т.б. осы тәрізді құрылымдар немесе солардың адрестері. Дерек енгізу -- бастапқы деректерді пернетақтадан, дискіден немесе еңгізу -- шығару порттарынан еңгізу арқылы жүзеге асады. Операциялар немесе амалдар -- берілген және есептелген мәндердің меншіктеу, соларды өңдеу, салыстыру операцияларын орындайды. Шартты түрде атқарушы белгілі бір көрсетілген шарттың орындалуына байланысты, командалар жиыны атқарылады, әйтпесе олар аттап өтіледі немесе басқа командалар жиыны орындалады. Цикл -- белгілі бір шарттар орындалған жағдайда көрсетілген командалар жиынын бірнеше рет қайталанып атқарылады. Қайталау саны бүтін санмен беріледі. Көмекші программа -- алдын ала қандай да бір атаумен атымен атымен аталған командалар тобы. Олар программаның кез келген жерінен оның атауын көрсету арқылы шақырылып атқарыла береді. Түсініктеме - программа жолдары соңында немесе оның түйінді сөздері арасында қазақша (орысша) түсінік беретін пішінді жақшаға алынып жазылған сөз тіркесітері. Олар программа операторларының орындалуына ешқандай әсер етпейді [6].
1.1 Бағдарламалау тілдері және түрлері
Бағдарламалау тілі деп - деректерді жазуға және оларды белгілі ережелер бойынша өңдеуге арналған адам мен компьютерді байланыстыратын формальды тілді айтамыз. Программалау тілдері - жасанды тілдер. Қазіргі кезде 3500-ден жоғары әр түрлі программалау тілдері бар және осылардың ішінен шектелген саны ғана программалық бөлімді құруға қолданылады. Программалау тілдерінің саны көп болуына байланысты олардың бірнеше классификациясы бар. Оның ішінде негізгі 2 түрге: фукционалдық мәніне (қызметі) және қолданылатын программалау технологиясына байланысты бөлінеді. Программалау тілдері фукнционалдық мәніне байланысты 4 үлкен классқа бөлінеді:
- программалауға үйретуші;
- жалпы мәнді;
- проблемалық-бағытталған;
- параллель бағдарламашы.
Процедуралық-бағдарланған бағдармалау тілі -- белгілі бір мәселелер класын шешу бағдарламасын сипаттауға арналған тіл. Бұл тілде мамандар кәсіптік терминдер түрінде ЭЕМ үшін тапсырмалар құрастыра алады, әрі онда мәселені шешу үшін орындалатын нақты қадамдар міндетті түрде көрсетіледі. Программаларды жасауда қазіргі заманғы компьютерлерде әр түрлі деңгейдегі программалау тілдері пайдаланылады.
Қазіргі жоғары деңгейлі тілдерді осы классификацияға сәйкес қарастырамыз. Программалауға үйретуші тілдер қатарына жататын жоғарғы деңгейлі тілдердің негізгілері Logo, Basic және Pascal. Logo тілі 60-шы жылдардың аяғында С.Пейперттің басшылығымен құрылды және ЭЕМ жаңа қолданушыларға, балаларға программалаудың негізін үйретуге бағытталған. Үйретуге арналған жоғары деңгейлі тілдердің ішіндегі кең тарағаны 1965 жылы Д.Кемени мен Т.Курц құрған - Basic тілі. Ол Дербес компьютерлерге бірінші қолданылған жоғарғы деңгейлі тіл болып табылады. 60-жылдардың ортасынан бастап мамандар арасында құрылымдық программалау мәселесі көтеріле бастады. 1971 жылы Н.Вирт құрылымдық технологияға үйретуші Pascal тілін құрды. Жалпы мәнді жоғары деңгейлі тілдер қатарына әр түрлі класс есептерін тиімді программалауға бағытталған тілдер жатады. Си тілін 1972 жылы Д.Ритчи құрды және Unix операциялық жүйесі осы тілде жазылды. Си тілі ассемблер тілінің де және жоғары деңгейлі тілдің де мүмкіндіктерін қамтамасыз ететін болғандықтан орта деңгейлі тіл деп атайды [7].
Барлық программалау тілдерін төмен және жоғары деңгейлі программалау тілі деп бөлуге болады. Төмен деңгейлі программалау тілі аппаратураның анықталған түріне арналған. Программаны құру микропроцессордың архитектурасын және компьютердің құрылғыларын жақсы білуді талап етеді. Бұндай тілдегі программа машина тілінде жазылған қарапайым командалардан тұрады (мысалы, Ассемблер тілі). Жоғары деңгейлі программалау адамға жақын анықталған жүйе көмегімен компьютерге команда беруге мүмкіндік береді (мысалы, Бейсик, Паскаль, Фортран, Си). Осы тілде жазылған программа мәтіні компьютерге түсінікті емес, сондықтан оны машина тіліне аудару керек. Жоғары деңгейлі тілдер көптеген алгоритмдерді үйреншікті математикалық амалдардың жазылуына жақын ыңғайлы түрде жазып түсіндіруге мүмкіндік береді. Бұл тілдерді пайдалану программалаудағы кездесетін қиындықтарды азайтады.
Жоғары деңгейлі тілдерді программа жасауда пайдалану 60-шы жылдары басталды. Содан бері бүгінгі күнге дейін белгілі есептерді шешуге арналған әмбебап, сондай-ақ бағдарланған көптеген әртүрлі тілдер жасалып пайдаланылып келеді.
Қазіргі кезде жоғары деңгейлі программалау тілдері былай бөлінеді:
- процедуралық;
- логикалық (ЛИСПЫ, ПРОЛОГ т.б.);
- объекті-бағытталған (С++, Java т.б.).
Қысқа программаларды жасауда процедуралық программалау тілдерін пайдалану ыңғайлы.Логикалық программалау тілдерін алгоритмдерді теориялық зерттеуде жасанды интеллекті оқытып үйрену жұмыстарында деректер базасымен жасалатын операцияларда өндіріс объектілерін және әскери бөлімдерді басқару жүйелерін басқаруда, ал объектік-бағдарланған программалау тілдерін бәрінен де үлкен және күрделі программаларды (Мысалы, компьютерлік ойындарда), жасақтауда пайдаланған жөн.
Келесі кезекте қолданыста жүрген программалау тілдеріне қысқаша тоқталып өтсек:
BASIC программалау тілі алғаш рет 1985 жылы АҚШ-та жасалған. Бұл тіл қазіргі кезде өзінің өте қарапайымдылығына байланысты дүние жүзіне көп таралған тілдердің бірі. Ол оңай әрі жеңіл меңгерілетіндігімен ғана ерекшеленіп қоймайды, сонымен бірге компьютермен адам арасындағы қарым-қатынансты диалог түрінде жүргізуге мүмкіндік беретін өте ыңғайлы тіл болып саналады. Сондықтан да бұл бұл тіл қазіргі кезде шығарылатын барлық дербес компьютерлерге кеңінен қолданылады [8].
Тurbо Раsсаl - жоғары деңгейлі программалау жүйесі. Оның тұңғыш нұсқасын 1970 жылы швейцария физигі Никлаус Вирт ұсынған. Автор тілді алғашқы арифметикалық есептеу машинасын жасаған француздың ұлы ғалымы Блез Паскальдің құрметіне Паскаль деп атаған. Паскаль тіліндегі программа жеке-жеке жолдардан тұрады. Оларды теру, түзету арнайы мәтіндік редакторлар арқылы атқарылады. Программада әрбір жолдан кейін нүктелі үтір (;) қойылады. Паскаль тілінде программа үш бөліктен тұрады: тақырып, сипаттау бөлімі және операторлар бөлімі. Кез-келген программа Program сөзінен басталып, оның тақырыбы жазылады. Бұл бөлім программадағы айнымалылар, тұрақтылар тәрізді объектілердің жалпы қасиеттерін алдын ала анықтап алуға көмектеседі. Программаның соңғы және негізгі бөлімі операторлар бөлімі - болып табылады. Орындалатын іс-әрекеттер, командалар осы бөлімде орналасады. Ол begin түйінді сөзінен басталып, барлық атқарылатын операторлар (командалар) тізбегі жеке-жеке жолдарға жазылып біткен соң end түйінді сөзімен аяқталады [9].
Си тілі өткен ғасырдың 70-жылдары басында АҚШ-та Bell Telephon Laboratories компания-сының қызметкері Дэннис Ритчидің бастауымен дүниеге келді. Бұл тілдің негізі Алголдан басталып, Си және ПЛ1 тілдерімен қатар пайда болды. Си тілінің шығуы UNIX операциялық жүйесінде программалаумен тығыз байланысты, өйткені бұл жүйе ассемлерде және осы Си тілінде жазылып шыққан болатын. Бұл тілде жазылған программаны компьютерде орындау кезінде ол алдымен трансляция сатысынан өтіп (машина тіліне аударылып), объектілік программа түріне ауысады да, сонан кейін барып орындалады. Осы сәтте компьютерде программаның екі нұсқасы болады, оның біріншісі - Cи тіліндегі алғашқы нұсқасы, ал екіншісі - объектілік кодтағы машина тілінде жазылған программа. Есептің нәтижесін тек машиналық кодта жазылған eh.html"программа арқылы аламыз, ал программаны түзету қажет болғанда оның алғашқы нұсқасы өңделіп, оны қайта түрлендіру сатысы жүзеге асырылады.
С++ тiлi BCPL және B тiлдердiң негiзiнде құралған және Си тiлiнен дамыған. Си++ Си тiлiнiң кеңейтiлген түрi. Оны 1980 жылдың басында Бъерн Строустроп Bell Laboratories-сында өңдеп шығарған. Си++ тiлi Си тiлiнiң бiрқатар қасиеттерiн реттеудi қамтамасыз етедi және ең маңыздысы объектi-бағдарланған бағдарламалық мүмкiндiгiн қамтамасыз етедi. Бұл бағдарламамен қамтамасыздандыру әлемiндегi революциялық идея болып табылады.
Java - Sun Microsystems компаниясының жасап шығарған объектіге бағытталған программалау тілі. Java қосымшалары әдетте арнайы байт-кодта компиляцияланады,сол себепті олар кез келген виртуалды Java-машинасында компьютерлік архитектурасына тәуелсіз орындалады. Бұл тілдің негізгі ерекшелігі Java-дағы бағдарламалар байттық кодты өңдейтін және жабдықтамаға нұсқамаларды беретін интерпретатор болып табылатын Java виртуалды машинасында орындалатын байт-кодқа трансляцияланады. Веб-қолданбалар немес дербес компьютерлерге арналған программалар жазуда Java жиі қолданылады. Java - онымен қоса, Android платформасыны арналған ойындар жазу үшін пайдаланылатын негізгі тіл [10].
Delphi - Windows жүйесіндегі программалаудың ыңғайлы құралы.Онда көптеген операторларды пайдаланып программа дайындау,программа мәзірін құру,анимация және тағы басқа да іс-әрекеттерді орындауда мүмкін. Delphi екі түрде даындалған: біріншісі-күрделі қосымшаны бірлесіп дайындаушылар үшін, екіншісі-қалған программалаушылар үшін. Соңғысы ыңғайланып, қысқартылып алынған. Сонымен қатар Delphi жүйесі Windows амалдық жүйесі үшін және арнайы серверлер үшін бағдарламаларды жасай алады.
Бағдарламалау тілдері және негізгі классификациясы
Қазіргі кезде 3500-ден жоғары әр түрлі бағдарламалау тілдері бар және осылардың ішінен шектелген саны ғана бағдарламалық бөлімді құруға жаппай қолданылады. Бағдарламалау тілдерінің саны көп болуына байланысты олардың біршене классификациясы бар. Оның ішінде негізгі 2 түрге: фукционалдық мәніне (қызметі) және қолданылатын бағдарламалау технологиясына байланысты бөлінеді. Бағдарламалау тілдері фукнционалдық мәніне байланысты 4 үлкен классқа бөлінеді:
- бағдарламалауға үйретуші;
- жалпы мәнді;
- проблемалық-бағытталған;
- параллель бағдарламалаушы.
Қазіргі жоғары деңгейлі тілдерді осы классикацияға сәйкес қарастырамыз.
Жалпы мәнді жоғары деңгейлі тілдер қатарына әр түрлі класс есептерін тиімді программалауға бағытталған тілдер жатады. Бұл классқа жататын тілдердің негізгілері C, Modula, Ada тілдері. Бұл тілдердің негізі 1966 жылы құрылған, ғылыми, пәндік облыстағы есептерді программалауға мүмкіндік беретін PL1 тілі. PL1 тілі ЖС ЭЕМ сериялы модельдерде кеңінен қолданылды. Си тілін 1972 жылы Д.Ритчи құрды және Unix операциялық жүйесі осы тілде жазылды. Си тілі ассемблер тілінің де және жоғары деңгейлі тілдің де мүмкіндіктерін қамтамасыз ететін болғандықтан орта деңгейлі тіл деп атайды. Pascal тілінің идеологиясын тарату мақсатымен Н.Вирт 1980 жылы Modula - 2 тілін құрды. Бұл программалау тілінің негізі - программа бір-біріне тәуелсіз модульдерден тұрады [11].
1978 жылы қазіргі АҚШ-та әскери қаруды басқаруға қолданылатын қосымшаларды программалуға арналған Ada тілі құрылды. Ada тілі құрылымды программалау тілі болып табылады және параллель программалау мүмкіндіктерін қамтамасыз етеді.
Проблемалық - бағытталған жоғары деңгейлі тілдер деп нақты пәндік облыс есептерінің мәселесін түгел қамтитын тілдерді атаймыз. Бұл классқа жататын бірінші жоғары деңгейлі тіл - Fortran тілі. Fortran-I тілін 1956 жылы IBM фирмасы құрды және ғылыми-техникалық есептерді шешуге арналған.
Жасанды интеллект символдық информацияларын және тізімдерін өңдеуге арналған есептерді программалауға Lisp, Prolog тілдері қолданылады. Lisp тілін 50-жылдары Д.Макартни құрды. 70-жылдары Lisp тілінің негізінде құрылған Prolog тілі логикалық программалау тілі болып табылады және 5 буынның ЭЕМ жапон проектісінде негізгі тіл болып таңдалған. Әр Prolog программа жәй тұжырымдар немесе импликациялардан тұратын сөйлемдерден тұрады, инструкция қолданылмайды.
Дәстүрлі неймандық архитектурадан ЭЕМ дәстүрлі емес параллель архитектуралы есептеу машиналарына көшуіне байланысты параллель алгоритмдерді сипаттаушы инстументальды құрылғылар пайда бола бастады. Параллель программалау тілдерінің негізі - параллель есептеулерді программалау процесін ықшамдау, параллель архитектуралы есептеу машиналарына арналған параллель программалық жүйелердің тиімдісін алу. Параллель программалауды жабдықтаудың қиындығы тиімді параллель жөндеушілерді құру. Қазіргі кезде қолданылып жүрген интерактивті параллель жөндеушілер IPSC (Intel фирмасының дербес компьютерлеріне арналған) және PDBX (мультипроцессорлы ЭЕМ арналған). Жиі қолданылатын векторлы матрицалық есептерге параллель программалар кітапханасы құрылған, BLAS- сызықтық алгебра программаларының кітапханасы, NAG - сандық алгоритмдер кітапханасы. Бұл есептерге белгілі матрицалы параллельдеушілер ProSolvar (Intel фирмасы) және жалпы мәнді параллельдеуші Parafrace (Д.Кук құрған) қолданылады [12].
2 Интерфейстер
Компьютерлік жүйе интерфейстерінің кешені. Компьютерлік жүйе интерфейстерінің өзара байланыстары. Интерфейстердің анықтамасы. Интерфейстер өзектілігі.
Қарастырылатын негізгі мәселе - пайдаланушылық интерфейстер және олардың қосымша деңгейінің программалы-аппараттық интерфейстері арасындағы байланыстары болып табылады. Осы мәселеге қызығушылық тек есептеу техникасы мамандарының ғана емес, сонымен қатар эргономисттердің, психологтардың, социологтардың және графикалық жүйелерді жасаушылардың да қызығушылығын туғызып отыр. Тәжірибе көрсеткендей, компьютерлік жүйелердегі көптеген қолданбалы есептерді шешу үшін интерфейсті таңдау мен (немесе) құрастырудағы проблемаларды толығымен, жан-жақты қарастыру қажет.
Пайдаланушылық және программалы-аппараттық интерфейстерді құру технологиялары кешенді түрде қарастырылуы тиіс.
Соңғы жылдары адам-компьютер жүйесінде интерфейсті ұйымдастыру айтарлықтай дамып, логикалық аяқталуына келді. Интерфейсті жалпылама құрылым түріндегі функциясы бар бірнеше бөлікке бөлуге болады. Мұндай интерпретация әр құрылымның құрылысын түсіндіреді және оларды қолдану принциптерін негіздеуге мүмкіндік береді. Мысалға, интерактивті Web-қосымшаларды жобалауда, жасаушыларға бірнеше интерфейстерді таңдауға тура келеді:
- пайдаланушының клиенттік программамен өзара қарым-қатынас деңгейдегі интерфейсі;
- клиенттік машинамен сервер машина арасындағы өзара қарым-қатынас деңгейдегі интерфейспен;
- сервердің шеттік программамен немесе басқа сервермен өзара қарым-қатынас деңгейдегі интерфейсі;
Мысалға, WEB-қосымшаны құрған кезде, бірінші интерфейс WUI (Web user interface) компонентін таңдау және негіздеумен іске асырылады. Ал екіншісі серверге сұраныс жіберу әдісін таңдаумен, үшіншісі CGI-ді (Common Gateway interface) пайдаланумен немесе SQL-сұраныстарды қолданумен іске асырылады.
Компьютерлік жүйелер интерфейсі түсініктемесінің бірнеше анықтамасы бар, солардың бірнешеуін айтайық. Қатынас интерфейсі қандайда бір есептерді шығару үшін, адам мен ЭЕМ арасында сенімді қатынасты қамтамассыз ететін, аппаратты-программалық, ақпаратты көрсету құрылғылардың және ақпарат алмасу протоколдарының жиынтығы арқылы да анықталады. Компьютердің аппараттық интерфейсі ретінде ДК-ң кез келген периферийлік құрылғысының әр түрлі мінездемелер жинағын түсінеміз. Ол олардың арасында және орталық процессор арасындағы ақпарат алмасуды ұйымдастырады. Олар электрлік және уақыттық параметрлер, басқару сигналдар жинағы, деректер алмасу протоколы және қосылудың конструктивті артықшылықтары.
Осылайша, қосымшамен жұмыс істеп отырған пайдаланушы немен түйіседі, ол оның интерфейсі. Ойланбай жасалған интерфейс оның артықшылықтарын жоққа шығаруы мүмкін. Айтылғандардың барлығы локальді қосымшалар мен пайдаланушының тораптағы жұмысын қамтамассыз ететін қосымшаларға да қатысты. Интерфейс проблемасының маңыздылығы жөнінде келесі фактілерді айтуға болады. Американың Ұлттық Стандарттар Институтында (ANSI) осы бағыт бойынша арнайы кеңесшілер тобы - Адам - Компьютер интерфейсінің стандарттары бойынша комитеті (The Human-Computer Interface Standard Committee) бар. Мұндай ұйымдар тек АҚШ-та ғана емес, басқа да елдерде де бар. Сонымен қатар осы бағытта жұмыс істейтін Халықаралық зерттеу топтары да бар, мысалы, телеграфия мен телефония бойынша халықаралық кеңес беру комитет (International Telegraph and Telephone Consultation Committee). Олар өз кезегінде интерфейстің интерактивті элементтерінің ерекшеліктерін зерттейді.
Осы ұйымдардың немесе жұмыс тобының көбісімен кезінде пайдаланушылық интерфейстер стандарттары бойынша құжаттарының жобалары дайындалған және оларды жобалау мен іске асыру принциптері бар.
Адам-оператордың компьютерлік жүйелердегі орны.
Есептеу техникасын басқару жүйелерінде, ұйымдастыру, басқару мен конструктрлық қызметте, оқу процестерінде және ғылыми зерттеулерде пайдалану, компьютермен жұмыс істеуге адамзат қызметінің әртүрлі салаларындағы мамандарды іске ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz