Дәріс конспектілері (тезистері) уе-10-20 фр 03



бет45/46
Дата14.01.2023
өлшемі2,05 Mb.
#61250
түріКонспект
1   ...   38   39   40   41   42   43   44   45   46
Байланысты:
Дәріс мәтіні

Бақылау сұрақтары:

  1. Т-жүйесіне тән негізгі ерекшелік.

  2. Берілген G функциясы таза және онда tfun атрибуты.

  3. t=b+a*w операторда фрагменттің орындалуы.

  4. Т-жүйесінің базалық қағидалары.

  5. Таза функциялар дегеніміз.

Пайдаланылған әдебиеттер
1. Воеводин Вл. Параллельные вычисления. Санкт-Петербург, 2012 г.
2. Грегори Р. Эндрюс. Основы многопоточного, параллельного и распределенного программирования. Пер. с. англ. –М.: Издательский дом «Вильямс», 2013 г.
3. Акжалова А.Ж. Параллельные вычисления (учебное пособие). – Алматы, 2014 г.
4. Дүйсембиев Е.Е. Параллель есептеулер. Оқулық – Алматы 2011 ж.


30-Дәріс
Тақырыбы: Бағдарламалаудың басқа тілдері және жүйелері.
Жоспар:

  1. НОРМА бағдарламалау жүйесі.

  2. НОРМА тіліндегі бағдарлама жазбасы.

  3. НОРМА тілінің жоғары деңгейін таңдау.

