1 Алгоритмдеу және бағдарламалау Тақырып 1. Алгоритмдеу негіздері
2 Алгоритм Алгоритм деп берілген есепті шешудегі жасалтын әрекеттерді дәл және қарапайым етіп жазуды айтамыз. Басқаша айтқанда, алгоритм – есепті шығару үшін қажетті іс-әрекеттер тізбегін сипаттайтын ережелер жүйесі. Алгоритм белгілі бір реттілікпен бірінен соң бірі орындалтын бірнеше қадамдардан тұрады. Алгоритмнің әрбір қадамы бір немесе бірнеше қарапайым операцияларды қамтиды.
3 жекелеген қадамдардан тұрады Алгоритм қасиеттері Дискреттілік Айқындылық Белгілілік атқарушыға түсінікті болатынь командалардан тұруы керек бастапқы деректері бірдей болған жағдайда нәтижесі де бірдей болады әрекеттердің шектеулі санынан кейін қорытынды нәтиже алуымыз керек Нәтижелілік Жалпылық алгоритм әр түрлі алғашқы мәлімет- тер үшін әр түрлі нәтижелер беруі тиіс алғашқы мәліметтер әр түрлі болғандығына қарамастан барлық жағдайда дұрыс нәтиже береді Дұрыстылық
4 Алгоритм Алгоритмнің орындалу қатары: 1. Алгоритмдегі әрекеттер жазылу қатары бойынша орындалады; 2. Алгоритмнің қандай болмасын әрекеттерінің орындарын ауыстыруға болмайды; 3. Бір әрекетті аяқтамай келесісіне ауысуға болмайды. Алгоритмдерді жазу үшін арнайы тілдер қолданылады: 1. Табиғи тіл (сөзбен сипаттау); 2. Блок-схема тілі 3. Бағдарламалау тілі
5 Алгоритмдердің блок-схемалары Аталуы Сұлбада белгіленуі Атқаратын әрекеті (түсініктеме) 1. Есептеу блогы Есептеу әрекеттерін орындайды 2. Логикалық блок Берілген шартқа байланысты алгоритмнің орындалу бағытын таңдау 3. Енгізу/шығару блокаторы Мәліметтерді енгізу және шығару Мәліметтерді баста құрылғысына шығару 4. Басы/соңы Бағдарламаның басы немесе соңы, ішкі бағдарламаға ену немесе одна шығу 5. Алдын- ала анықталған процесс Стандартты немесе қолданушылық ішкі бағдарлама бойынша есептеу 6. Модификациялау блогы Алгоритмнің пункттерін өзгертетін әрекеттерді орындау, циклдың басы 7. Түйін Жалғағыш
6 АЛГОРИТМДЕР ҚҰРЫЛЫМДАРЫ Сызықтық алгоритмдік құрылым Бағдарлама деп белгілі бір бағдарламалау тілінде жазылған реттелген командалар тізбегін айтамыз. Белгілі бір алгоритмді бағдарламалау денегіміз осы алгоритм орындалтын бағдарлама жазу. Сызықтық алгоритм деп командалары бірінен соң бірі тізбектеліп орындалтын алгоритмді айтамыз. Сызықтық бағдарлама жазу үшін келесі операторларды білу қажет: меншіктеу операторы (: =); енгізу операторы; шығару операторы.
7 АЛГОРИТМДЕР ҚҰРЫЛЫМДАРЫ Сызықтық алгоритмдік құрылым Меншіктеу операторы жазылған өрнектердің мәнін есептеп оны айнымалыға беру үшін қолданылады. Жазылу ережесі: := ; мұндағы: - айнымалы идентификаторы; := меншіктеу белгісі, яғни айнымалының мәні өрнектің есептелген сан мәнін қабылдайды; - арифметикалық өрнек немесе сан.
8 Сызықтық алгоритмдік құрылым Меншіктеу операторы
9 Сызықтық алгоритмдік құрылым Егер алгоритмнің N қадамы бокса және олардың барлығы басынан аяғына дейін бірінен соң бірі тізбектеле орындалтын бокса, хххххххонда хххххххондай алгоритмді сызықтық алгоритм деп атаймыз. Сызықтық алгоритмнің блок-схемасы келесі суретте бейнеленген.
10 Тармақталған алгоритмдік құрылым Тармақталу – берілген шарттың ақиқаттығына қарай көрсетілген екі әрекеттің біреуінің ғана орындалуын ұйымдастыратын басқарушы құрылым. Шарт - алгоритм орындалғанда "иә" немесе " жоқ " денег мәндердің бірін қабылдай алтын логикалық өрнек. Кез келген шарт мынадай үш бөлімнен тұрады: -сол жақ бөлігі; -салыстыру таңбасы; -оң жақ бөлігі. Мысал: А > 0, Х 0, Х < А+С, К = 6 Алгоритмнің тармақталушы бөлігінің жалпы түрі: егерьь хххххххонда "иә" тармағы әйтпесе "жоқ" тармағы бітті
11 Тармақталу жазбасы екі формата орындалады: 1. Толық2. Қысқартылған
12 Циклдік алгоритмдік құрылым Цикл – берілген машаға тәуелді көрсетілген әрекеттің қайталынып орындалуын ұйымдастыратын басқарушы құрылым. Бұл берілген маша цикл параметрі деп аталады. Циклде қайталанатын әрекеттер тізбегін цикл денесі деп атайды. Циклдерді қолдану алгоритмдердің ауқымын қысқартады.
13 Циклдер бір-бірімен тығыз байланысты және бірқатар өзгешеліктері бар: -алдыңғы шартты циклде шарт цикл денесіне дейін, ал соңғы шартты циклде цикл денесінен кейін тексеріледі; -соңғы шартты циклде цикл денесі кем денегде бір рет орындалады, ал алдыңғы шартты циклде цикл денесі бір роте орындалмауы мүмкін; -алдыңғы шартты циклде шарт цикл жалғасқанша тексеріледі, ал соңғы шартты циклдегі шарт - цикл ден шығу шорты болып табылады. Циклдер бір-бірімен тығыз байланысты және бірқатар өзгешеліктері бар: -алдыңғы шартты циклде шарт цикл денесіне дейін, ал соңғы шартты циклде цикл денесінен кейін тексеріледі; -соңғы шартты циклде цикл денесі кем денегде бір рет орындалады, ал алдыңғы шартты циклде цикл денесі бір роте орындалмауы мүмкін; -алдыңғы шартты циклде шарт цикл жалғасқанша тексеріледі, ал соңғы шартты циклдегі шарт - цикл ден шығу шорты болып табылады. Циклдік алгоритмдік құрылым
14 "Әзірше" циклдік құрылымы: "Әзірше" циклі шартты тексеруден басталады, сондықтан цикл дердің осындай түрлерін алдыңғы шартты цикл дер деп атайды. "Әзірше" циклінің шортын – циклге кіру шорты деп атауға болады.
15 "Дейін" циклдік құрылымы "Дейін" циклі - әрекеттің орындалуынан басталады. Сонымен цикл денесі кемінде бір рет болсын орындалады. Содна кейін шартты тексеру басталады. Сондықтан "дейін" циклін соңғы шартты цикл деп атайды. Егер берілген шарт орындалмаса, хххххххонда қайтадан әрекеттің орындалуы жүреді. Ал, егерьь шарт ақиқат бокса, хххххххонда циклдан шығу жүзеге асырылады. Сонымен, "дейін" циклінің шорты – циклдан шығу шорты болып табылады.
16 Параметрлік цикл немесе есептегішті цикл Параметрлік цикл немесе есептегішті цикл – қайталану саны алдын-ала белгілі болатынь цикл. Осы құрылымның модификациялау блогында параметрдің айнымалысының өзгеру заңы көрсетіледі. Мұндағы: x o – параметрдің бастапқы мәні; h – қадам; x n – параметрдің соңғы мәні. Осы құрылымның модификациялау блогында параметрдің айнымалысының өзгеру заңы көрсетіледі. Мұндағы: x o – параметрдің бастапқы мәні; h – қадам; x n – параметрдің соңғы мәні. Параметрлі цикл дер құру үшін келесі ережелерді қолдану қажет: 1. Цикл параметрі, оның бастапқы және соңғы мәндері және қадамы бір тип тес болуы тиіс; 2. Цикл денесінде параметр үшін бастапқы, ағымдағы және соңғы мәндерді өзгертуге тиым салынады; 3. Модификациялау блогына қатынас жасамай циклге кіруге тиым салынады; 4. Егер бастапқы мән соңғыдан үлкен бокса, хххххххонда қадам теріс сан; 5. Циклдан оны аяқтамай шығуға болады, хххххххонда параметр айнымалы өзінің соңғы мәнін сақтайды. Параметрлі цикл дер құру үшін келесі ережелерді қолдану қажет: 1. Цикл параметрі, оның бастапқы және соңғы мәндері және қадамы бір тип тес болуы тиіс; 2. Цикл денесінде параметр үшін бастапқы, ағымдағы және соңғы мәндерді өзгертуге тиым салынады; 3. Модификациялау блогына қатынас жасамай циклге кіруге тиым салынады; 4. Егер бастапқы мән соңғыдан үлкен бокса, хххххххонда қадам теріс сан; 5. Циклдан оны аяқтамай шығуға болады, хххххххонда параметр айнымалы өзінің соңғы мәнін сақтайды.
17 Массивтерді өңдеуге параметрлі цикл дерді қолдану Массив – бір типті мәліметтерді сақтауға арналған тізбектелген құрылым. Массивтегі элементтер тізбектілігі индекстері бойынша жүреді. Индекс – элементтің тізбектік номері. Массив атауы (латынь бас әріптері), мәліметтер типтері және өлшемі бойынша беріледі. Өлшем – массивтегі элементтердің мүмкін болатынь максималды мәні. Бір уақыт мезетінде массивтің бір элементіне ғана қатынас жасауға болады. Ол үшін массив аты және жақша ішінде элемент индексі көрсетіледі. Массивтер: бір өлшемді (сызықты); екі өлшемді болып бөлінеді. Бір өлшемді массивтің математикадағы түп бейнесі вектор, ал екі өлшемді массивтікі матрица болып табылады. Массивтер: бір өлшемді (сызықты); екі өлшемді болып бөлінеді. Бір өлшемді массивтің математикадағы түп бейнесі вектор, ал екі өлшемді массивтікі матрица болып табылады.
18 Бақылау сұрақтары 1.Сызықты алгоритм денегіміз не? 2.Тармақталған құрылымды алгоритм денегіміз не? 3.Циклдық құрылымды алгоритм денегіміз не? 4. Массивтер денегіміз не?