Оралымды алгоритмдер




Презентация қосу
Қазақстан Республикасының Денсаулық сақтау Министрлігі
Семей Мемлекеттік Медицина Университеті

Орындаған: Мержакупов Танат
120-топ ЖМФ
Тексерген: Бектурова А.Ш.
Есепті алгоритмдеу
негізі
1.Негізгі алгоритмдер
2.Есеп шығарудың негізгі программалық
нәтижелі схемасы
а) “дейін”,”әзірше”,”үшін” әдістерімен “жалғасу”
не “оралым” негізгі алгоритмдері
б) “егер-онда”, “егер-онда-әйтпесе”,”таңдау”,
“таңдау-әйтпесе” әдістерімен тармақталудың
негізгі алгоритмдері
• Алгоритм- операциялардың құрамы мен
олардың орындалу тізбегін белгілейтін
міндеттерді шешудің тәсілін дәл
суреттеу.
• Алгоритм сөзі мағынасы жағынан нұсқау,
жарлық, рецепт, ереже, тәртіп, заң, жоба
сөздеріне синоним болып келеді.Алгоритм
сөзі Орта Азияның ортағасырлық ұлы
ғалымы- Мұхамед ибн Мұса әл-
Хорезмидің атымен байланысты шыққан.
• Алгоритм деп алдын-ала анықталған
мақсатқа жету үшін есептің шешімін табу
үшін орындаушыға берілген
нұсқаулардың тізбегін айтады.
• Алгоритм - шектеулі қадамдарда орындап
болған соң нәтижеге алып келеді.
Кез келген алгоритм мынадай өзгешеліктерге ие
болады:
• Бір ғана бастапқы деректерді көп мәрте есептеуден
алынатын нәтижелердің қайталанбалығы.
• Нәтижелігі - бірқатар нәтижелерді міндетті түрде алу
(сан, кесте,мәтін,дыбыс,кескін және т.б.) немесе осы
алгоритмнің алға қойылған міндеттерді шешудегі
жарамсыздығы туралы сигнал.
• Көпке бірдейлік(массивность)-жиынтық міндеттердің
бірқатар тобы үшін әр түрлі бастапқы деректерден
нәтижелерді алу мүмкіндігі.
• Дискреттілік -алгоритмді жекелеген қарапайым
әрекеттерге бөлу мүмкіндігі.
Алгоритмді көрсетудің мынадай
формалары бар:
Сөз(текстік);
Графикалық;
Программалау түрінде.
Графикалық форма алгоритмді ең
ықшам әрі көрнекті етіп
көрсетеді.Алгоритм әрбіреуі бір немесе
бірнеше операторлардың орындауына
сәйкес келетін блоктардың арасындағы
байланыс тізбектілігі түрінде
бейнеленеді.Мұндай графикалық
көрсетімді алгоритм блок-схемасы деп
атайды.
Программалау тілінде жазылған
алгоритм программа деп аталады.
Программалаудың 3 базалық құрылымы
бар:
-Қолдану(қадағалап байқау;
-Тармақталу(балама,егер-онда-әйтпесе)
-Цикл.
Қолдану базалық құрылым мынаны
білдіреді:бірнеше оператор белгілі бір
программаны орындау уақытында тек бір-ақ
рет бірінен кейін бірі тізбектілікпен
орындалуы тиіс.
Екіншілік базалық құрылымға тармақталу
жатады.Бұл құрылым тексерілген жағдайдың
нәтижесіне қарай(ақиқат немесе жалған)
алгоритм жұмысын балама арқылы бір
тұжырыммен баламадағы әрбір нұсқа
шығудың жалпы жолына апарады-қамтамасыз
етеді.Ішінара жағдайларда ұштасатын бос
әрекеттер кез келгенде ештеңе істеудің
қажеті жоқ.Мұндай құрылым “айналып өту”
немесе “егер-онда-әйтпесе” деген атауға ие
болған.
Құрамында “тармақталу” базалық
құрылым кіретін алгоритм
тармақтаушы деп аталады.
Кіру

Иә Шартты жоқ
тексеру

Шығу

Егер-онда құрылымы(айналып өту)
Егер,алгоритмде тармақтың үш немесе одан
да көп бағыты болатын болса,онда оны “Егер-
онда-әйтпесе” атты бірнеше базалық
құрылымының жиынтығы түрінде көрсетуге
болады.
Тармақталу Иә
Шартты
жоқ
тексеру
құрылымының
мұндай алуан 1-оператор 2-оператор

түрлілігі
көбінесе көптік Шығу

таңдау деп Егер-онда-әйтпесе құрылымы
аталады.
• Көп сериялы тармақталу командасын таңдау командасы деп
аталады.Командаға әйтпесе нұсқауын енгізбеу де мүмкін.ЭЕМ
таңдау командасында сақталған шартқа сәйкес блокты
орындайды да,құрылымынан тыс берілген кезекті команданы
орындауға кіріседі.
• Мысалы:v1 жылдамдықпен жүгіріп келе жатқан массасы м1
адам, массасы м2-ге тең v2 жылдамдықпен жүріп келе жатқан
арбаға секіріп мінді. Арбаның жаңа жылдамдығы қандай?
• Шешу. Бастапқы берілгендер СИ жүйесінде берілген, ал v
арбаның жаңа жылдамдығы болсын.Импульстің сақталу заңы
бойынша:
M1*v1+m2*v2=(m1+m2)*v
Бұдан :V=(m1*v1+m2*v2)/(m1+m2)
Алг жылдамдық(арг нақ m1,m2,v1,v2,нәт нақ v)
Басы
Енгізу m1,m2,v1,v2.
V:=(m1v1+m2v2)\(m1+m2)
Шығару v
соңы
Цикл
• Шарттың сақталуы кезінде командалар
сериясын қайталап орындау үшін берілетін
нұсқауды қайталау командасы не цикл деп,
орындалатын командалар сериясын цикл
денесі деп атайды. Қайталау командасының
түрі өзгертілген 4 түрлі құрылымы бар (N
рет,үшін циклдары серияның қайталану саны
белгілі кезде, қалғандары белгілі емес не тіпті
белгілі кезде қолданылады):
• N рет,Әзірше,Дейін,Үшін
Әзірше циклінің түзілісі
Әзірше Р орындау S
Мысал:
Жалпы мүшесі ак=1/ (к2+3) болатын тізьектің алғашқы n
мүшесінің қосындысын табу керек (к=1,2,3...).
Әзірше құрылымы кірістірілген алгоритм:
алг тізбек ( арг бүт n,нақ а, нәт нақ S)
Басы бүт К
Енгізу n; 12:=1; S:=0
Цб әзір К<=n
a:=1/(k``2+3~
S=s+a; k:=k+1
Шығару S
соңы
Оралымды алгоритмдер.
«ДЕЙІН» түріндегі оралымды
алгоритмдерді программалау.
• Есепті шығару кезінде кейбір бөліктері қайталанып
орындалатын алгоритмді құрылымы оралымды алгоритм
деп атайды. Қайталанатын бөліктердің орындалу саны
алгоритмде міндетті түрде көрсетілуі керек.
• Сурет 1
Сурет 1


• Құрылымы оралымды алгоритмді шартты өту көмегімен
немесе оралымды ұйымдастыру элементінің көмегімен
құруға болады. Оралымды ұйымдастыру элементінің
сурет түріндегі көрінісі 1-суретте көрсетілген.
Оралымды ұйымдастыру элементінде оралым
ұйымдастырылушы шама, оның бастапқы, соңғы және өсім мәні
көрсетіледі. Оралым соңында оралым ұйыдастырылушы
шаманың келесі мәні есептеліп, оралымда есептеу
қайталанады. Егер өсім шамасы 1-ге тең болса, оны алгоритмде
көрсетпеуге де болады.
Мысалы: х үшін 2-ден 16-ға дейін 2-ге тең адыммен оралым құр.
Оралымды алгоритмдерде ішкі ендірілген оралымдар болуы
мүмкін (сурет 2). Мұндай алгоритмдерде алғашқы сыртқы
оралым ішкі оралымнан бұрын басталады, бірақ ішкі
алгоритмнен кейін аяқталады, яғни ішкі оралымдар кейін
басталып бұрын аяқталады.
Оралымды алгоритмдер денесінде тармақталу да болуы
мүмкін

жоқ иә

Ішкі оралымы Ішкі тармақты
бар құрылымы құрылымы бар
оралымды алгоритм оралымды алгоритм
Сурет 2
Құрылымы оралымды алгоритмді
құру және оны программалауға
мысалдар

Мысал 1. Құрылымы оралымды алгоритмді
шартты өту көмегімен құру және оны
программалау.
а) Есепті құрастыру. Элементтері а-дан басталып,
b шамасына өсіп тұратын және элементтерінің
қосындысы m-нен аспайтын таңдаманы құр.
б) Есепке математикалық тұжырым жасау.
Есептің шарты бойынша таңдама арифметикалық
прогрессия. Сондықтан таңдаманың жеке
элементтерінің мәні: Х =а+(N–1)b
Таңдама элементтерінің қосындысы: S = SС + x ,
мұнда SС – қосынды S-тің бұрынғы мәні.
Таңдама элементтерінің рет саны: N = NС + 1,
мұнда NС рет саны N-нің бұрынғы мәні.
Логикалық шарт S>m.
Мысал 2. Оралымды ұйымдастыру элементтерінің көмегімен
құрылымы оралымды алгоритмді құру және оны программалау.
а) Есепті құрастыру. Мүшелерінің саны n таңдаманы 0,95 сенімділік
ықтималдылықтағы Стьюдент коэффициентінің көмегімен статистикалық
өңдеуге құрылымы оралымды алгоритм құр және оны программаға айналдыр.
б) Есепке математикалық тұжырым жасау.
Таңдама мүшелерінің қосындысы х = р = рс+х
Таңдама мүшелерінің квадраттарының қосындысы х2 = С= Сс+х2
Таңдаманың орташа арифметикалық шамасы А=р/n
Таңдаңдаманың стандартты ауытқуы жиілік V=n-1
абсолют қателік L=tS/, мұнда t - Стьюдент коэффициенті
салыстырмалы қателік B=L 100/A
в) Есепті шығару алгоритмін құру (кесте 3).Қандайда болмасын алгоритм
басталуына нұсқаумен (1) және бастапқы берілгендерді Р, С, N және Т
енгізумен (2) басталады. К үшін 1-ден N-ге дейін оралым ұйымдастыру (4)
таңдама мүшелерінің элементтерін кезекпен енгізуге мүмкіндік береді. Оралым
денесінде енгізілген таңдама мүшелерінің қосындысын P және олардың
квадраттарының қосындысын С есептеуді (5) енгізуге болады. Қосындылардың
С және Р бастапқы мәндері 0 алгоритмнің 2-ші элементінде көрсетілуі керек.
Оралымның келесі мүшесінің мәнін енгізіп, енгізілген мәндер үшін С және Р
қосындыларын есептеген соң, оралым, К N-нен үлкен болғанға дейін,
қайтадан басынан басталып орындалады (6). Енді орташа арифметикалық
шама, стандартты ауытқу, абсолют қателік және салыстырмалы қателік
мәндеріңн есептеуге (7) болады. Алгоритмді аяқтаудан (9) бұрын, есептелген
нәтижелерді экранға шығару (8) қажет.
«ӘЗІРШЕ» түріндегі оралымды
алгоритмдерді программалау.
Есепті шығару кезінде кейбір бөліктері қайталанып
орындалатын алгоритмді құрылымы оралымды алгоритм деп
атайды. Қайталанатын бөліктердің орындалу саны
алгоритмде міндетті түрде көрсетілуі керек.
Егер алгоритмнің қайталанатын бөліктерінің қайталану санын
айқын түрде көрсету мүмкін болмаса, оралымды
ұйымдастыру «ӘЗІРШЕ» элементімен басталады да,
«ОРАЛЫМ СОҢЫ» элементімен аяқталады. «ӘЗІРШЕ»
элементінен соң логикалық шарт жазылады. Логикалық шарт
«АҚИҚАТ» мәнін алатын болса, яғни шарт орындалатын
болса, онда оралым денесі қайталанып орындала береді.
Логикалық шарт «ЖАЛҒАН» болса, яғни орындалмайтын
болса, басқару «ОРАЛЫМ СОҢЫ» элементінен келесі
элементке беріледі.
2. «Әзірше» элементті оралымды алгоритмді
программалау операторлары.
Программа құрғанда алгоритмнің «ӘЗІРШЕ» элементі
«WHILE» операторымен, ал «ОРАЛЫМ СОҢЫ» элементі
«WEND» операторымен өрнектейді. «WHILE» операторынан
соң логикалық шарт Бейсик тілінде жазылады.
Алгоритмнің басқа элементтері сызықтық және тармақты
алгоритмді программалағанда қолданылатын
операторлармен көрсетіледі.
• 3.Құрылымы оралымды алгоритмді құру және
программалауға мысалдар.
• Мысал 1. Құрылымы оралымды алгоритмді
«ӘЗІРШЕ» элементі көмегімен құру және оны
программалау.
• а) Есепті құрастыру.
• К-дан басталатын, жұп сандар тізбегіндегі, өзіне
дейінгі сандар қосындысы N-нен (N>K), артпайтын
соңғы санды тап.
• б) Есепке математикалық тұжырым жасау.
• Сандар қосындысын мына формуламен есептеуге
болады: S = Sc + K, мұнда Sc – қосындысы S-тің
алдыңғы мәні.
• Келесі жұп сан K = Kc + 2, мұнда Kc – жұп сан K–
ның алдыңғы мәні.
• Логикалық шарт S + K≤ N.
в) Есепке алгоритм құру.
Оралымды алгоритм сызықтық және тармақты
алгоритм сыяқты басталуын көрсетуден және
бастапқы берілгендерді S, K мен N-ді енгізуден
басталады.Қайталану саны айқын емес оралымды
ұйымдастыру үшін «ӘЗІРШЕ» және логикалық шарт
енгізіледі. Алгоритмнің келесі 4-ші элеметінде
енгізілген жұп сандардың қосындысын S және келесі
жұп санның мәні К есептеледі. Осы есептеулерді
қайталап орындату үшін алгоритмнің келесі 5-ші
элементі «ОРАЛЫМ СОҢЫ» қолданылады.
Логикалық шарт орындалмаған жағдайда алгоритмнің
жұмысын басқару «ОРАЛЫМ СОҢЫ» элементінен
кейінгі 6-шы «нәтиже шығару» элементіне
беріледі.Нәтиже алынған соң алгоритм жұмысын
аяқтауға болады, сондықтан 7-ші элемент «Соңы».
• Есепті алгоритмдеу негізі.
Көмекші алгоритм құру және
оны программалау
• Егер алгоритмнің қандайда болмасын бір
фрагменті алгоритмнің әртүрлі бөлігінде
қайталанатын болса және осы фрагмент шеткері
бөлектендіріліп шығарылған болса, ондай
алгоритм көмекші программалы деп аталады.
Алгоритмнің қайталанатын фрагменті (көмекші
программа) негізгі алгоритмнен соң орналасады.
Сурет 2. Алгоритмдегі үзілісті көрсету
• Көмекші программа денесінде, негізгі
программаның денесіндегіндей, құрылымы
тізбекті, сондай ақ құрылымы тармақты және
оралымды алгоритм элементтерінен тұруы
мүмкін. Көмекші программа; негізгі программа
сыяқты, басталуын көрсетумен басталады және
негізгі алгоритмге өтуді көрсетумен аяқталады.
• Алгоритмде көмекші программа элементтері негізгі алгоритм
элементтерінен соң тізбектеле нөмірленеді.
• Көмекші программаға өту негізгі алгоритмде көмекші
программаның бірінші жолының нөмірін көрсету арқылы
орындалады.
• Алгоритмде бірнеше көмекші программа болуы мүмкін.
Есептің шартына, бастапқы берілгендерге және аралық
айнымалаларға байланысты көмекші программаға өту 3 түрлі
жолмен жүруі мүмкін:
• 1) шартсыз өтумен, мысалы, көмекші программаға 22-ге өт;
• 2) шартты өтумен, мысалы, егер х>5 көмекші программаға 22-ге
өт;
• 3) тізімнен көмекші программаны таңдау арқылы, мысалы:
• К-да көмекші программаға 22, 26, 30 өт,
• мұнда 22, 26 және 30 көмекші программалардың бірінші
жолдарының нөмірлері. Егер К=1 болса, онда 22-ші нөмірден
басталатын көмекші программаға өту орындалады, К=2
болғанда 26-ші нөмірден басталатын көмекші программаға өту
орындалады, ал К=3 болса 30 нөмірлі жолмен басталатын
көмекші программаға өту орындалады. К=0 және К тізімдегі
элементтер санынан артық болса, онда көмекші программаға өту
орнына негізгі алгоритмнің келесі жолы орындалады.
Пайдаланған әдебиеттер

• Г.Ә. Жапарова. Информатика
негіздері,Алматы,2006
• Беркінбаев К.М.
Информатика,Алматы,2006
• М.К. Изтлеуов.А.И. Беккужина
Информатика,Алматы,2005

Ұқсас жұмыстар
Мүлікке салық
ЖАЛДАУ ШАРТЫНЫҢ ҰҒЫМЫ ЖӘНЕ ОНЫҢ ТҮРЛЕРІ
Алгоритм туралы мәлімет
Қозғалмайтын электр зарядтарының электр өрісі
ЕСЕПТЕУДІҢ АЛГОРИТМДІК ШЕШІМІ АЛГОРИТМДІК КҮРДЕЛІКТІ ТАЛДАУ
Алгоритм ұғымы
Шешілмейтін алгоритмдер туралы тү сінік. Алгоритм кү рделілігі. Алгоритм тү сінігінің функция тү сінігімен байланысы. Алгоритмдік тіл жә не оны орындаушылардың сипаттамалары
Алгоритмдер туралы түсінік. Алгоритм күрделілігі
Тармақталған алгоритмдер
Географиялық диктант
Пәндер