Сана: 21.11.2014
Мавзу: Алгоритм хоссалари ва турлари. Чизиқли, тармоқланувчи ва циклли алгоритмлар.(Блок схемалар)
Дарснинг мақсади:
Ўқувчиларга янги темани тушунтириб бериш.
Мисоллар орқали ўқувчиларнинг онгини кенгайтириш
XXI аср компьютер асри бўганлиги учун ўқувчиларга тўлиқроқ тушинтириш
ІІ. Дарснинг жихози: Компьютерда кўрсатиш, плакатлар.
III. Дарснинг бориши:
Ўқувчилар ташқи қиёфасини кўздан кечириш.
Ўтилган темалардан саволлар.
Алгоритм хозирги замон математикасининг энг кенг тушунчаларидан биридир.
Алгоритм (алгорифм) сузи урта асрларда пайдо булиб, буюк узбек мутафаккири Ал-Хоразмийнинг (783-855) ишлари билан европаликларнинг биринчи бор танишиши билан богликдир. Бу ишлар уларда жуда чукур таассурот колдириб, алгоритм (algorithmi) сузининг келиб чикишига сабаб булдики, у Ал-Хоразмий исмининг лотинча айтилишидир. У пайтларда бу суз арабларда кулланиладиган унлик санок системаси ва бу санок системасида хисоблаш усулини билдирар эди. Шуни таъкидлаш лозимки, европаликлар томонидан араб санок системасининг Ал-Хоразмий ишлари оркали узлаштиришга кейинчалик хисоблаш усулларининг ривожланишига катта туртки булган. Дастлаб алгоритм дейилганда унлик санок системасидаги сонлар устида турли арифметик амаллар бажариш коидалари тушуниб келган. Алгоритм деганда-бирор максадга эришишга ёки кандайдир масалани ечишга каратилган курсатмаларнинг (буйрукларнинг) аник, тушунарли, чекли хамда тулик тизими тушунилади.
Хозирги замон нуктаи назаридан алгоритм тушунчаси нимани ифодалайди?
Маълумки, инсон кундалик турмушида турли-туман ишларни бажаради. Хар бир ишни бажаришда эса бир канча элементар (майда) ишларни кетма-кет амалга оширишга тугри келади. Мана шу кетма-кетликнинг узи бажариладиган ишнинг алгоритмидир. Аммо бу кетма–кетликка эътибор берсак, биз ижро этаётган элементар ишлар маълум коида буйича бажарилиши керак булган кетма-кетликда иборат эканлиги курамиз.
Алгоритмга куйиладиган кушимча талаблар мавжуд булиб, бу талаблар алгоритмнинг хоссалари дейилади. Улар куйидагилардан иборат:
Узлуксизликлик хоссаси. Бу хоссага кура алгоритм аник ва тугалланган кадамларга булинган булиши керак.
Аниклилик хоссаси. Алгоритм шундай тузилган булиши керакки, хар бир буйруги бажарилгандан кейин кайси буйруги бажарилиши аник курсатилиши лозим.
Тушунарлилик хоссаси. Хар бир алгоритм ёши ёки кобилиятига караб маълум ижрочига мулжалланган булади.
Натижавийлик хоссаси. Ижрочи алгоритмнинг чекли сондаги буйрукларини бажаргандан сунг, натижага эришиши керак.
Оммавийлик хоссаси. Бу хоссага кура тузилган битта алгоритм воситаларига факат бита эмас, балки бир хил турли масалаларни хал кила билиш мумкин булиши керак.
Чизиқли алгоритм. Чизиқли алгоритм кетма – кет жойлашган командалардан, блок-схемалари бир чизиқда жойлашган кетма-кет блоклардан иборат. Амалларни кетма-кет бажарилишини ифодалайдиган алгоритм-чизиқли алгоритм деб аталади.
Мисол келтирайлик?
алг уйга вазифани ёзиш
боши
Кундаликни олиш
Керакли бетни очиш
Уйга вазифани бажариш
Кундаликни ўрнига қўйиш
тамом
Чизиқли алгоритм командалари шу кўрсатилган навбат бўйича бажариладиган кетма-кет жойлашган командалардан иборат. Амалларнинг шу каби бирин-кетин навбатма-навбат бажалиши кетма-кетлигини табиий бажарилиш дейилади
Тармоқланувчи алгоритмлар.
Кундалик ҳаётимизда тез-тез учрайдиган алгоритмларнинг бир турига мисолдаги маълум бир шартнинг бажарилишига ёки бажарилмаслигига боғлиқ командалар кетма-кетлигининг бир нечта тармо0ларига бўлинадиган гуруҳи ётади. Тармо0ланиш алгоритмда кўпинча арифметик тенгсизлик кўринишда берилган манти0ий шарт текширилади. Агар у бажарилса, у ҳолда алгоритм бир тармо0 билан, бажарилмаса иккинчи тармо0 билан амалга ошириладида, кейин эса икки тармо0 0айта бирлашади. Бундай алгоритмларда шартни текшириш тармо0ланиш командаси деб аталади.
Циклли алгоритмлар. Кўпчилик алгоритмларда кетма-кетлиги бир неча марта такрорланиб туради. Матиматикада, иқтисодиётда мисол ечиш вақтида бир тенгламадан фойдаланиб, ундаги ўзгарувчининг қийматини ўзгаришига қараб уни бир неча марта такрорлаб ҳисоьлашга тўғри келади. Бундай ҳисоблаш жараёни бўлакларининг такрорланиб бажарилиши цикл деб аталади, такрорланадиган қисми бор алгоритмлар гуруҳи циклли алгоритмларга киради. Циклли алгоритмлардан фойдаланиш уларни кейинчалик дастурларда цикл командалари кўринишида қисқартириб ёзиш имкон беради.циклли жараённи таъминлаб берадиган алгоритм қисмини такрорлаш командаси ташкил қилади.
Блок –схемаларда алгоритмнинг алохида боскичларини белгилаш учун куйидаги белгилардан фойдаланилади. Блоклар узаро курсаткичлар (стрелкалар) оркали богланади ва курсаткичнинг йуналиши алгоритмнинг бажарилиши кетма-кетлигини белгилайди. Хар бир блок кандай шаклда булиши ва у нима иш бажариши керак деган ягона талаб ва таъриф йук. Чунки блок-схема алгоритм тузувчи учун дастур тузилишини яккол тасавввур килишнинг яхши усулидир.-- алгоритмнинг бошланишини билдирувчи блок.
-- алгоритм тугаганини билдирувчи блок.
Улар шакл жихатдан бир хил булгани учун алгоритмни бошланишини билдирган блокнинг ичига бошланиши ёки бошл., алгоритмнинг охирини билдирувчи блокнинг ичига тамом ёки кискача там. Сузлари ёзиб куйилади.
Блок - схемаларда маълумотларни киритиш блокининг умумий куриниши параллелограмм куринишида булиши мумкин.
керакли маълумотларни киритиш ва чикариш блоки.
Кайси узгарувчиларнинг кийматларини киритиш керак булса, шу узгарувчиларнинг номлари блокнинг ичига ёзиб куйилади. Бу блок битта кириш ва битта чикиш курсаткичига эга.
3. Амалларни бажарувчи блокнинг куриниши тугри туртбурчак шаклида булади. Бу куринишдаги блок чизикли блок хам дейилади. Бажарилиши керак булган иш блокнинг ичига ёзиб куйилади. Блокнинг ичида бир канча формулалар хам булиши мумкин. Блокдан чикиш учун блок ичидаги хамма буйрукларни бажариш лозим. Бу блоклар хам битта кириш ва битта чикиш курсаткичига эга.
-- хисоблаш ва таъминлаш блоки.
4. Шартларни текшириш ёки тармокланувчи блокнинг куриниши ромб шаклида булади. Бундай блоклар шартли блоклар булиб, улардан тармокланувчи жараёнларнинг алгоритмини ёзишда фойдаланилади. Текширилаётган шарт блок ичига ёзиб куйилади ва шартнинг бажарилишига караб (ха ёки йук) бирор курсаткич йуналиши буйича юрилади, яъни тармокланади.
-- шартни текширувчи блок.
Бу турдаги блоклар битта кириш ва иккита чикиш курсаткичига эга.
5. Чикариш блокининг умумий куриниши куйидаги куринишда булиши мумкин. Бу когознинг пастидан йиртилган куринишини эслатади. Кийматлари чикарилиши керак булган катталикларнинг руйхатлари блокнинг ичига ёзиб куйилади.
Дарснинг якуни. Уйга вазифа ытилган темаларни такрорлаш.