Бағдарламалау және бағдарлама




Презентация қосу
Дәріс 1
Бағдарламалауға және
OББ-ға кіріспе
САДЫКОВА А. А.
АЛЬ-ФАРАБИ АТЫНДАҒЫ КАЗҰУ КӨКТЕМГІ СЕМЕСТР
АТФ, «ИНФОРМАТИКА» КАФЕДРАСЫ 2019-2020 О.Ж.
Мазмұны

Бағдарламалау және бағдарлама;
Бағдарламалау тілдерінің қысқаша тарихы;
Бағдарламалау тілдерінің эволюциясы;
Жоғары деңгейлі бағдарламалау тілдері туралы
түсінік;
Жоғары деңгейлі бағдарламалау тілі;
Жоғары деңгейлі тілдердің мысалдары;
ОББ негізгі түсініктері.
Бағдарламалау және
бағдарлама
Бағдарламалау - бағдарлама құруға байланысты теориялық
және практикалық іс-шаралар.
Бағдарлама - бағдарламалаушының шығармашылығы,
даралығымен сипатталатын интеллектуалды жұмыстың нәтижесі
болып табылады. Сонымен қатар, бағдарламалау жоспарлы
жұмыстарды қамтиды, олар қатаң орындау кестелеріне ие және
стандарттарға сәйкес болуы мүмкін және болуы керек.
Бағдарламалау ғылыми зерттеулерге, бағдарламаны әзірлеу
әдістері мен құралдарын (бағдарламаны құруға арналған арнайы
құралдар) әзірлеуге және қолдануға бағытталған ғылыми пәндер
жиынтығына негізделген.
“ Бағдарламалау тілдерінің
қысқаша тарихы


Бағдарламалау тілдерінің
қысқаша тарихы

Жоғары деңгейлі бағдарламалау тілдерін дамытудың келесі
кезеңдері бөлінеді:
Бірінші буын тілдері (1954 - 1958)
o FORTRAN 1: Математикалық формулалар;
o ALGOL-58: Математикалық формулалар.
Бағдарламалау тілдерінің
қысқаша тарихы
Екінші буын тілдері (1959 - 1961)
o FORTRAN: II ішкі бағдарламалар;
o ALGOL-60: блоктік құрылым, мәліметтер типтері;
o COBOL: мәліметтер сипаттамасы, файлдармен жұмыс;
o LISP: тізімді өңдеу, көрсеткіштер, қоқыс жинастыру.
Бағдарламалау тілдерінің
қысқаша тарихы
Үшінші буын тілдері (1962 - 1970)
PL / I: ФОРТРАН + АЛГОЛ + КОБОЛ;
Pascal: ALGOL-60 қарапайым мұрагері;
Simula: Класстар, деректерді абстракциялау.
Бағдарламалау тілдерінің
қысқаша тарихы
Сабақтастықтың үзілуі (1970 - 1980)
С: Тиімді жоғары деңгейлі тіл;
FORTRAN 77: блоктық құрылым, мәліметтер типтері.
Бағдарламалау тілдерінің
қысқаша тарихы
OББ-ғы бум (1980 - 1990)
Smalltalk 80: таза объектіге бағытталған тіл;
C ++: C + Simula;
Ada83: қатты типтеу; Паскальдың күшті әсері.
Бағдарламалау тілдерінің
қысқаша тарихы
Инфрақұрылымдардың пайда болуы (1990 - ...)
Java: блоктық құрылым, мәліметтер типтері;
Python: Объектіге бағытталған сценарий тілі;
Visual C #: Microsoft .NET ортасы үшін Java тілінің бәсекелесі.
“ Бағдарламалау тілдерінің
эволюциясы


Бағдарламалау тілдерінің
эволюциясы

