- •"Алгоритмдеу және бағдарламалау негіздері" пәні бойынша
- •"Алгоритмдеу және бағдарламалау негіздері" пәні бойынша
- •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 Дәріс тақырыбы: Программа құру тілі. Программа құрылымы. Енгізу және шығару командалары.
Қазіргі кезде программалау тілінің түрлері көп. Солардың ішіндегі ең танымалысы Паскаль программалау тілі. Өйткені компьютерлік сауаттылық пен программалауды алғашқы кезеңде үйретуге ең қолайлы тіл. Паскаль тілі алгоритмдік тіл ішіндегі кеңінен тараған тілдердің бірі болып табылады. Қарастырылатын Паскаль программалау тілінде программа екі бөліктен тұрады:
берілгендерді сипаттау;
алгоритмдік амалдарды бейнелеу немесе операторлық бөлік.
Берілгендер бейнелеу арқылы жазылса, амалдар оператор арқылы жазылады. Синтаксистік жағынан Паскаль программасын екі бөлікке бөлуге болады: программа тақырыбы, блок.
Программа құрылымы төмендегіше болады:
Program <программаның аты>;
Блок: 1. Модульдерді қосу.
Белгілерді бейнелеу бөлігі.
Тұрақтыларды бейнелеу бөлігі.
Типтерді анықтау бөлігі.
Айнымалыларды бейнелеу бөлігі.
Функцияларды және процедураларды бейнелеу бөлігі
Операторлар бөлігі.
Program аты (пайдаланылатын файлдар аттарының тізімі);
бейнелеу бөлігі
Begin
Оператор бөлігі
End.
Программа құрылымының Паскаль тілінде жазылуы:
Program аты (input,output);
Uses – модульдерді қосу;
Label – Белгі бөлігі;
Const – Тұрақтылар бөлігі;
Type – Тип бөлігі;
Var – айнымалы бөлігі;
Procedure, Function – процедура және функция бөлігі;
Begin
Оператор;
Оператор;
......................
n- оператор;
End.
Бейнелеу бөлігіндегі программада пайдаланылатын белгілерге, тұрақтыларға, типтерге, айнымалыларға сипаттама беріліп (берілгендер атауы, олардың типтері, мәндері және т.б.), олар хабарланады. Бейнелеу бөлігіндегі көрсетілген бөліктердің бәрі бірдей бар болуы шарт емес. Бейнелеудің жеке бөліктеріне қысқаша тоқталайық:
Uses –бұл жолда программада пайдаланылатын модульдер тізімінен тұрады. Модульдер стандартты және пайдаланушының құрған модульдері болуы мүмкін. Турбо Паскаль жүйесінде бірнеше стандартты модульдер бар. Олардың негізгілері: SyStem – Паскаль тілінің процедуралары мен функцияларын, Турбо Паскаль тілінің қосымша командаларын сүйемелдейді;
DOS- Паскаль тілінің DOS командаларын пайдалануды сүйемелдейді; CRT – Тексттік режимде экранды басқарады; OVERLAY – оверлейлік программаларды, PRINTER – принтерді пайдалануды, GRAPH – экранның графикалық режимінің жұмысын сүйемелдейді. Бұлардың барлығы TURBO.TPU, GRAPH.TPU файлында орналасқан. SyStem модулі тізімде көрсетуді қажет етпейді, ол автоматты түрде қосылады. Программаның орындалу нәтижесін экраннан көру үшін экран бетін кідіріс жасап, ұстап тұруды ұйымдастыру қажет. Кідірісті үш тәсілмен ұйымдастыруға болды: 1) Readln операторымен; 2) <символдық айнымалы>:=ReadKey операторымен; 3) While NOT Keypressed DO операторымен.
Label –белгі ретінде кез келген бүтін оң сан, символ, символдар тіркесі пайдаланылады. Белгі операторды немесе программаның бөлігін табу үшін қолданылады. Белгі оператор алдында орналасады да, қос нүте арқылы ажыратылады. Қажеттіоператорға, программаның бөлігіне оралу белгі арқылы жүзеге асырылады. Мысалы, Label 5,12,45,Sum, AB.
Берілген мәндерді айнымалыға жазу үшін меншіктеу операторын пайдалануға болады. Мысалы, А:=15, BC:=-16.4.Программаны әмбебап етіп жасау үшін айнымалылардың мәндерін өзгертетін түрде жазу қажет, бұл жағдайда программа айнымалының әр түрі мәндері үшін дұрыс болады. Ол үшін енгізу операторы READ пайдаланылады. Енгізу операторының жалпы түрі READ(а1, а2,...,аn). Мұндағы а1, а2,...,аn – айнымалы атаулары, оларды енгізу операторының параметрлері деп атайды. READ операторы орындалғанда параметрлер өздеріне сәйкес мәндерді қабылдайды, бұл міндетті енгізу файлы INPUT(енгізу) арқылы жүзеге асырылады.
Паскаль тілінде нәтижені экранға шығару үшін WRITE (жазу) операторы пайдаланылады. WRITE(а1, а2,...,аn). Мұндағы а1, а2,...,аn – жай айнымалылар немесе апострофтар ішіне алынған символдар тобы болуы мүмкін. Мысалы, егер В=17,15 болып, write (‘B=’,B) командасы орындалғанда, экранға В=17,15дерегі көрінеді. Бүтін және нақты сандарды шығару үшін сандардың форматын беру қажет. Формат айнымалы атынан соң қос нүкте арқылы жазылады. Нақты сан форматы екі саннан тұрады: 1-сан – санға берілетін орын, 2-сан – үтірден кейін алынатын бөлшек бөлік саны.
