Алгоритм туралы ақпарат




Презентация қосу
Тақырыбы:
Алгоритмдік тілдің алфавиті, синтаксисі және
семантикасы. Тілдің синтаксисін синтаксистік
диаграмма және метатіл формуласы көмегімен
сипаттау.

Орындаған:Оралғазин Б.Б
Т-313 топ
Жоспар:
I.Кіріспе
1)Алгоритмді жазу жолдары
II.Негізгі бөлім
2) Алгоритмдік тілдің
құрылымы
3) Тілдің синтаксисін
синтаксистік диаграмма және
метатіл формуласы көмегімен
сипаттау.
III.Қорытынды
Алгоритм жазу жолдары
Алгоритмді компьютерде орындау үшін
оларды алдын-ала жазып алу керек. Жалпы
жағдайда, алгоритм жазудың келесі түрлері
қабылданған:
1) табиғи тілдегі жазылуы;
2) белгілі бір түйінді сөздер – терминдер
арқылы қысқаша тізбекті түрде жазу;
3) графиктік жолмен жазу;
4) программалау тілдеріндегі жазылуы.
Алгоритмдік тіл (ағылшын. algorіtmіc —
алгоритмдік және language — тіл) — ЭЕМ-мен
шығарылатын
есептердің алгоритмін бірмәнді түрде жазуға арналған
жасанды тіл. Ол белгілер(символдар) жиынтығынан ,
яғни алгоритмдік тіл алфавитінен,
синтаксистік ережелер мен семантикалық
анықтамалардан құралған.
Тілдің алфавиті – тілдің сөйлемдерін жазуда
пайдаланылатын, тілдің барлық символдарының
жиынтығы.
Тілдің синтаксисі – тілдің сөйлемдері мен оның
құрамдас бөліктерін құру үшін пайдаланылатын
ережелер жиынтығы.
Тілдің семантикасы – тілдің синтаксисі бойынша
құралған оның құрылымын түсіну ережесін
анықтайды.
Алгоритмдік тілдің негізгі белгілері латын не орыс
алфавиттері әріптері , қандай да бір таңбалар мен шартты
белгілер болуы мүмкін.
Алгоритмдік тілдің құрылымы : сөздер , сөз тіркестері
(фразалар , сөйлемдер ), кестелер мен кестелер жүйесі
Түсіндіру ережелері ЭЕМ-де аппараттармен жүзеге
асырылатын алгоритмдік тіл машиналық тіл деп аталады.
Алгоритмдік тілдің ерекшелігі: табиғи тілден бірмәнділігі
мен айқындылығы жағынан
Есептеу машинасына алгоритмдік тілін
пайдаланғанда бағдарламалау мен машина жұмысын
үйлестіретін арнайы бағдарламалаушы —
процессор қолданылады. Ол бағдарламаны енгізу,
машиналық, синтаксистік, семантикалық талдаулар,
формальды қателерді анықтау, бағдарламаны орындау т.б.
жұмыстарды атқарады.
Алгоритмдік тілдің бірнеше түрі бар. Олардың
кейбіреулері ғана (Мысалы: алгол, кобол,Фортран, Паскаль
т.б.) кең тараған.
ˣ;
Ең алғашқы алгоритмдік тіл 1955 ж. пайда болды. Ол Фортран тілі. Ол ғылыми-
техникалық және инженерлік есептерді шешуде қолданылды. Фортранды (Formula translator
ағылшын сөзінің алғашқы буындарынан құрылған – формулалар аудармасы) Джон Бэкусаны ң
басқаруымен IBM фирмасының қызметкерлері құрды. Көп жылдар өте келе Фортранның
көптеген нұсқалары пайда болды. Осы тілмен көптеген тілдердің кітапханасы жазылды.
1960ж. Алгол (Algoritmic language – алгоритмдік тіл) пайда болды. Бұл тіл де ғылыми
жұмыстарға арналды және соңғы тілдердегі блоктық құрылым түсінігі енгізілді.
IBM фирмасыныңі қолдауымен Кобол (Cobol ағылшынның Comnon business oriented
language – жұмысқа бағытталып жалпы қабылданған тіл) тілі пайда болды. Ол экономикалы қ
есептерді шешуге, ақпараттарды өңдеуге арналған.
1961ж.американдық профессор Джон Маккарти "ЛИСП” (List procssing language – тізім
өңдеу тілі) бағдарламалау тілін ойлап тапты.
1965ж. Бейсик тілі пайда болды.
1967-1968жж. PL/1 (Programming language – бағдарламалы қ ба ғыттал ған әмбебап тіл)
бағдарламалау тілі IBM фирмасында пайда болды. Бұл тіл қуатты, қиын тіл. Ол жо ғар ғы о қу
орындарында, ғылыми зерттеу орталықтарында қолданылды.
1970ж. Никлаус Вирт Цюрих политехникалық университетінде Паскаль тілін ойлап тапты.
Бұл тіл бағдарламаларды үйренуге жақсы бағытталған және қазіргі заман ғы ЭЕМ-де әрт үрлі
есептерді тиімді шешуге мүмкіндік береді.
1973ж. Франциядағы Люммин университетінің Колмероэ және бас қа да ғалымдары
"Пролог” (Prolog-programmation en logique – логикалы қ бағдарламалау) ба ғдарламалау тілін
ойлап тапты
1980ж. Ада бағдарламалау тілі пайда болды. Бұл тіл ағылшын поэты Лорд Байронны ң
қызы, есептеуіш техника тарихындағы алғашқы программист Ада Лавлейс атына берілді. Ада
тілі американың қорғаныс министрінің сұранысы бойынша әмбебап бағдарламалау тілі
ретінде Францияда құрылды. Ол ең жаңа, қуатты бағдарламалау тілі болды. Оны Паскаль мен
Алгол-68 тілдерінің ортақ қасиеттерінен құрған және ол қосымша қаситтерге де ие.
Тілдің алфавиті
Тілдің алфавиті программаның элементтерін құруда
қолдануға болатын символдар жиынынан тұрады. Оған
әріптер, цифрлар және арнайы белгілер (символдар)
жатады.
Тіл ерекшіліктеріне қарай символдар тобын
шартты түрде төмендегі топтарға жіктеуге болады:
- атаулар (идентификатор);
- цифрлар;
- айыру белгілері;
- арнайы символдар.
Атау символдары ретінде латын алфавитінің 26 әріпі
мен цифрлары қолданылады.
Арнайы символдарға пунктуация және
арифметикалық операция (амалдар) белгілері жатады.
Арифметикалық амал белгілері:
(+) – қосу; (-) –азайту;
(*) – көбейту; (/) – бөлу.
DIV – және (логикалық көбейту) операциясы;
MOD – қалдықты табу. Мысалы: 10 MOD 3 амалының
нәтижесі 1;
Логикалық амал белгілері:
AND – және (логикалық көбейту) операциясы;
OR – немесе (логикалық қосу) операциясы;
NOT – емес (терістеу немесе жоққа шығару) операциясы;
XOR – арифметикалық немесе амалы;
SHL – биттер (1 мен 0-дер)тіркесін солға ығыстыру;
SHR – биттер (1 мен 0-дер)тіркесін оңға ығыстыру;
Айыру белгілеріне бос орын, барлық басқару символдары, тыныс
белгілері, ENTER (келесі жолға көшу) пернесін басу белгісі және
түсініктемелер жатады.
Сонымен айыру белгілері: ____ (бос орын); , (үтір); . (нүкте); :
(қос нүкте); ; (нүктелі үтір) ; ` (апостроф); (;); [;] ; {;}.
Қатынас таңбалары немесе салыстыру белгілері: = (тең),
<>(тең емес), < (кіші), >(үлкен), <= (кіші не тең), >= (үлкен
не тең).
Программалау тілдерінде «өрнек», «операторлар», «тіл синтаксисі»
мен «семантикасы» ұғымдары кең пайдаланады.
Арифметикалық немесе логикалық амалдар таңбасымен біріктірілген
айнымалар атаулар, функциялар, жиымдар т.б. мағынасы бар сөздер
тізбегі - өрнек деп аталады.
Программалау тілінің белгілі бір іс-әрекетті орындай алатын
тиянақты мағынасы бар ең қарапайым сөйлем – оператор деп аталады.
Тілі объектілерін, яғни программадағы пайдаланылатын
мәліметтердің құрылымы мен ұйымдастырылуын алдын ала
анықтайтын сөйлемдер жиыны - программаның сипаттамасы болып
табылады.
Синтаксистік диаграммаларда екі геометриялық фигура
тіктөртбұрыш және (кейде дөңгелек) кең пайдаланады. Тіктөртбұрыш
ішінде тілдің анықталатын элементтер ал эллипс ішінде терминалдық
символдар, яғни анықтауды қажет етпейтін таңбалар жазылады.
Тіл синтаксисі.Синтаксистік қатені де компьютер бірден анқытайды.
Тілдің семантикасы.Программа жазудың мағаналық ережелерін тілдің
семантикасы дейді. Семантикалық қателерді компьютер анықтай
алмауы мүмкін.
Паскаль тілінде программа жеке жолдардан тұрады. Жол бойында
бірнеше оператор жазылса, олардың арасы «;» -мен ажыратылады. Бір
жолдағы таңбалар саны пробелді қосқанда 256-дан аспауы тиіс.
Түрлі ұлттар қарым-қатынас жасайтын табиғи тілден жасанды тілдің
ерекшелігі – олар жазба мәтіндерді құру үшін қолданылатыны белгілі. Бұндай тілдер
жасанды тілдерден қида жеңіл болып табылады, себебі бұл тілде көп мағыналық
пен синоним жоқ,, синтаксис пен семантика жеңілдетілген, сондай-ақ айтарлықтай
мәтіндік бағыныңқылық төмендетілген. Жасанды мәтіндердің негізгі қызметі
-ақпаратты компьютерлер мен басқару құрылғыларына беру.
Мәтін компьютер немесе басқару құрылғылары орындау қажет тапсырма
болып табылады. Бұндай тапсырманың мәтінін адам құрғандықтан, кіріс тілі деп
аталатын мәтінді жазу тілі қолданатын адамдар қолданысына ыңғайлы және
түсінікті болу керек. Адамға бағытталған тіл әдетте компьютер орындайтын
команда түрлерімен біртектес болмайды. Компьютерге түсінікті командалар артынан
кіріс тілінде мәтіннің өзгертілуін орындау үшін транслятор деп аталатын арнайы
құрылғы немесе бағдарламалар қолданылады.
Трансляторды құру тапсырмасы айтарлықтай қиын және жауапты іс. Оның
шешім қабылдау сапасына өзгертуді орындауға қажет ресурстар байланысты
болады. Және бұнымен қатар кіріс тілінде жазылған мәтін мазмұнын дәлме-дәл
жеткізу трансляторға қойылатын негізгі талап болып табылады. Ондай өзгертулерді
іске қосу үшін тіл синтаксисі деп аталатын кіріс мәтіндерінің құрылу ережелерінің
дәлме-дәл суреттелуі мен тіл семантикасы деп аталатын мәтін мазмұнын
баяндайтын талдау ережелері қажет.
Синтаксис пен семантиканы мазмұндау үшін түрлі құралдар қолданылады.
Осылайша тіл синтаксисін формалдық грамматика, ал семантиканы атрибуттық
грамматика көмегімен мазмұндауға болады.
Синтаксисті мазмұндаумен байланысты мәселелер бөлімінде
алфавит, шынжыр, грамматика, шығару, тіл және т.б. базалық
түсініктер анықтамалары беріледі. Содан соң формалдық
грамматиканың мүмкін классификацияларының бірі – Хомс бойынша
классификациялау қарастырылады. Бұл классификация бағдарламалау
тілін тәжірибеде мазмұндау үшін қолданылатын грамматика типін
көрсетуге мүмкіндік береді. Бөлімнің соңында бағдарламалау тілінің
кейбір конструкцияларына арналған жай грамматикаларды құру
мысалдары қарастырылады.
Формалдық тіл мен грамматиканы анықтауға қажет алғашқы
және ең жай түсінік болып алфавит пен алфавиттегі сөздер табылады.
Символдардың бұл қарастыруда бөлінбейтін соңғы жиыны сөздік
немесе алфавит деп, ал жиынға жататын символдар - алфавит әріптері
деп аталады.
Мысалы, әрбіреуі екі символдан тұратын алфавиті 5
әріпті құрайды, ал алфавиті 4 әріпті құрайды.
Алфавит әріптерінің реті бұл алфавиттегі сөз немесе шынжыр деп
аталады. Сөздегі әріптер саны жиынының ұзындығы деп аталады. Бос
шынжыр – бұл бірді-бір әріпі жоқ шынжыр. Оң жақтан немесе сол
жақтан шынжырына кез келген бос шынжырдың қосылуы
шынжырын өзгертпейді .
А алфавитінің символдарынан құрылған барлық мүмкін
шынжыр жиындарын анықтау үшін А+ белгісі қолданылады.
Объект-тілді сипаттау үшін метатіл қолданылуы қажет. Бірақ метатіл оъект-тілдің құрылымын
бірмәнді анықтау үшін формальді тілдің бірқатар қасиеттеріне ие болуы керек, Б ұдан, метатіл алдымен өзі
сипатталуы қажет, бұл үшін ден сол сияқты тіл қажет -* әрине, мұндай процесстің ешқашан бітпейтіндігі
туралы ой қалыптасуы мүмкін. Бірақ кез-келген метатілді сипаттау үшін табиғи тілді қолдануға болатыны
дәлелденген. Осылайша формальді тілді құру үшін табиғи тілдің құралдарымен метатілді сипаттау қажет,
содан кейін метатіл арқылы формальді тілді сипаттау қажет. Метатілдерді сипаттаудың екі н ұсқасын
қарастырайық.
Ең кең тараған метатілдердің бірі - Бекус-Наур нотациялары. Бекуса-Наура формасында сөйлем құру үшін
әмбебап метасимволар қолданылады: { <, >, ::=, | }. Алғашқы екі метасимволды «бұрыштық жақшалар» деп
атайды – олар терминді емес сөздерді қоршауға қажет. «::=» символы «анықтама бойынша бар» деп
оқылады; «»"символы – «немесе». Бекус-Наура формасында жазылған сөйлемдерде бұрыштық жақшаларда
тұрған терминалды емес символ объект-тілдің құрылымы анықтайтын роль ат қарады. Бекус-Наур
формулаларында әмбебап метасимволдардан айрықша объект-тілдің алфавитінен терминалды символдар
қолданыла алады. Формальді тілдің терминалды символдары ешн әрсемен шектелмейді.
Формальді тілдердің сипатталуы формулалар тізбегінен т ұрады, оларды ң әр қайсысыны ң сол жа ғында
объект-тілдің қандай-да бір құрылымын бейнелейтін бір метасимвол болады. М ұндай формуланы ң о ң жа ғы
немесе орбъект-тілдің метасимволдар және терминалды символдар тізімінен (б ұл жерде ешқандай б өлгіштер
қойылмайды), немесе «|» символымен бөлінген тізімдер жинағынан т ұрады. Оң және сол б өліктері «::=»
таңбасымен бір формулаға бірігеді.
Егер кез-келген теминальді емес символды теминалды символдар тізбегі ретінде к өрсетуге болатын болса, онда
объект-тілді толығымен Бекус-Наур формасында анықталған деп есептеуге болады.
<идентификатор>::=<әріп>|<идентификатор><әріп>|<идентификатор>
<цифр>
<әріп>::= a|b|c|d|e…
<цифр>::= 0|1|2|3|…|9
Мысал ретінде көптеген программалау тілдерінде қолданылатын «идентификатор» ұғымын
анықтауды қарастыруға болады.табиғи тілде анықтама төмендегідей айтылады: «Идентификатор – бұл
әріптен басталатын әріптер мен цифрларлың кез-келген тізбегі». Бекус-Наур формасында оло төмендегідей
көрінетін болады:
Осы ұғымның анықтамасында рекурсивтілік бар екені көрінеді, себебі «идентификатор» ұғымы өзі
арқылы анықталып тұр. Бір әріптен тұратын идентификатор қарапайым болып табылады. Бекус-Наур
нотацияларының жетістігі олардың әріптік т үрде к өрсетілуі;
Қорытынды:

Кез-келген тілдегі мәтінде төрт негізгі элементті бөліп көрсетуге болады:
символдар, сөздер, сөз тіркестері және сөйлемдер. Алгоритмдік тіл де осындай
элементтерден тұрады: символдар, лексемалар, өрнектер, операторлар.
Лексемалар символдардан, өрнектер лексемалардан және символдардан, ал
операторлар символдардан, лексемалардан, өрнектерден тұрады .Символдар-
негізгі бөлінбейтін таңбалар; Лексема- өзіндік мағынасы бар тіл бірлігі;
Өрнек- қандай да бір мәннің есептелу ережесі; Оператор- қандай да бір істі ң
аяқталған сипаттамасы. Алгоритмдік тіл құрамы: Тіл алфавиті: бас және кіші
латын әріптері; 0-ден 9-ға дейінгі араб цифрлары; Арнайы белгілер: [] {} , . ( ) +
- / * \ % ; : ? < > = ! & # ^ “ ' бос орынды символдар: бос орын (пробел),
табуляция символы, жаңа жолға көшу символы Символдардан лексемалар
құралады: идентификаторлар; түйінді сөздер; операция таңбалары;
тұрақтылар; бөлгіштер (жақша, нүкте, үтір, бос орынды символдар).
Идентификаторлар– программалық объектінің аты. Әріп немесе сызық
таңбасы идентификатордың бірінші символы болуы мүмкін, бірақ цифр бола
алмайды. Түйінді сөздер – компилятор үшін арнайы мәні бар резервтелген
идентификаторлар. Операция таңбалары– операндтарға қолда- нылатын бір
немесе бірнеше символдар. Тұрақтылар - өзгермейтін шамалар.
Комментарийлер – компилятор үшін маңызы жоқ программаның бөлігі және
программа мәтінін оқу ыңғайлы болуы үшін қолданылады. Ол // символынан
басталады.
Пайдаланылған әдебиеттер

1. http://reftrend.ru/836751.html
2.Стариченко Б.Е. Теоретические основы информатики: Учебное
пособие для вузов. - 2-е изд. перераб. и доп. - М.: Горячая линия-Телеком,
2003. -312 с, ил.
3.Информатика: Учебник. - 3-е перераб. изд. /Под. ред. проф. Н.В.
Макаровой. - М.: Финансы и статистика, 2001. - 768 с: ил.
4.Савельев А.Я. Основы информатики: Учеб. для вузов. - М.: Изд-во
МГТУ им. Н.Э. Баумана, 2001 - 328 с, ил. (Сер. Информатика в техническом
университете).
Назарларыңызға
рахмет!!!

Ұқсас жұмыстар
Шешілмейтін алгоритмдер туралы түсінік. Алгоритм .күрделілігі. Алгоритм түсінігінің функция түсінігімен байланысы. Алгоритмдік тіл және оны сипаттамалар
Тьюринг машинасы. Тьюринг тезисі және оның негіздемесі. Марковтың нормальды алгоритмы. Нормальдау принциптері және оның негіздемесі. Марковтың нормальды алгоритмі және Тьюринг машинасының композициясы
Алгоритм күрделілігі
Алгоритмдер ұғымы туралы түсінік
Алгоритм түсінігі
Алгоритмдер туралы түсінік. Алгоритм күрделілігі
Тьюринг машинасы және Пост машинасы
Алгоритм және оның атқарушылары
Марковтың нормальды алгоритмі
Тьюринг машинасы. Тьюринг тезисі жә не оның негіздемесі. Марковтың нормальды алгоритмы. Нормальдау принциптері жә не оның негіздемесі. Марковтың нормальды алгоритмі жә не Тьюринг машинасының композициясы
Пәндер