XIXғасырдың 20-шы жж. Бағдарлама үшін келесідегі
автоматты реализациялау мақсатында перфокартаға
машинаның іс-әрекетін алдын ала жазу (ұсынған
Ч.Бэббидж).
АдаЛовелэйс теориялық тұрғыдан әлі күнге дейінгі
қолданыстағы есептулерді басқару тізбегі әдістерін әзірледі.
ХХғасырдың 40-шы жж. Машиналық командаларды кодтау
негізінде бағдарламалар құру (Грейс Мюррей Хоппер).
Бағдарламалау тілдерінің
эволюциясы

50-60
жж. Машина кодтарында бағдарламалаудың рөлі
төмендейді, жоғары деңгейлі процедуралық тілдер
(FORTRAN, ALGOL) пайда болады. Трансляторларды
командаларды машина кодтарына түрлендіру үшін
қолданылады.
60-жылдардың ортасы. Қарапайым ағылшын сөздерінен
(BASIC) тұратын мамандандырылған бағдарламалау тілін
құру, әмбебап тіл құруға талпыныс жасау (PL / 1, ALGOL-
68).
Бағдарламалау тілдерінің
эволюциясы
70-жылдардың басы. Алгоритмдердің дамуын құрылымдау
туралы АЛГОЛ идеясын әзірлеу, Паскаль тілін әзірлеу - Н.Вирт.
Ірібағдарламалық жасақтама жүйелерін құруға және ұзақ
уақыт қызмет етуге, параллельді өңдеуге, нақты уақыт
режимінде процестерді басқаруға және т.б. арналған AДA тілін
құру.
1972 ж (С тілінің алғашқы нұсқасы). Бағдарламалаушыға
барлық машина ресурстарына мүмкіндік беретін жоғары
деңгейлі тілдің ерекшеліктерін машинаға бағытталған тілмен
біріктіретін тілдің пайда болуы.
Бағдарламалау тілдерінің
эволюциясы

