- •"Алгоритмдеу және бағдарламалау негіздері" пәні бойынша
- •"Алгоритмдеу және бағдарламалау негіздері" пәні бойынша
- •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) Тізбектелген, циклдық, тармақталу
- •Мазмұны
- •"Алгоритмдеу және бағдарламалау негіздері" пәні бойынша
4 Дәріс тақырыбы: Циклдік алгоритм. Цикл түрлері. Цикл құрылымы.
Есептерді шешу барысында бір типті әрекеттерді көп рет қайталау қажеттілігі жиі кездеседі. Бұл әрекеттерді жүзеге асыратын алгоритмдер циклдік, ал әрекеттердің көп рет қайталанатын бірізділігі (циклдің денесі) циклдер деп аталады. Циклдерді пайдалану ықшам программалар көмегімен есептеулердің үлкен көлемдерін орындауға мүмкіндік береді. Алдын-ала берілген және белгісіз сандар қайталауларымен циклдер ажыратылады.
Алдын ала берілген шарт бойынша қайталау.
Алдын ала берілген шарт бойынша қайталау көп жағдайларда қайталаудың саны белгісіз болған жағдайда пайдаланылады. Бұл оператор While-әзірге және DO-орындау қызмет сөздерінің көмегі арқылы орындалады да алгоритмдік тілдегі “әзірге” қайталану командасына сәйкес келеді. Оның жазылу түрі мынадай:
Әзірге шарт While шарт DO
ЦБ Вegin
Командалар сериясы серия (цикл денесі)
ЦС end
Мұнда шарт орнына логикалық өрнек тұруы да мүмкін. Серия көп жағдайларда циклдің денесі деп аталады да, операторлық жақша ішіне алынып жазылады. Бұл оператор былай орындалады: алдымен шарт тексеріледі, егер шарт орындалса, онда циклдің денесі орындалады, одан соң қайтадан шарт тексеріледі, және тағы да сол сияқты бұл процесс қашан шарт сақталудан қалғанша қайталанады. Егер шарт сақталмаса, басқару операторлық жақшаның соңында тұрған операторға көшіріледі. Басқаша айтқанда логикалық өрнектің мәні жалған болғанша қайталану денесі қайталанып орындала береді. Егер қайталаудың денесі бірнеше оператордан құралса, онда олар Вegin-end қызметші сөздерінің арасына алынып жазылады. Мысалы,
While шарт DO
Вegin
1-оператор;
2-оператор;
..................
n-1 оператор;
n оператор
end;
Егер қайталаудың денесі бір ғана оператордан тұрса, онда оны операторлық жақшасыз жазуға болады.
К
елесі
шарт бойынша қайталау операторы
Бұл оператор көп жағдайларда қайталаудың саны белгісіз болған жағдайда пайдаланылады. Оның жазылу түрі:
REPEAT
Қайталау денесі (серия)
UNTIL <логикалық өрнек>
Мұндағы REPEAT-қайтала, UNTIL-соған дейін – қызметші сөздері.Оның орындалуы: қашан логикалық өрнектің мәні аиқат болғанша циклдің денесі қайталана береді. Алгоритмдік тілде бұл қайталануды “Цикл дейін” дейді, оның “Цикл-әзірге” ден айырмашылығы мұнда қайталанатын командалар сериясы кемінде бір рет орындалады. Демек, бұл қайталануда алдымен циклдің денесіорындалады да, одан соң шарт тексеріледі. Операторлық соңы UNTIL қызмет сөзімен бітетін болғандықтан, мұнда операторлық жақшалар қолданылмайды. Егер қайталану денесінде көшіру операторы болып, ол циклдің сыртындағы оператордың белгісіне басқаруды берсе, онда циклдың орындалуы ары қарай жалғаспайды.
Параметрлі қайталану
Көп жағдайларда қайталану саны белгілі болғанда, шартты параметрлі қайталану операторын пайдалануға болады. Параметрлі қайталану операторының жалып алгоритмдік тілдегі параметрлі қайталану командасына:
І үшін m1 бастап m2 дейін h қадам
ЦБ
Серия
ЦС
Сәйкес келеді де, былай жазылады:
FOR I:=m1 TO (Downto) m2 Do
Begin серия (операторлар)
End;
Мұндағы FOR-үшін, TO- дейін, Do – орындау. І-циклдің параметрі, і-Паскаль тілінде міндетті түрде бүтін типтегі айнымалы болуы қажет. m1, m2 –параметрдің сәйкес бастапқы және соңғы мәндері, олар бүтін сандар немесе бүтін мән беретін арифметикалық өрнектер болуы мүмкін. Паскаль тілінде параметрлдің қадамы тек екі мән: 1 немесе –1 қабылдай алады.Қадамның мәніне тәуелді операторда TO немесе Downto қызмет сөздері пайдаланылады. Егер қадам 1-ге тең болса TO, ал қадам –1 болса онда Downto пайдаланылады. Оператордың орындалу тәртібі:
А) параметрдің мәні m2 –мен салыстырылады, егер ол m2-ден кіші болса, онда циклдың денесі бір рет қайталанады. Ал ол m2-ден үлкен болса, онда басқару цикл денесінің соңындағы операторға беріледі де қайталану аяқталады;
В) әрбір қайталағанда, параметрдің алғашқы мәніне бір қосыла отырып, параметрдің ағымдағы мәні m2-ден артық болғанша циклдың денесі қайталана береді.
Егер m1 және m2 арифметикалық өрнектер болса, онда олардың мәндері циклдың орындалар алдында бір-ақ рет орындалады.Егер циклдың денесі бірнеше оператотрлардан тұрса, онда олар операторлық жақшаға алынып жазылады.
