Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AEP_LEKTsII.doc
Скачиваний:
90
Добавлен:
28.03.2015
Размер:
1.27 Mб
Скачать

2.3 Процедуралы–бағытталған тілдер және объектке–бағытталған программалау туралы түсінік.

Процедуралы–бағытталған программалау тілі – жоғары деңгейлі программалау тілі, оның негізіне қойылған есепті шешуге мүмкіндік беретін амалдарды сипаттау принцип алынған.

Әдетте процедуралы–бағытталған тілдер программаларды процедуралар немесе ішкі программалар жиынтығы ретінде береді.

Өндірістік есептердің көбісін процедуралы–бағытталған тілдерде жазылған программалар арқылы шешеді. Бұл тілдердің құралдары сәйкесінше есептерде жиі кездесетін амалдардың фрагменттерін оңай сипаттауға мүмкіндік береді. Процедуралы–бағытталған тілдер тұтынушының математикалық (сандық) әдістер және алгоритмдеу негіздері аясында білімі бар деп жорамалдайды (ғылыми-техникалық есептеулерге арналған базалық тіл Fortran, қазіргі Паскаль).

Даму барысында көптеген процедуралы–бағытталған тілдердің негізгі құралдары мен мүмкіндіктерін біріктіретін көпмақсаттық (әмбебап) программалау тілдері құрылған, мысалы: ПЛ/1 – экономикалық және ғылыми-техникалық ақпаратты өндеу, объекттерді басқару және с.с. есептерді шешуге арналған; АДА тілі – көптеген басқа тілдерді алмастыра алатын және ұзақ мерзімде программалық қамтамасыз етуді құру және жетілдіруді қамтамасыз етелатын көпмақсатты стандартты тіл; МОДУЛА тілі - машиналы–бағытталған және процедуралы–бағытталған тілдердің құралдары мен ерекшеліктерін біріктіреді, құрылғыларды басқару, хабарлар ағындарын басқару ішкі программаларын жазуға арналған құралдарды қамтиды.

Проблемалы- және процедуралы–бағытталған тілдердің арасындағы шекара айқын емес (шартты түрде анықталғаг).

Программаның қандай алгоритмдік тілде жазылғандығына тәуелсіз есептерді даярлап ЭЕМде шешу кезеңдері келесідей:

1. кезең. Есеп қойылымы: есепті жан-жақты тұжырымдау, шешу әдісін таңдау.

Бұл кезеңде есептің мағыналы сипатталуы қалыптастырылады, ол мақсаттарды сипаттаудан, бастапқы ақпаратты талдаудан, есепті шешу әдісін негіздеуден тұрады.

2. кезең. Есепті алгоритмдеу: алгоритмді тұжырымдау және құру.

Бұл кезеңде блок-схема түрінде шешім алгоритмі жетілдіріледі. Күрделі есеп үшін шешімнің жалпыланған алгоритмі және деректерді өндеу процедураларын жүзеге асыратын жеке алгоритмдері құрылады.

Кейбір процедуралы программалау тілдері: Аda (жалпы тағайындалған тіл); Basic (Quick Basic); Си; КОБОЛ; Фортран; Модула-2; Pascal; ПЛ/1; Рапира; REXX.

Объектіге-бағытталған программалау тілдері.

Объектіге-бағытталған программалау тіл – объект ұғымын, оның қасиеттері мен өндеу әдістерін сүйемелдейтін программалау тілі.

Объектіге-бағытталған программалау тіл - мұрағаттау мен полиморфизмді сүйемелдейтін объектілі программалау тілі.

Объектіге-бағытталған программалау тіл – объектіге-бағытталған программалау принциптердің негізінде құрылған тіл.

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

Мысалы, «адам» объекті «есімі», «фамилиясы» өрістеріне және «тамақтану», «ұйықтау» әдістеріне ие болуы мүмкін. Сәйкесінше біз программада Адам.Есімі:="Абай" және Адам.Тамақтану (нан) операторларын пайдалана аламыз.

Объектке–бағытталған программалау (ОБП) – негізгі тұжырымдамалары объект және класс ұғымдары болатын программалау парадигмасы.

Класс – объекттердің-экземплярлардың құрылысын сипаттайтын тип. Классты оған сәйкес объекттер құрылатын чертежбен салыстыруға болады. Әдетте класстарды олардың объекттері пән саласының объекттеріне сәйкес болатындай етіп жетілдіреді.

Прототип оның бейнесі мен ұқсастығы бойынша басқа объекттер құрылатын үлгілі объект.

Объектілі программалау тілдерін оларда класстар мен объекттер бар объектілі және оларда алдын ала анықталған класстарды пайдалану мен қатар программалаушы өзінің тұтынушылық класстарын бере алатын объектке–бағытталған тілдерге бөледі.

Объектілі және объектке-бағытталған программалау деректер мен оларды өңдейтін ішкі программалар (процедуралар, функциялар) формальды түрде біріктірілмеген процедуралық программалау идеологияның даму нәтижесінде пайда болды. Сонымен қатар, қазіргі объектке-бағытталған программалауда оқиға (оқиғаға-бағытталған программалау) және компонент (компоненттік программалау) ұғымдарының маңызы елеулі.

