Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмдеу жане багдарламалау негиздери 4 г.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
2.73 Mб
Скачать

2.2. Дәріс сабақтар

1 Дәріс тақырыбы: Алгоритмдер. Алгоритмдерді талдау. Алгоритмдер құру.

Алгоритмдер математикалық логика – алгоритмдер теориясына жалғасатын ғылыми пәндер математика мен информатика арасындағы шектеулерді жүйелі зерделеу объектісі болып табылады.

Жағдайдың ерекшелігі мынада, ЭЕМ-да іске асыру үшін алгоритмдер әзірлеуге ұйғарылған практикалық міндеттерді шешу кезінде және сонымен қатар практикада ақпараттық технологияларды пайдалану кезінде, негізінен бұл ұғымның жоғары формальдылығына сүйенбеген жөн. Сондықтан алгоритм ұғымының мәнін мазмұнды түсіндіру және оның негізгі қасиеттерін қарастыру негізінде алгоритмдермен және алгоритмизациялаумен танысқан дұрыс болады. Мұндай тәсіл кезінде алгоритмдеу берілген тілдік құралдар шеңберінде белгілі бір практикалық тәсілдердің, ұтымды ойлаудың ерекше өзіндік дағдыларының жиынтығы ретінде алға шығады. Ақпаратты өлшеуде мұндай жағдай мен жоғарыда қарастырылған тәсілдің арасында ұқсастықты жүргізуге болады: “кибернетикалық” тәсіл кезіндегі жіңішке математикадлық құрулар компьютермен практикалық жұмыс кезінде барынша қарапайым “көлемді” тәсілді қолдану кезінде аса қажет емес.

“Алгоритм” сөзінің өзі ІХ ғасырдың ұлы математигі әл-Хорезмидің атының латын тіліндегі algorithmi жазылуынан шыққан, ол арифметикалық амалдарды орындау ережесін қалыптастырған. Бастапқыда алгоритм ретінде көпмәнді санды төрт арифметикалық амалды орындау ережесі арқылы түсінді.

Алгоритм ұғымын алгоритмнің интуитивтік мағынадағы ұғымы деп айтуға болады. Ол анық емес, формальсыз сипатта болады және кейбір дәл анықталмаған, бірақ интуитивті түсінікті заттарға сүйенеді. Мысалы алгоритм қасиеттерін анықтау және талқылау кезінде біз алгоритмдерді кейбір орындаушылардың мүмкіндігін көздедік. Оның бар екені болжалды, бірақ ол туралы ештеңе анық белгілі болмады. Математика тілімен айтқанда ешқандай аксиоматикалық, мүлтіксіз конструктивті орындаушы анықтамасын бере алмадық.

Өткен параграфта белгіленген алгоритмдер қасиеттерін эмперикалық деп атаған жөн. Олар әртүрлі және қолданбалы сипаттағы алгоритмдер қасиетін қорыту негізінде анықталған. Бұл қасиеттерді практикалық программалау үшін, компьютерлер, ЧПУ станоктері, өнеркәіптік роботтар үшін программалардың кең тобын құру үшін жеткілікті. Алайда фундаментальды ғылыми ұғым ретінде алгоритм барынша мұқият зерделеуді талап етеді. Ол “алгоритм” ұғымын нақтыламай, оны барынша қатаң бейнелемей, басқаша айтқанда формализациялау мүмкін емес.

“Алгоритм” ұғымын формализациялаудың бірнеше тәсілдері белгілі:

  • ақырлы және ақырсыз автоматтар теориясы;

  • есептелетін (рекурсивті) функциялар теориясы;

  • Черчтің λ есептеуі.

Осы туындаған бір біріне тәуелсіз тәсілдер нәтижесінде эквивалентті болып шықты. Алгоритм ұғымын формализациялаудың басты мақсаты мынадай: әртүрлі математикалық есептердің алгоритмдік шешімділігінің проблемаларын шешуге жақындау, яғни сұраққа жауап беру, есептерді шешуге әкелетін алгоритм құрастырылуы мүмкін бе? Біз осы проблеманың қойылуын,т есептердің алгоритмдік шешілімділік теориясының кейбір нәтижелерін қарастырамыз, бірақ алдымен Пост, Тьюринг машиналарының мысалында автоматтар теориясында алгоритм ұғымын формализациялауды, сондай-ақ Марковтың қалыпты алгоритмдерін, ал содан кейін реурсивті функцияларды теория негізінен талқылаймыз. Черчтың λ есептеу идеясы LISP программалау тілінде іске асырылған (3 тарау).

Сонымен қатар, блгілі тәсілдердің кез келгенімен формальды анықталған алгоритм практикалық программалауда біз өткен параграфтарда алгоритмдер деп атағандарды алмастыра алмайды. Негізгі себеп мынада, формальды анықтауқарастырылатын есептер шеңберін бірден қысқартады және көптеген практикалық маңызды есептерді қарау үшін қол жетпейтін етеді.