Лекция: 30 сағ. СӨЖ: 30 сағ обсөЖ: 30 сағ Барлық сағат саны: 90 сағ


Лекция 20 Таќырыбы: Программалау тілдерініњ сипаттары мен жіктелуі (жалғасы)



бет13/24
Дата24.04.2016
өлшемі1.25 Mb.
#79160
түріЛекция
1   ...   9   10   11   12   13   14   15   16   ...   24

Лекция 20

Таќырыбы: Программалау тілдерініњ сипаттары мен жіктелуі (жалғасы)




  1. Операциялық жүйе программалары және жоғары деңгейлі тілдер

  2. Программалау тілдерінің моделі бойынша жіктелуі

3. Бізге комьпютердіњ ж±мысын жоспарлау, ±йымдастыру жєне басќару ‰шін ќатынас тілі ќажет. Негізінде осы айтылѓандардыњ барлыѓы белгілі программалардыњ орындау арќылы ж‰зеге асады. Оларды біріктіріп операциялыќ ж‰йе (ОЖ) деп атайды. ОЖ программалары берілген есепті шыѓаратын ж±мысшы программа орындалуы кезінде оныњ алѓашќы деректерін енгізу, саќтау жєне нєтижесін шыѓару сияќты ќызметтер кµрсетеді. Сонымен ќатар, осы ж±мысшы программаѓа ќажетті комьпютердіњ жабдыќтарын Альп береді, оныњ орындалу кезегін аныќтайды, т.б. ж±мыстар атќарады. Яѓни, ОЖ программалары ішінде басќару жєне ќызметші программалары бар. Ќысќасы, комьпютердегі программалар, былайша айтќанда “программалыќ ќоѓам” ќ±рады. Б±л “ќоѓамдаѓы” программалар µзара ќатынас жасауы ‰шін жєне олардыњ ж±мысын алѓаш бастап беру ‰шін немесе ж±мыстыњ соњын белгілеу ‰шін жоѓарыда айтылѓан ќатынас тілі ќолданылады. Єдетте, осындай ќатынас тілдерін оператциялыќ ж‰йеніњ тілі немесе тапсырмаларды басќару тілі деп атайды. Б±л тіл дер, бір жаѓынан операциялыќ ж‰йе белгілі комьпютердіњ маркасына ‰йлескенде осы марканыњ ерекшеліктері мен ќасиеттерін ќамтитын болады. Сондыќтан оларды машинаѓа байланыс тілдер класына жатќызуѓа болады. Ал екінші жаѓынан, кейбір операциялыќ ж‰йелер тілі машинаѓа байланыссыз болады (мысалы, Unix деген операциялыќ ж‰йеде ).

Дењгейі жоѓары, машинаѓа байланыссыз тіл дер табиѓи тілдерге жаќын болады. Б±лар негізінен алгоритмі оњай жєне т‰сінікті жазу ‰шін арналып жасалынады. Оларда комьпютерлердіњ ерекшеліктерін ќамтитын н±сќаулар мен амалдар болмайды деседе д±рыс. Біраќ, б±л тілдерде жазылѓан программалар машинаѓа байланысты тілднрде жазылѓан программаларѓа ќараѓанда комьпютердіњ кµп ресурсын талап етеді. Мысалы, орындалуы кµп уаќыт жєне орналасуы кµп жер алады.

Осы тіл дер ќандай есептерді шешуге ыњѓайлылыѓына байланысты тµмендегідей болып бµлінеді:

  • сандыќ есептерге арналѓан тіл дер;

  • символдыќ есептерге арналѓан тіл дер;

  • логикалыќ есептерге арналѓан тіл дер;

  • экономикалыќесептерге арналѓан тіл дер;

  • моделдеу есептеріне арналѓан тіл дер, т.с.с.

Жалпы, осы айтылѓан тілдердіњ барлыѓын проблемаѓа баѓытталѓан тіл дер деп те атауѓа болады.