Қазіргі кезде объектке-бағытталған программалау қолданбалы программалау саласында абсолютті лидер болып табылады (Java, C#, C++, JavaScript, ActionScript және басқа тілдер). Сонымен қатар, жүйелік программалау саласында әлге дейін процедуралық программалау парадигмасы алдыңғы орында және программалаудың негізгі тілі болып С тілі табылады. Сонымен қатар, операциялық жүйелердің қолданбалы және жүйелік деңгейлерінің өзара әрекеттесуінде елеулі әсерін объектке-бағытталған программалау тілдері тигізе бастады. Мысалы, C++ тілінде жазылған Qt жүйесі мультиплатформалық стандартқа айналды.

Объектке бағытталған принциптері ұсынылған программалау тілдердің біріншісі Симула тілі болған. Өзінің пайда болу мерзімінде (1967 ж) бұл программалау тілі шың мәнінде революционды идеяларды ұсынды: объекттер, класстар, виртуалды әдістер және басқалар, бырақ оның бәрі замандастармен орасан зор нәрсе ретінде қабылданған жоқ. Бырақ концепциялардың көбісін Алан Кэй және Дэн Ингаллс Smalltalk тілінде дамытылды. Дәл осы тіл кең тараған объектке-бағытталған тілдердің біріншісі болды.

Қазіргі замаңғы объектке бағытталған тілдерде келесі әдістер пайдаланылады:

  • Типизациялау. Компиляциялау моментіндегі көптеген қателерді жоюға мүмкіндік береді, операциялар тек типтері лайықты болатын объекттерге ғана қолданылады. По

  • Деректер абстракциясы. Объекттер предметтік саланың нақтылы мәністердің қарапайымдалған, идеалистелген сипаттауы болып табылады. Егер сәйкес модельдер шешілетін есепке адекватты болса, онда олармен жұмыс істеу объекттің барлық мүмкін болатын қасиеттері мен реакцияларының төмен деңгейлі сипатталуымен жұмыс істуге қарағанда едәуір ыңғайлы.

  • Инкапсуляция. Инкапсуляция – оған сәйкес кезкелген класс қара ящик ретінде қарастырылуы тиіс принцип – классты тұтынушы класстың тек интерфейстік бөлігін ғана көріп пайдалануы тиіс (яғни, класстың декларацияланған қасиеттері мен әдістер тізімін) және оның ішкі іске асырылуына ұғынбау керек. Сондықтан оларға оқу немесе жазу бойынша қол жеткізу тікелей емес әдістер арқылы іске асырылатындай етіп деректерді классқа инкапсуляциялау керек. Инкапсуляциялау әдісі класстар арасындағы байланыстар саны минимумдеуге және сондықтан класстардың тәуелсіз іске асырылуы мен модификациялауын қарапайымдауға мүмкіндік береді.

  • Мұрагерлік. Мұрагерлік деп класс-тегінің (ата-бабаны кейде суперкласс деп атайды) барлық қасиеттері мен әдістерін сақтап қалып және қажет болса жаңа қасиеттер мен әдістерді қосып бір класстан екінші классты туындылау мүмкіндігін атайды. Мұрагерлік қатынас арқылы байланысқан класстар жиынтығын иерархия деп атайды. Мұрагерлік нақтылы әлемнің иерархиялық сияқты қасиетін бейнелеуге арналған.

  • Полиморфизм. Полиморфизм деп бірдей бір программалық код (полиморфты код) оны шақыруда қай класстың объектті пайдаланатына тәуелді әртүрлі орындалатын құбылысын атайды.

  • Полиморфизм әдістің сигнатурасын міндетті түрде сақтап қалып тек-класс әдісінің іске асырылуын ұрпақ-класс ішінде өзгерту арқылы қамтамасыз етіледі. Ол тек-класс интерфейсін өзгеріссіз сақтап қалуды қамтамасыз етіп кодтағы әдіс аталуын түрлі класстармен байланыстыруды іске асыруға мүмкіндікбереді – қай класс объектісінен шақыру жүзеге асырылатын болса сол класстан берілген атаулы әдіс алынады. Мұндай механизм динамикалық (кеш) байланыстыру деп аталады. Ал статикалық (ерте) байланыстыру программаны компиляциялау барысында іске асырылады.

Негізгі тұжырымдамалар. Жүйе объекттерден тұрады. Объекттер белгілі бір түрде өзара әрекеттеседі. Әр объект өз күйі және тәртібі арқылы сипатталады. Объект күйі деректер өрістерінің мәндері арқылы беріледі. Объект тәртібі әдістер арқылы беріледі.

Объекке-бағытталған программалау тілі (ОБП-язык) — объекке-бағытталған программалауға қолайлы тіл.

Объекке-бағытталған программалау тілдердің қысқаша тізімі:

C#; C++; Java; Delphi; Eiffel; Simula; D (программалау тілі); Io; Objective-C; Object Pascal; VB.NET; Visual DataFlex; Perl; Php; PowerBuilder; Python; Scala; ActionScript 3.0; JavaScript; JScript.NET; Ruby; Smalltalk; Ada; Xbase++; X++; Vala.

Жалпы тағайындалған объекке-бағытталған тілдермен қатар мамандандырылған ОБ тілдері де бар.

3 лекция Пайдаланушының ДК мен байланысын қамтамасыз ететін сұхбаттық құралдары. Программалаудың біртұтас жүйелері. Техникалық есептер қойылымдарының жіктелуі. Есептеудің типтік құрамды бөліктері: талдау, синтездеу, шешім қабылдау. Ғылыми-техникалык есептер алгоритмдер сұлбаларының мысалдары

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]