НОРМА тілі мамандандырылған процедуралық емес тіл болып табылады. Ол негізінен есептеуіш сипатындағы мәселелерді шешуге, дербес жағдайда математикалық физика есептерін шешуге арналған десе болады. Тілдің барлық конструкциялары декларативті сипатта және мәндерді есептеу ережесін суреттейді. Тілдің негізгі тағайындалуы бағдарламаны құрастыру процесін автоматтандыру болып табылады. Бағдарламашы мұнда негізінен математикалық формулалар терминінде жұмыс істегендіктен, ол өз кезегінде оның жұмысын айтарлықтай жеңілдетеді және ықшамдайды. Транслятордың жұмысы күрделенеді. Дәстүрлі мәселелермен қатар, мысалы, дербес жағдайда синтаксистік және семантикалық талдау, ол шығыс бағдарламасының синтезін орындайды.
Берілген есептің спецификациясына сәйкес бағдарламаны автоматты түрде құруға мүмкіндік беретін идеялар, 1963 жылы И. Б. Задыхайлоның жұмысында [21] келтірілген. Ол идеялардың одан ары дамуы НОРМА тілінің және әртүрлі платформалар үшін транслятордың бірнеше нұсқауының пайда болуына әкелді.
Алғашында НОРМА термині (Непроцедурное Описание Разностных Моделей Алгоритмов) алгоритмдердің айырымдық модельдерінің процедуралық емес сипаттамасы деп таратылып айтылды. Соңынан басқа трактовка пайда болды: – (НОРМАльный уровень общения прикладного математика с компьютером) қолданбалы математиктің компьютермен қатысының НОРМАльды деңгейі. Қолданбалы бағдарламаны құрастырушы, нақты компьютердің ерекшеліктерін негізге ала отырып, өз пәндік облысының үйреншікті терминінде ойлайды. РҒА (РАН) В. М. Келдыш атындағы қолданбалы математика институтының нақты қажеттіліктерін ескере отырып, тілдің авторлары математикалық физика мәселелерін шешуді барынша (максималды) ықшамдауға тырысты. Пәндік облыс спецификасы - бұл торлық тәсілдерді негізге алу, соларға бағытталу.
НОРМА тіліндегі бағдарлама жазбасы операцияның орындалу реті туралы ешқандай мәліметті қажет етпейді. Тіл сөйлемдерінің реті еркін болуы мүмкін. Есептеулерді қалай ұйымдастыру керек екенін түсіндірмей ақ, бұл тілде есептеулерге сұраныс жасау мүмкіндіктері қарастырылған. Барлық ақпараттық байланыстар, берілген бағдарламаны талдау және шығатын тексті синтездеу этапында транслятор–синтезатормен анықталады және ескеріледі.
Есептеулерді ұйымдастырудың нақты тәсілін таңдау трансляторға жүктеледі. Дербес жағдайда, мысалы, қорытынды бағдарламаны синтездеу этапында, ол тізбекті кодты да, параллель кодты да генерациялай алады.
НОРМА тілінің жоғары деңгейін таңдау оның өзіне тән сипатын анықтайды – бұл айнымалыны бір реттік меншіктеу тілі. Мұнда әрбір айнымалы өзіне бір рет қана мән қабылдай алады және жады, қосымша әсер, меншіктеу операторы және басқарушы операторлар сияқты түсініктер НОРМА тілінде «анықтама бойынша» жоқ. Барлық дәстүрлі бағдарламалау тілдерінде бұл түсініктер бар, себебі олардың көмегімен үнемділік, жадының таратылуы, операторлардың орындалу ретін анықтау және т.б. сұрақтарды ескере отырып нақты алгоритм құру керек болады. Негізінде НОРМА тіліндегі жазба, берілген нақты есепті шешудің сандық әдісінің жазбасы болып табылады.
НОРМА тіліндегі жазбаларда артық ақпараттық байланыстар болмайтындығы да маңызды. Мұндай байланыстар әдетте бағдарламалау процесі барысында пайда болады, және олар алгоритмдер мен бағдарламаны ықшамдау кезінде анық көрінеді.
Бағдарламалардың дәл ақпараттық құрылымын анықтау күрделі мәселе болып табылатыны белгілі. НОРМА тілі бізге бағдарламаның тізбекті этапын өткізуге мүмкіндік береді, ал параллель бағдарламаны генерациялау үшін бірден математикалық формулалар терминіндегі жазбасынан бастауды ұсынады. Бұл пайымдау бойынша, dataflow-компьютерлерін бағдарламалау үшін НОРМА тілінің потенциалын зерттеу өте қызықты болары анық.
Алынған нәтижелер авторлармен шынайы транслятор-синтезатор құру барысында пайдаланылды. НОРМА тілінің сипаттауы бойынша, ол тізбекті компьютерлер үшін де, таратылған жадылы және ортақ жадылы параллель есептеу жүйелері үшін де шығыс бағдарламаларын алуға мүмкіндік береді. 200
Бұл бағдарламалар Fortran MPI, Fortran PVM, Fortran 77 және Fortran тілінің басқа да диалектілерінде жазылуы мүмкін.
НОРМА тіліндегі бағдарлама бір немесе бірнеше бөлімдерден тұрады. Бөлімдер үш түрлі болуы мүмкін – негізгі (басты) бөлім, қарапайым бөлім және функция-бөлім. Бөлімнің түрі сәйкесінше MAIN PART, PART және FUNCTION кілттік сөздерімен анықталады. Бөлімдер бір-бірін өз атауларымен шақырулары және деректерді формальды және фактілік параметрлер механизмі, болмаса сыртқа файлдар арқылы INPUT және OUTPUT сипаттамалары көмегімен жіберуі мүмкін.
Бөлімдерді рекурсивті шақыруларға тыйым салынған.
НОРМА тілінде ауқымды айнымалылар түсінігі жоқ. Бағдарламада, RESULT кілттік сөзіне дейінгі формальды параметрлер тізімінде көрсетілген барлық параметрлер бастапқы деректер, ал ол кілттік сөзден кейінгі келтірілген параметрлер есептеу нәтижелері болып есептеледі. Бір параметр бір мезгілде бастапқы және нәтиже бола алмайды, себебі бұл айнымалылардың мәндерді қайта меншіктеуіне алып келеді, ал НОРМА тілінде қайта меншіктеуге рұқсат етілмейді. Функция-бөлімінде RESULT кілттік сөзі қолданылмайды, себебі функцияны есептеу нәтижесі функцияның атауымен және типімен байланыстырылады.
Бөлім денесінде сипаттаулар, операторлар және итерациялар берілулері мүмкін. Олардың орналасу тәртібі, жалпы айтқанда еркін – мүмкін болатын шектеулер транслятордың кіріс тілін сипаттау кезінде анықталады.
НОРМА тілінің базалық ұғымы облыс болып табылады. Облыс - бұл n-өлшемді индексті кеңістікте нүктелер координатасын беретін
{i1, …, in}, n > 0, ij > 0, j=1…n,
түріндегі бүтінсанды жиынтықтар бірігуі. Есептің n-өлшемді кеңістігінің әрбір координат өсімен индекс аты байланыстырылады.
Бірөлшемді облыс үғымы, облыстарды сипаттау кезіндегі басты маңызды ұғым болып табылады. Бірөлшемді облыс, индекстік кеңістіктегі қандай да бір координат өсінде нүктелер диапазонын беру үшін қызмет етеді. Дербес қарапайым жағдайда бірөлшемді облысты сипаттау кезінде, бірөлшемді облыстың аты, индекс аты және индекс мәндерінің өзгеру шекаралары көрсетіледі. Мысалы, НОРМА тілінің келесі екі сипаттаулары:
ks : (k = 1..n).
js : (j = 1..10).
бірөлшемді екі облысты енгізеді. Бірінші жағдайда, үстінгі шекара n параметрінің көмегімен берілген (барлық параметрлердің мәндері параметрлерді сипаттау бөлімінде сипатталуы керек). Екінші жағдайда өлшем айқын көрсетілген. Диапазон шекаралары болып, бүтін тұрақтылардан, облыс параметрлерінен және арифметикалық операциялардан тұрғызылған бүтін оң тұрақты өрнектер алынады.
Көпөлшемді облыс «;» таңбасымен белгіленетін облыстарды көбейту операциялары көмегімен тұрғызылады. Төменде бірөлшемді облыстарды Dirk және Dirl көбейту операциясы көмегімен алынған екіөлшемді облысты сипаттау мысалы көрсетілген:
Square: ( DirK: (k=1..15); DirL: (l=1..5))
Енгізілген тікбұрышты square облыс екіөлшемді индексті кеңістіктің ішкі жиыны болып табылады. Оған бірінші координатасы 1 ден 15-ке дейін, ал екіншісі 1 ден 5-ке дейінгі мәндер болатын нүктелер кіреді.
Тікбұрышты А және В облыстарын көбейту «;» операциясы коммутативті қасиетке ие, яғни А;В=В;А. Бұл, дербес жағдайда, облысты сипаттау кезінде, индексті кеңістік бағыттарының реті бекітілмейтінін білдіреді. Егер индексті кеңістік бағыттарын бекіту қажет болса, онда INDEX кілттік сөзі көмегімен облыс индекстерінің сипаттауы беріледі.


Достарыңызбен бөлісу:
1   ...   38   39   40   41   42   43   44   45   46




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

    Басты бет