Жоѓарыда келтірілген есептердіњ барлыѓын шыѓаруѓа м‰мкіндік беретін тілдерді амбебап тіл дер деп атайды. Мысалы, ондай тілге PL/I (ПЛ/І) жєне Ada (Ада) тілдерін жатќызуѓа болады. Б±л тілдерде шамалардыњ барлыќ типтері жєне оларѓа орындалатын амалдар аныќталѓан. Єдетте, б±л тіл арќылы кез келген есепті шыѓаруѓа болѓанымен ондаѓы программаны кµлемі µте ‰лкен болады.Сондыќтан ол комьпютердіњ кµп ресурсын ќажет етеді.

4
. Программалау тілдері, табиѓи тілдері сияќты, µздерініњ моделі (ќ±рылу негізі) бойынша бµлінеді. Мысалы, табиѓи тілдерді біз т‰ркі тілдері, славиан тілдері, роман тілдері, арап тілдері, парсы тілдеріжєне т.с.с.деп топќа бµлеміз. Ал программалау тілдерін процедуралыќ тіл дер, функционалдыќ тіл дер, логикалыќ тіл дер жєне продукциялыќ (алмастырымдыќ) тілдер деп бµлуге болады.


Программалау тілдердіњ ішінде ењ алѓаш пайда болѓандары жєне ењ кµп тараѓандары процедуралыќ тіл дер, ал процедуралыќ тілдердіњ ішіндегі ењ бір інші пайда болѓаны ФОРТРАН (1955ж).

Процедуралыќ тілдер жµнінде функционалдыќ программалаудыњ негізін салушы Америка оќымыстысы Дж Бэкус µзініњ Тьюринг сыйлыѓыныњ (информатика ѓылымы бойынша ењ жоѓарѓы сыйлыќ) лауреаты болуына байланысты лекциясында Ада тілінде барлыќ теориялыќ с±раќтардыњ шешімдері орын тапќан деп дєлелдейді (Ада тілі 1975 жылы АЌШ-њ Ќорѓаныс министрлігініњ жариялаѓан конкурсты жењіп алѓан Жан Ишбианыњ басќаруымен француз ѓалымдары 1979 жылы жасаѓан тіл. Б±л тілдіњ аты д‰ние ж‰зіндегі ењ бірінші программалаушы єйел, лорд Байронныњ ќызы, Чарльз бэббидждіњ ќызметкері Ада АВГУСТ есімімен аталѓан).

VI.-СУРЕТ. Процедуралыќ программалау тілдердіњ даму таихы.

М±нда ќатањ баѓыттамамен кµп єсер ететіндікті, ал жіњішке баѓыттамамен аз єсер еткендікті белгіленген. Осыѓан сєйкес, рпоцедуралыќтілдіњ дамуыныњ басымшылыѓы АЛГОЛ тілініњ концепцияѓа негізделгендігін байќауѓа болады.

Жалпы, процедуралыќ тілде алгоритм єрекеттерді жєне оларды орындау ‰шін ќажет н±сќауларды бейнелеу арќылы жазылады. Процедуралыќ тілдердегі программа бір лік оператор деп аталынады. Ењ кіші программалыќ бір лік болып меншіктеу операторы есептелінеді. Он, жалпы т‰рде, былай бейнелеуге болады:



айнымалы µрнек,

м±нда “ “ – меншіктеу амалыныњ белгісі, ол єр программалау тілінде єр т‰рлі белгімен берілуі м‰мкін, мысалы, “=”-ФОРТРАН жєне Пейсик тілдерінде, “:=”-АЛГОЛ жєне Паскаль тілінде. Меншіктеу операторыныњ орындалу екі этапта µтеді: алдымен µрнектіњ мєні есептелінеді, содан кейін осы есептелінген мєн айнымалыѓа меншіктеледі. Єрбір программалау тілінде кездесетін деректерді Тенгізу операторы жєне шыѓару операторы меншіктеу операторыныњ дербесжаѓдайлары ьолады. Деректерді енгізген екзде айнымалы ретінде комьпютер жедел жадынадаѓы адрес, ал µрнек ретінде сыртќы ќ±рылѓыныњ аты немесе сыртќы ќ±рылѓыныњ жадындаѓы адрес алынады, ал деректерді шыѓарѓан керісінше болады: айнымалы- сыртќы ќ±рылѓы немесе жадыѓа, µрнек- жедел жадыѓа сєйкес ќ±рылады:

Процедуралыќ тілдерінде басќа программалыќ бірліктерге тізбектеу операторы, тармаќталу операторлары жєне ќайталау операторлары сияќтылар жатады.

Функционалдыќ программалау функционалдыќ тіл дер арќылы ж‰зеге асады. Б±л тілде алгоритм функцияларыды бейнелеу арќылы жазылады. Функциялар ќарапайым функція немесе к‰рделі функція болуы м‰мкін. К‰рделі функция ќарапайым функциялардыњ композициясынан (суперпозициясынан) т±рады. Функционалдыќ тідерде программа бірлігі ретінде функція ќабылданады. Осы тілдердіњ мысалы ретінде ЛИСП, ПЛЭНЕР, CONNIVER, KRL, FRL, жєне FP сияќты тілдерді алуѓа болады.

Логикалыќ тілде алгоритм шыѓарылатын есептіњ алѓашќы деректерініњ жєне оларда орындалатын амалдардыњ ќасиеттері мен ќатынастары туралы ќ±рылѓан т±жырымдарды логикалыќ береже депр ќарастыруѓа болады жєне єрбір береже белгілі бір шартты береді. Есептіњ нєтидесі с±рау арќылы аныќталады. Егер осы с±рау бойынша логикалыќ ережелердіњ орындалѓанын дєлелдесек, онда есептіњ нєтижесініњ болѓаны, єйтпесе не басќа с±рау ќою керек, не ќойѓан с±рауѓа теріс жауап алѓанымыз. Осыны ж‰зеге асару ‰шін осы тілде белгілі бір формальды дедукциялыќ ж‰йені ќолданады. Кейінгі кезде логикалыќ тіл дер µте ќауырт дамуда. Себебі, ло есептегіш техниканыњ5-буынында негізгі машиналыќ тіл ретінде ќабылданбаќшы. М±ндай тілдерге мысал ретінде ПРОЛОГ, ЛОГО сияќтыларды алуѓа болады.

Продукциялыќ (алмастырымдыќ) тілде алгоритм алмастыру ережелерін кескіндеу арќылы жазылады. Алмастыру ережелері “сол жаѓы” жєне “оњ жаѓы” деп аталатын екі бµліктен т±рады. Ереженіњ сол жаѓында осы ереженіњ атауы жєне алѓашќы деректердіњ ‰лгілері орналасады, ал оњ жаѓында ‰лгілерге сєйкес келген алѓашќы деректермен не істеу керектігі кµрсетіледі. Б±л ‰шін басќа ережелерді шыѓаруѓа болады. Ал ережелерді ќ±ру “жоѓарыдан тµмен” алдымен берілген есептіњ жалпы маз±нына сєйкес алмастыру ережесі ќ±рылады. Сонан кейін осы есепті шешу кезінде пайда болван жаѓа ±ѓымдарѓа сєйкес алмастыру ережелері ќ±рылады. Яѓни, б±л тілдегі программаныњ ќ±рылымы иерархиялыќ (б±таќ тєрєздес) болады. Оныњ кез келген дењгейінде тексеруге немесе µзгерістер енгізуге болады. Осындай тілдердіњ мысалы ретінде СНОБОЛ немесе РЕФАЛ сияќты тілі алуѓа болады.




Достарыңызбен бөлісу:
1   ...   9   10   11   12   13   14   15   16   ...   24




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет