Э. А. Абдыкеримова



Pdf көрінісі
бет40/85
Дата03.02.2023
өлшемі1,31 Mb.
#65038
1   ...   36   37   38   39   40   41   42   43   ...   85
  
 
8.5 Марковтың нормальды алгоритмдері 
Алгоритм ҧғымын формальдау ҥшін орыс математигі А.А.Марков 
ассоциативтік 
есептеулерді 
қолдануды 
ҧсынды. 
Мҧнда 
алгоритм 
ауыстырымдар жҥйесі тҥрінде беріледі, олар қандай символдарды ауыстыру 
керек екендігін және бҧл ауыстырулар қандай ретпен жҥретіндігін кӛрсетеді. 
Мҧндай тәсілді А.А.Марков 50–ші жылдары ҧсынды, ол нормальды алгоритм 
(Марков ӛзі алгоритм деп атаған) ҧғымын енгізді. 


66 
Ассоциативті есептеудің кейбір ҧғымдарын келтіреміз. А алфавиті (әр 
тҥрлі символдардың шектелген тобы) берілсін. Оны қҧрайтын символдарды 
әріптер деп атаймыз. Алфавиттің кез–келген шектелген тізбегін (сызықтық 
қатары), осы алфавиттегі сӛзі деп атаймыз. Сӛздегі символдар саны оның 
ҧзындығы деп аталады. Ҧзындығы нӛлге тең сӛз бос деп аталады.
S сӛзі q сӛзінің ішкі сӛзі деп аталады. Егер q-ді q=rst тҥрінде кӛрсетуге 
болса, мҧндағы r және t - сол алфавиттегі кез–келген сӛз. 
А алфавитінде N және M екі сӛзін қарастырамыз. Егер N M-нің бӛлігі 
болса, онда N M-ге кіреді деп аталады. Қандай да бір алфавитте N-M , S-
T,...ауыстыруларының шектелген жҥйесі берілсін. Мҧндағы N,M,S,T...осы 
алфавиттегі сӛздер. N-M кез–келген ауыстыруын k сӛзіне былайша қолдануға 
болады. Егер K-ге N сӛзі бір немесе бірнеше рет кіретін болса, онда оның кез–
келгені M сӛзімен ауыстырыла алады және керісінше. 
А алфавитіндегі алгоритм деп тиімді есептелетін функцияны айтамыз
Оның анықталу облысы ретінде А алфавитіндегі барлық сӛздер 
жиынтығындағы қандай да бір ішкі жиынды айтамыз. Және мәні ретінде А 
алфавитіндегі сӛздер болып табылады.
 
 
Дәріс №9. Қолданбалы есептерді шешу алгоритмдерін талдау 
қағидалары 
Дәріс жоспары: 
9.1 Сызықтық қҧрылымды алгоритм 
9.2 Тармақталған қҧрылымды алгоритм
9.3 Қайталанатын қҧрылымды алгоритмдер 
9.4 Массив 
Алгоритмнің машиналық тілдегі бейнесі программа деп аталады. Ал 
программа жазуға арналған тілдерді программалау тілдері дейді. Сондықтан 
машиналық тілдер ең алғашқы программалау тілдері болып есептеледі.
Машиналық тілде программаларды жазу адам ҥшін ӛте қиын. Себебі, бір 
жағынан барлық адамдар мен нҧсқаулардың екілік бейнелерін, кодтарын есте 
сақтау керек, екіншіден кез келген алгоритмді осы машиналық амалдар мен 
нҧсқаулар арқылы ӛрнектеп білу қажет. 
Берілгендер, нәтиже және олардың адрестері екілік сандар арқылы 
беріледі. Тармақтау нҧсқауын жазу ҥшін басқару беретін адресті қолмен 
есептеу қажет. Сол сияқты бҧрын істелген кӛптеген жҧмыстарды басынан 
бастап қайтадан жасау керек. Мҧның бәрі бірден кӛзге кӛрінбейтін кӛптеген 
қателер жіберуге соқтырады. Жазылған программалар оқуға және тҥсінуге 
қолайсыз болғандықтан, олардың ішіндегі жіберілген қателерді тауып тҥзету 
ӛте кӛп уақытты және шыдамдылықты қажет етеді. Сондықтан адамдар 
ӛздерінің жҧмыстарын женілдету ҥшін программа жазуға ыңғайлы басқа 
жасанды тілдер ойластыра бастады. 
Жасанды тілді компьютер ӛзінің машиналық тіліне адамның қатысуынсыз 
автоматты тҥрде аударатындай етіп жасайды. Аударуды программа орындайды. 


67 
Ондай программаны ағылшын тілінде «транслятор» (аудару) деп атайды, ал 
аудару процесін «трансляция» дейді. Сондықтан программаны жасанды тілді 
пайдаланып жазған кезде компьютердің жҧмысы екі кезеңнен тҧрады: 
1. Жасанды тілден машиналық тілде трансляциялау; 
2. Машиналық тілдегі программаны орындау; 
Осы кезеңдегі кӛрсетілген жҧмысты орындаудың екі тҥрлі әдісі бар: 
1. Компиляция әдісі – алдымен жасанды программа тҥгелдей машиналық 
тілге аударылады, сонан кейін бҧл программа басынан орындалады.
2. Интерпретация әдісі – жасанды тілдегі программаның әрбір әрекеті 
(нҧсқау немесе амалы) жеке алдын-ала аударылмастан бірден машиналық тілде 
орындала бастайды. Яғни, компиляция әдісінде жасанды тілдегі программа тек 
қана бір рет қарастырылады және аударылған программаны бірнеше рет 
орындауға болады, ал интерпретация әдісінде әр орындар алдында жасанды 
тілдегі программаны қайтадан қарастыру қажет. 
Сонымен осындай жасанды тілдер де компьютерге тҥсінікті болады, 
сондықтан оларды да біз программалау тілдері дейміз. 
Қазіргі кезде компьютердің кӛмегімен әр тҥрлі есептерді шығаруға 
мҥмкіндік беретін сан алуан программалау тілдері бар. Әр тілдің кемшілігі де, 
жетістігі де бар. Мысалы, кейбір тілде программаны жазу оңай болғанымен оны 
орындау ӛте кӛп уақытты талап етеді немесе жадыдан кӛп орын алады. 
Жалпы, программалау тілдерін мынадай белгілері, қасиеттері бойынша 
жіктеуге болады: 
1. Тілдің деңгейіне байланысты; 
2. Тілдің деңгейіне байланысты, яғни қандай есептерді шешуге мҥмкіндік 
беретініне байланысты; 
3. Тілдің моделіне байланысты, яғни қҧрылу принципіне байланысты. 
Ең тӛменгі деңгей машиналық тілдерде болады деп қабылданады. 
Сондықтан басқа тілдердің деңгейі деп олардың машиналық тілдерге 
жақындық ӛлшемін айтады: тіл неғҧрлым машиналық тілге жақын болса, 
соғҧрлым оның деңгейі тӛмен болады және керісінше. Ең жоғарғы деңгей 
табиғи тілдерде болады. Сонымен, бірінші кластағы тілдер екі топтан тҧрады: 
- деңгейі тӛмен машинаға байланысты тілдер 
- деңгейі жоғары машинаға байланысты тілдер 


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




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

    Басты бет