Көптегенжылдар бойы бағдарламалық қамтамасыз ету
жедел және процедуралық тілдер негізінде жасалды
(Ассемблерлер, Фортран, BASIC, Паскаль, Ада, С).
Бағдарламалау тілдерінің дамуымен бағдарламаларды
құрудың басқа да түбегейлі жаңа тәсілдері кеңінен таралды.
Бағдарламалау тілдерінің
эволюциясы
Процедуралық емес бағдарламалау: объектіге бағытталған
бағдарламалау (C ++, Delphi, Visual Basic) және
декларативті бағдарламалау. Декларативті тілдер
логикалық (Пролог) және функционалды (Lisp) болып
бөлінеді. Қазіргі уақытта дамыған тілдер құрылған
бағдарламалардың жоғары сенімділігі мен қауіпсіздігін
қамтамасыз ететін басқарылатын ортада жұмыс істейді
(Java, C #, VB.net).
Бағдарламалау тілдерінің
жіктелуі

Сурет 1
“ Жоғары деңгейлі
бағдарламалау тілдері
туралы түсінік

Жоғары деңгейлі бағдарламалау
тілдері туралы түсінік
Бағдарламалау тілдері - бұл компьютермен адамның қарым-
қатынасы үшін арнайы жасалған ресми тілдер. Әрбір бағдарламалау
тілі, сондай-ақ «табиғи тіл» (орыс, ағылшын және т.б.) сияқты:
Алфавит- берілген тілде бекітілген негізгі таңбалардың
жиынтығы, олар сол тілде бағдарламалық мәтін құруға арналған.
Синтаксис- бұл бағдарламалау тілінің рұқсат етілген құрылымын
анықтайтын ережелер жүйесі.
Семантика - жеке тілдік құрылымдарды біртекті түсіндіруге
арналған ережелер жүйесі, бұл мәліметтерді өңдеу процесін
жаңғыртуға мүмкіндік береді.
Жоғары деңгейлі бағдарламалау
тілдері туралы түсінік
Тілді сипаттау кезінде және оның қолданылуында тіл
туралы ұғымдар қолданылады.
ұғым - белгілі бір синтаксистік құрылым және
бағдарламалық объектілердің қасиеттері немесе оны
анықтайтын мәліметтерді өңдеу процесі.
Синтаксистік және семантикалық ережелердің өзара
әрекеттестігі тілдің белгілі бір ұғымдарын анықтайды,
мысалы, операторлар, идентификаторлар, айнымалылар,
функциялар мен процедуралар, модульдер т.б.
Жоғары деңгейлі
бағдарламалау тілдері туралы
түсінік
Табиғитілдерден айырмашылығы, барлық ресми тілдер
сияқты бағдарламалау тілдері үшін грамматика мен
семантика ережелері айқын, бір мәнді және нақты
тұжырымдалуы керек.
Қолданбалы маңызды мәселелерді шешуге бағытталған
интеграцияланған топтарды біріктіретін табиғи тілдерді
еліктейтін бағдарламалау тілдері жоғары деңгейлі тілдер
деп аталады.
“ Жоғары деңгейлі
бағдарламалау тілі


Жоғары деңгейлі бағдарламалау
тілі
ЖДБТ-де тапсырманы нақты, оңай қабылданатын түрде
сипаттауға, бағдарламалау процесін, басқару құрылымдары
мен деректер құрылымын жеңілдетуге және
автоматтандыруға мүмкіндік беретін элементтер енгізілген.
ЖДБТ адам үшін табиғи, бірақ есептеу жүйесінің
архитектурасы емес ұғымдарды бейнелейді. Сондықтан,
ЖДБТ-де құрастырылған программа алдымен компьютерде
машиналық тілге аударылады (төмен деңгей), содан кейін
орындалады.
Жоғары деңгейлі бағдарламалау
тілі

YaPVU алфавитінде әріптер, сандар, математикалық
таңбалар, тіпті кілт сөздері де болуы мүмкін, мысалы:
if (егер);
then (сонда);
else (кері жағдайда) және т.б.
Әдетте операторлар деп аталатын ұсыныстар синтаксистік
ережелерге сәйкес бастапқы белгілерден жасалады, мысалы:
егер x 1 болса, y = x - 1 формуласын қолданыңыз.
ЖДБТ артықшылықтары

Тілдіңалфавиті машиналық тілге қарағанда анағұрлым кең,
бұл оны әлдеқайда мәнерлі етеді және мәтіннің көрінуі мен
түсініктілігін айтарлықтай арттырады.
Пайдалануға қолайлы операциялар жиынтығы машиналық
операциялардың жиынтығына тәуелді емес, бірақ белгілі бір
класстағы есептерді шешудің алгоритмдерін құрастыруда
ыңғайлы болу үшін таңдалады.
ЖДБТ артықшылықтары

Командалардың (операторлардың) құрылымдары
мәліметтерді өңдеудің маңызды түрлерін көрсетеді және
адамдар үшін ыңғайлы түрде орнатылады.
Айнымалылар мен олармен жұмыс істейтін аппараттар
қолданылады.
Деректер түрлерінің кең спектріне қолдау көрсетіледі.
ЖДБТ-нен қорытынды

Бағдарламалаудың жоғары деңгейлері машиналарға
тәуелді емес және бағдарламаны ол орындалатын
машинаның тілінде көрсету үшін тиісті аударма
бағдарламаларын (аудармашылар) қолдануды талап етеді.
“ Жоғары деңгейлі
тілдердің мысалдары


Жоғары деңгейлі тілдердің
мысалдары
Fortran.50-жылдары Джим Бэкустың алғашқы
құрастырған тілі. Бұл тіл үшін статикалық жүйелерден
бастап спутниктік басқару пакеттеріне дейінгі көптеген
кітапханалар құрылды, сондықтан Fortran көптеген
ұйымдарда белсенді қолданылуда және қазір 2000 жылы
пайда болған келесі Fortran F2k стандарты бойынша жұмыс
жалғасуда. Көптеген процессорлары бар параллель супер
компьютерлер үшін Fortran HPF (High Performance Fortran)
стандартты нұсқасы бар.
Жоғары деңгейлі тілдердің
мысалдары
Cobol.Бұл экономикалық салада қолдануға және бизнес
мәселелерін шешуге арналған, 60-шы жылдардың басында
дамыған, ол «сөзбе-сөздікпен» ерекшеленеді - оның
операторлары қарапайым ағылшын сөйлемдеріне ұқсайды.
Коболда әртүрлі сыртқы тасымалдағыштарда сақталатын
үлкен көлемді деректермен жұмыс жасау үшін өте қуатты
құралдар енгізілді. Осы тілде көптеген белсенді
қосымшалар жасалды, олар бүгінде белсенді қолданылады.
АҚШ-тағы ең үлкен жалақыны Коболдағы бағдарламашылар
алады деп айту жеткілікті.
Жоғары деңгейлі тілдердің
мысалдары
Algol. 1960 ж. Құрылған тіл. Ол Фортранды ауыстыруға
шақырылды, бірақ күрделі құрылымға байланысты кең
қолданылмады. 1968 жылы Algol68 нұсқасы жасалды, ол
өзінің мүмкіндіктері бойынша көптеген бағдарламалау
тілдерінен озып кетті, алайда, жеткілікті тиімді
компьютерлердің болмауына байланысты уақытында жақсы
компиляторлар құру мүмкін болмады.
Жоғары деңгейлі тілдердің
мысалдары

Pascal. 70-жылдардың аяғында қазіргі
бағдарламалаудың көптеген идеяларының негізін
қалаушы Николаус Вирт жасаған Паскаль тілі
негізінен Алголды еске түсіреді, бірақ ол бағдарлама
құрылымына қойылатын бірқатар талаптарды
қатайтады және ірі жобаларды жасау кезінде оны
сәтті қолдануға мүмкіндіктер бар.
Жоғары деңгейлі тілдердің
мысалдары

Basic.Бұл тіл үшін компиляторлар мен
аудармашылар бар, ал танымалдығы жағынан
әлемде бірінші орын алады. Ол оқу құралы ретінде
60-жылдардың аяғында құрылды және оны үйрену
өте оңай.
Жоғары деңгейлі тілдердің
мысалдары

C.Бұл тіл Bell зертханасында жасалды және
бастапқыда кең таралған деп есептелмеді. Бірдей
тиімді және ықшам бағдарламаларды құра алатын
және сонымен бірге процессордың нақты түріне
тәуелді болмас үшін ассемблерді ауыстыру
жоспарланды.
Жоғары деңгейлі тілдердің
мысалдары
C++. Бұл С тілінің объектілі-бағытталған кеңейтімі, 1980
жылы Бьяр Страуструп жасаған. Бағдарламалаушылардың
өнімділігін күрт арттыруға мүмкіндік беретін көптеген жаңа
қуатты мүмкіндіктер С тілінен мұра болған белгілі бір төмен
деңгейге бағындырылды, нәтижесінде күрделі және сенімді
бағдарламалар әзірлеушілер үшін жоғары деңгейлі
дайындықты қажет етті.
Жоғары деңгейлі тілдердің
мысалдары
Java. Тілді Sun компаниясы 60-жылдардың басында С ++
негізінде құрды. Ол C ++ негізіндегі қосымшаларды одан
төменгі деңгейдегі барлық ерекшеліктерді жою арқылы
жетілдіруге арналған. Бірақ бұл тілдің басты ерекшелігі -
машина кодына емес, платформадан тәуелсіз байт-кодқа
жинақтау.
Жоғары деңгейлі тілдердің
мысалдары
Байт-кодты Java Virtual Machine, Java-ға негізделген JVM
машинасының аудармашы-виртуалды машинасы арқылы
жасауға болады, оның нұсқалары бүгінде кез-келген
платформада жасалады. Java машиналарының болуына
байланысты Java бағдарламаларын тек бастапқы деңгейде
ғана емес, сонымен қатар тұрақты байт код деңгейінде де
беруге болады, сондықтан Java бүгінгі таңда BASIC-тен кейін
әлемдегі ең танымал екінші тіл болып табылады.

ОББ негізгі түсініктері


ОББ негізгі түсініктері

Объектігебағытталған бағдарламалау (OББ) - бұл
бағдарламаны объектілердің жиынтығы ретінде ұсынуға
негізделген, әрқайсысы белгілі бір класстың данасы болып
табылатын және класстар мұрагерлік иерархияны
қалыптастырады.
ОББ негізгі түсініктері

Объект– бұл нақты шекаралары бар нәрсе. Алайда, бұл бір
объектіні басқасынан бөлу немесе абстракцияның сапасын
бағалау үшін жеткіліксіз. Объекттінің күйі, мінез-құлқы және
жеке басы бар; ұқсас объектілердің құрылымы мен мінез-
құлқы олар үшін жалпы класс анықтайды; «Класс
экземплярі» және «объект» терминдері бір-бірімен
алмастырылып қолданылады.
ОББ негізгі түсініктері

Класс
- бұл жалпы құрылымды, мінез-құлықты және
семантиканы бөлетін объектілердің жиынтығы. Жеке
объект - бұл класстың данасы (экземплярі). Класс - бұл
объектінің маңызды қасиеттерінің абстракциясы.
ОББ негізгі түсініктері

Объектінің күйі берілген объектінің барлық қасиеттерінің
тізімімен (әдетте статикалық) және осы қасиеттердің
әрқайсысының ағымдағы (әдетте динамикалық) мәндерімен
сипатталады. Мысалы: сауда автоматы мынандай қасиетке
ие: монеталарды қабылдау мүмкіндігі; бұл сипат
динамикалық мәнге сәйкес келеді - қабылданған монеталар
саны.
ОББ негізгі түсініктері
ОББ негізгі түсініктері

Объект іс істеуі (поведение) - бұл объектінің қалай әрекет
ететіндігі және реакциясы; мінез-құлық объектінің күйі мен
хабарламалардың берілуі тұрғысынан көрінеді.
Операция дегеніміз - бұл тиісті реакцияны тудыру үшін бір
объектінің басқасына белгілі бір әсері. Мысалы, кезек
объектісін басқару үшін клиент append () және pop ()
амалдарын орындай алады.
ОББ негізгі түсініктері

Объектініңдаралық ерекшелігі - бұл объектіні басқа барлық
объектілерден ерекшелейтін қасиеті. Бағдарламалау
тілдерінде объектіні құру кезінде атау береді, сондықтан
көптеген адамдар адрестік пен даралықты шатастырады.
Объект атауын объектінің өзінен ажырата алмау OББ-дегі
көптеген қателіктердің себебі болып табылады.
Дәріс 1 бойынша тапсырмалар

1. Дәрістің
оқу материалдарындағы «Дәріс жазбалары»
бөлімінен 1-дәрісді толығырақ оқу;
2. 1-cуреттегі тілдердің жіктелуін анықтаңыз;
3. OББ негізгі ұғымдарына мысал келтіріңіз;
4. Қажет болса, Java орнатыңыз.
5. Hello world!

Сұрақтарыңыз?


Назарларыңызға рахмет!

Ұқсас жұмыстар
Бағдарламалау тілі
Практикалық тапсырма
NET платформасының құрылымы
Абайдың қара сөздеріне мультипликация
PYTHON БАҒДАРЛАМАЛАУ ТІЛІ
Бағдарламалық қамтамасыз етуді жобалауға кіріспе
ДЭЕМ – ніңбағдарламалық жабдықтары
Шешілмейтін алгоритмдер туралы түсінік. Алгоритм .күрделілігі. Алгоритм түсінігінің функция түсінігімен байланысы. Алгоритмдік тіл және оны сипаттамалар
Айнымалының мәндерін шығару форматы түрлендіру спецификаторының көмегімен беріледі - символынан басталатын символдар тізбегі
УНИВЕРСИТЕТІНДЕ ЖАСАҒАН БАҒДАРЛАМАЛАУ ТІЛІ
Пәндер