- •"Алгоритмдеу және бағдарламалау негіздері" пәні бойынша
- •"Алгоритмдеу және бағдарламалау негіздері" пәні бойынша
- •1. Пәннің оқу бағдарламасы - syllabus
- •1.1. Оқытушы жөнінде мәліметтер:
- •1.2. Пән бойынша мәліметтер:
- •1.3. Осыған дейінгі пәндер тізімі: Информатика, Математикалық талдау, Алгебра және геометрия, Математикалық логика.
- •1.4. Шектес пәндер тізімі: Сандық әдістер, Бағдарламалау тілі, Компьютерде тәжірибе
- •1.5. Пән мақсаты:
- •1.6. Пән бойынша берілген тапсырмаларды орындау және тапсыру графигі
- •11. Рашбаев ж.М. Массивті реттеу алгоритмдерін программалау. Оқу және методикалық әдебиеттер жөніндегі Республикалық баспа кабинеті. Алматы-1991 ж.
- •1.8. Бағалау ақпараттары
- •1.9. Курс саясаты және процедурасы
- •2. Пән бойынша оқу-әдістемелік кешен материалдары
- •2.1. Курстың тақырыптық жоспары
- •2.2. Дәріс сабақтар
- •1 Дәріс тақырыбы: Алгоритмдер. Алгоритмдерді талдау. Алгоритмдер құру.
- •2 Дәріс тақырыбы: Программа құру тілі. Программа құрылымы. Енгізу және шығару командалары.
- •3 Дәріс тақырыбы: Есептің қойылымы. Математикалық моделін тұрғызу. Алгоритмін құру. Есепті компьютерде шешу. Проектіні тексеру.
- •4 Дәріс тақырыбы: Циклдік алгоритм. Цикл түрлері. Цикл құрылымы.
- •5 Дәріс тақырыбы: Берілгендердің символдық типі. Жолдық тип.
- •6 Дәріс тақырыбы: Берілгендердің фундаментальді типі. Массив, жазба және жиынның қойылымы.
- •7 Дәріс тақырыбы: Рекурсивті алгоритмдер.
- •Мұндай рекурренттік қатынас п- факториалды санының рекурсивтік есептеу алгоритмін шамалайды.
- •8 Дәріс тақырыбы: Қосалқы программа. Функция. Процедуралық тип.
- •9 Дәріс тақырыбы: Ақпараттық құрылым. Сызықты тізім.
- •10 Дәріс тақырыбы: Ақпараттық құрылымдар. Стектер, кезектер.
- •1 Сурет
- •2 Сурет
- •4 Сурет
- •5 Сурет
- •11 Дәріс тақырыбы: Тізбекті үлестіру. Байланысқан үлестіру.
- •12 Дәріс тақырыбы: Бірбағытталған және екібағытталған байланысқан тізімдер. Көрсеткіштер.
- •13 Дәріс тақырыбы: Ақпараттық құрылым. Ағаш. Ағаштардың қойылымы.
- •14 Дәріс тақырыбы: Көпбайланысқан құрылымдар. Жадыны динамикалық бөлу.
- •15 Дәріс тақырыбы: Ішкі сұрыптау алгоритмдері: таңдау, қосу. Тікелей таңдауға талдау.
- •16 Дәріс тақырыбы: Ішкі сұрыптау алгоритмдері: Екілік қосылымға талдау жасау.
- •17 Дәріс тақырыбы: Көпіршікті және шейкерлік сұрыптауды талдау.
- •18 Дәріс тақырыбы: Бөліп алу көмегімен сұрыптау.
- •19 Дәріс тақырыбы: Медиананы табу.
- •20 Дәріс тақырыбы: Сызықты іздеу.
- •21 Дәріс тақырыбы: Екілік іздеу.
- •22 Дәріс тақырыбы: Қатарда іздеу. Кнут - Моррис - Пратт алгоритмі.
- •23 Дәріс тақырыбы: Қатарда іздеу. Боуер-Мура алгоритмі.
- •24 Дәріс тақырыбы: Жолды өңдеу алгоритмі. Рабин алгоритмі.
- •25 Дәріс тақырыбы: Қайталанбалы алгоритм.
- •26 Дәріс тақырыбы: Қайталанбалы алгоритм. Аттың жүрісі туралы есеп.
- •27 Дәріс тақырыбы: Программалаудың кейбір фундаментальді әдістері. Программаны құрастырудың технологиясы және таралуы.
- •28 Дәріс тақырыбы: Есептеуді тиімдеу. Программаны жөндеу және тестілеу әдістемесі.
- •29 Дәріс тақырыбы:
- •30 Дәріс тақырыбы: Объектіге-бағытталған программалау.
- •2.3. Зертханалық сабақ жоспарлары
- •Алгоритм. Қасиеттері. Алгоритм қойылымы.
- •2.4. Оқытушы жетекшілігімен жүргізілетін студенттердің өзбетіндік жұмысы
- •Орындаушы тәжірибе аяқталғаннан кейін шығыс ақпаратын немесе екі хабардың бірін береді.
- •65387 Санында – 5 цифр !
- •Тақырыбы: Ағаш. Ағашты қалыптастыру. Қалыпты ағашты құру.
- •Ноталардың дыбысталу жиілігі
- •Студенттердің өзбетіндік жұмыс жоспары
- •Тақырыбы: Берілгендер. Берілгендер типі, тұрақты және айнымалы. Өрнектер.
- •Тақырыбы: Динамикалық ақпаратты құрылым. Ағаш.
- •Тақырыбы: Ішкі жолдарды іздеу. Текстке сөз енгізу.
- •Тақырыбы: Ішкі сұрыптау алгоритміне программа құру.
- •Тақырыбы: Сұрыптау алгоритмі
- •Тақырыбы: Массивті сұрыптау алгоритмінің таралымы
- •Тақырыбы: Файлдық тип. Тексттік файлдар.
- •Тақырыбы: Файлмен жұмыс
- •Тақырыбы: Кіру және шығу файлдарымен жұмыс.
- •Тақырыбы: Файлдарды сұрыптау және последовательностей
- •Тақырыбы: Кнут-Морис- Пратта алгоритмін қолдану
- •Тақырыбы: Поиск подстроки в строке
- •Тақырыбы: Манипулирование строками
- •Тақырыбы: Рекурсивті алгоритмдердің таралымы. Лабиринт есебі.
- •Тақырыбы: Рекурсивті алгоритмдер құрастыру.
- •2 Мысал:
- •Тақырыбы: Мәтіндік режимде экранды басқару. Crt модулін қою.
- •2 Мысал: Күн жүйесінің динамикалық моделі.
- •2.6. Курс бойынша жазба жұмыстарының тақырыптамалары
- •Курстық жұмыс және проектілер тақырыптамалары
- •Алгоритм дегеніміз -
- •B) Тізбектелген, циклдық, тармақталу
- •Мазмұны
- •"Алгоритмдеу және бағдарламалау негіздері" пәні бойынша
2.2. Дәріс сабақтар
1 Дәріс тақырыбы: Алгоритмдер. Алгоритмдерді талдау. Алгоритмдер құру.
Алгоритмдер математикалық логика – алгоритмдер теориясына жалғасатын ғылыми пәндер математика мен информатика арасындағы шектеулерді жүйелі зерделеу объектісі болып табылады.
Жағдайдың ерекшелігі мынада, ЭЕМ-да іске асыру үшін алгоритмдер әзірлеуге ұйғарылған практикалық міндеттерді шешу кезінде және сонымен қатар практикада ақпараттық технологияларды пайдалану кезінде, негізінен бұл ұғымның жоғары формальдылығына сүйенбеген жөн. Сондықтан алгоритм ұғымының мәнін мазмұнды түсіндіру және оның негізгі қасиеттерін қарастыру негізінде алгоритмдермен және алгоритмизациялаумен танысқан дұрыс болады. Мұндай тәсіл кезінде алгоритмдеу берілген тілдік құралдар шеңберінде белгілі бір практикалық тәсілдердің, ұтымды ойлаудың ерекше өзіндік дағдыларының жиынтығы ретінде алға шығады. Ақпаратты өлшеуде мұндай жағдай мен жоғарыда қарастырылған тәсілдің арасында ұқсастықты жүргізуге болады: “кибернетикалық” тәсіл кезіндегі жіңішке математикадлық құрулар компьютермен практикалық жұмыс кезінде барынша қарапайым “көлемді” тәсілді қолдану кезінде аса қажет емес.
“Алгоритм” сөзінің өзі ІХ ғасырдың ұлы математигі әл-Хорезмидің атының латын тіліндегі algorithmi жазылуынан шыққан, ол арифметикалық амалдарды орындау ережесін қалыптастырған. Бастапқыда алгоритм ретінде көпмәнді санды төрт арифметикалық амалды орындау ережесі арқылы түсінді.
Алгоритм ұғымын алгоритмнің интуитивтік мағынадағы ұғымы деп айтуға болады. Ол анық емес, формальсыз сипатта болады және кейбір дәл анықталмаған, бірақ интуитивті түсінікті заттарға сүйенеді. Мысалы алгоритм қасиеттерін анықтау және талқылау кезінде біз алгоритмдерді кейбір орындаушылардың мүмкіндігін көздедік. Оның бар екені болжалды, бірақ ол туралы ештеңе анық белгілі болмады. Математика тілімен айтқанда ешқандай аксиоматикалық, мүлтіксіз конструктивті орындаушы анықтамасын бере алмадық.
Өткен параграфта белгіленген алгоритмдер қасиеттерін эмперикалық деп атаған жөн. Олар әртүрлі және қолданбалы сипаттағы алгоритмдер қасиетін қорыту негізінде анықталған. Бұл қасиеттерді практикалық программалау үшін, компьютерлер, ЧПУ станоктері, өнеркәіптік роботтар үшін программалардың кең тобын құру үшін жеткілікті. Алайда фундаментальды ғылыми ұғым ретінде алгоритм барынша мұқият зерделеуді талап етеді. Ол “алгоритм” ұғымын нақтыламай, оны барынша қатаң бейнелемей, басқаша айтқанда формализациялау мүмкін емес.
“Алгоритм” ұғымын формализациялаудың бірнеше тәсілдері белгілі:
ақырлы және ақырсыз автоматтар теориясы;
есептелетін (рекурсивті) функциялар теориясы;
Черчтің λ есептеуі.
Осы туындаған бір біріне тәуелсіз тәсілдер нәтижесінде эквивалентті болып шықты. Алгоритм ұғымын формализациялаудың басты мақсаты мынадай: әртүрлі математикалық есептердің алгоритмдік шешімділігінің проблемаларын шешуге жақындау, яғни сұраққа жауап беру, есептерді шешуге әкелетін алгоритм құрастырылуы мүмкін бе? Біз осы проблеманың қойылуын,т есептердің алгоритмдік шешілімділік теориясының кейбір нәтижелерін қарастырамыз, бірақ алдымен Пост, Тьюринг машиналарының мысалында автоматтар теориясында алгоритм ұғымын формализациялауды, сондай-ақ Марковтың қалыпты алгоритмдерін, ал содан кейін реурсивті функцияларды теория негізінен талқылаймыз. Черчтың λ есептеу идеясы LISP программалау тілінде іске асырылған (3 тарау).
Сонымен қатар, блгілі тәсілдердің кез келгенімен формальды анықталған алгоритм практикалық программалауда біз өткен параграфтарда алгоритмдер деп атағандарды алмастыра алмайды. Негізгі себеп мынада, формальды анықтауқарастырылатын есептер шеңберін бірден қысқартады және көптеген практикалық маңызды есептерді қарау үшін қол жетпейтін етеді.
