СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Chiziqli algoritmlar, tarmoqlanuvchi algoritmlar, takrorlanuvchi algoritmlar

Категория: Информатика

Нажмите, чтобы узнать подробности

Chiziqli algoritmlar, tarmoqlanuvchi algoritmlar, takrorlanuvchi algoritmlar MAVZUSI BO`YICHA KURS ISHI ISHLANMASI 

Просмотр содержимого документа
«Chiziqli algoritmlar, tarmoqlanuvchi algoritmlar, takrorlanuvchi algoritmlar»

O‘ZBEKISTON RESPUBLIKASI

OLIY VA O‘RTA MAXSUS TA’LIM VAZIRLIGI

_______________DAVLAT UNIVERSITETI

_________________ FAKULTETI















_______________________ yo‘nalishi

___________-guruh talabasi

________________________________ning

Dasturlash asoslari” fanidan

Chiziqli algoritmlar, tarmoqlanuvchi algoritmlar, takrorlanuvchi algoritmlarmavzusidagi

KURS ISHI





Kurs ishi raxbari: _____________________________



Farg‘ona 2021.



MUNDARIJA



  1. Kirish……………………………………………………………………3

  2. Asosiy qism……………………………………………………………..5

    1. Algoritm haqida tushuncha…………………………………………………5

    2. Algoritmning asosiy xossalari……………………………………………..6

    3. Chiziqli algoritmlar…………………………………………………………9

    4. Tarmoqlanuvchi algoritmlar ………………………………………………11

    5. Takrorlanuvchi algoritmlar………………………………………………...19

  3. Xulosa…………………………………………………………………..38

  4. Foydalanilgan adabiyotlar……………………………………………39







































KIRISH

Hisoblash eksperimenti.

Odatda tabiat yoki jamiyatda uchraydigan turli muammo, masala yoki jarayonlarni o’rganishni EHM yordamida olib borish uchun, birinchi navbatda, qaralayotgan masala, jarayon - ob’ektning matematik ifodasi, ya’ni matematik modelini ko’rish kerak bo’ladi. Qaralayotgan ob’ektning matematik modelini yaratish juda murakkab jarayon bo’lib, o’rganilayotgan ob’ektga bog’liq ravishda turli soha mutaxassislarining ishtiroki talab etiladi. Umuman, biror masalani EHM yordamida echishni quyidagi bosqichlarga ajratish mumkin.

1-rasm. Hisoblash eksperimentining sxemasi.

Misol sifatida, kosmik kemani erdan Zuxro planetasiga eng optimal traektoriya bo’yicha uchirish masalasini xal qilish talab qilingan bo’lsin. Birinchi navbatda, qo’yilgan masala turli soha mutaxassislari tomonidan atroflicha o’rganilishi va bu jarayonni ifodalaydigan eng muhim - bo’lgan asosiy parametrlarni aniqlash kerak bo’ladi. Masalan, fizik-astronom-injener tomonidan, masala qo’yilishining o’rinli ekanligi, yani planetalar orasidagi masofa va atmosfera qatlamlarining ta’siri, er tortish kuchini engib o’tish va kemaning og’irligi, zarur bo’lgan yoqilg’ining optimal miqdori va kosmik kemani qurishda qanday materiallardan foydalanish zarurligi, inson sog’lig’iga ta’siri va sarflanadigan vaqt va yana turli tuman ta’sirlarni hisobga olgan holda shu masalaning matematik modelini tuzish zarur bo’ladi. Zikr etilgan ta’sirlarni va fizikaning qonunlarini hisobga olgan holda bu masalani ifodalaydigan birorta differentsial yoki boshqa ko’rinishdagi modellovchi tenglama hosil qilish mumkin bo’ladi. Balki, bu masalani bir nechta alohida masalalarga bo’lib o’rganish maqsadga muvofiqdir. Bu matematik modelni o’rganish asosida bu masalani ijobiy echish yoki xozirgi zamon tsiviliziyatsiyasi bu masalani echishga qodir emas degan xulosaga xam kelish mumkin. Bu fikrlar, yuqorida keltirilgan jadvalning 2 blokiga mos keladi. Faraz qilaylik biz matematik modelni qurdik. Endi uni EHM da echish masalasi tug’iladi. Bizga Ma’lumki, EHM faqat 0 va 1 diskret qiymatlar va ular ustida arifmetik va mantiqiy amallarni bajara oladi xolos. SHuning uchun matematik modelga mos diskret modelni qurish zaruriyati tug’iladi (1-rasm, 3-blok). Odatda, matematik modellarga mos keluvchi diskret modellar ko’p noma’lumli murakkab chiziqsiz algebraik tenglamalar sistemasi (chekli ayirmali tenglamalar-sxemalar) ko’rinishida bo’ladi(4-blok). Endi hosil bo’lgan diskret modelni sonli echish usulini–algoritmini yaratish zarur bo’ladi. Algoritm esa tuziladigan programma uchun asos bo’ladi. Odatda, tuzilgan programmani ishchi holatga keltirish uchun programmaning xato va kamchiliklarini tuzatish – sozlash zarur bo’ladi. Olingan sonli natijalar hali programmaning to’g’ri ishlayotganligi kafolatini bermaydi. SHuning uchun olingan natijalarni masalaning mohiyatidan kelib chiqqan holda analiz qilish kerak bo’ladi. Agar olingan natija o’rganilayotgan jarayonni ifodalamasa, masalani 1-rasmdagi sxema asosida qaytadan ko’rib chiqish va zarur bo’lgan joylarda o’zgartirishlar kiritish kerak bo’ladi. Bu jarayon, to kutilan ijobiy yoki salbiy natija olinguncha davom ettiriladi va bu takrorlanuvchi jarayonga Hisoblash eksperimenti deb ataladi. Odatda, hisoblash eksperimenti deganda soddaroq holda, model, algoritm va programma uchligini (triadasini) tushunish mumkin.

Algoritm tushunchasi

Yuqorida qayd qilganimizdek, qo’yilgan biror masalani EHMda echish uchun, avval uning matematik modelini, keyin algoritmini va programmasini tuzish kerak bo’ladi. Bu uchlikda algoritm bloki muhim ahamiyatga ega. Endi algoritm tushunchasining ta’rifi va xossalarini bayon qilamiz.

Algoritm bu oldimizga qo’yilgan masalani echish zarur bo’lgan amallar ketma-ketligidir.

Masalan kvadrat tenglamani echish uchun quyidagi amallar ketma-ketligi zarur bo’ladi:

  1. a,b,c- koeffiientlar berilgan bo’lsin,

  2. berilgan a,b,c- koeffiientlar yordamida diskriminant Db2-4ac hisoblanadi,

  3. D0 bo’lsa X 1 2   b  D /2 * a

  4. D

Misol sifatida yana berilgan a, v, s tomonlari bo’yicha uchburchakning yuzasini Geron formulasi bo’yicha hisoblash masalasini ko’rib o’taylik.

  1. a, b, c –uchburchakning tomonlari uzunliklari,

  2. r (abc)2 –perimetrning yarmi hisoblansin,

  3. Tp(r-a)(r-b)(r-c) hisoblansin,

  4. S T hisoblansin.

Yuqoridagi misollardan ko’rinib turibdiki, algoritmning xar bir qadamda bajariladigan amallar tushinarli va aniq tarzda ifodalangan, hamda chekli sondagi amallardan keyin aniq natijani olish mumkin. Fikr etilgan, tushinarlilik, aniqlik, cheklilik va natijaviylik tushunchalari algoritmning asosiy xossalarini tashkil etadi. Bu tushunchalar keyingi pararaflarda alohida ko’rib o’tiladi. Algoritm so’zi va tushunchasi IX asrda yashab ijod etgan buyuk alloma Muhammad al-Xorazmiy nomi bilan uzviy bog’liq. Algoritm so’zi Al-Xorazmiy nomini Evropa olimlari tomonidan buzib talaffuz qilinishidan yuzaga kelgan. Al-Xorazmiy birinchi bo’lib o’nlik sanoq sistemasining tamoyillarini va undagi to’rtta amallarni bajarish qoidalarini asoslab bergan.

Algoritmning asosiy xossalari

Algoritmning 5-ta asosiy xossasi bor.

  1. Diskretlilik (CHeklilik). Bu xossaning mazmuni algoritmlarni doimo chekli qadamlardan iborat qilib bo’laklash imkoniyati mavjudligida. Ya’ni uni chekli sondagi oddiy ko’rsatmalar ketma-ketligi shaklida ifodalash mumkin. Agar kuzatilayotgan jarayonni chekli qadamlardan iborat qilib qo’llay olmasak, uni algoritm deb bo’lmaydi.

  2. Tushunarlilik. Biz kundalik hayotimizda berilgan algoritmlar bilan ishlayotgan elektron soatlar, mashinalar, dastgohlar, kompyuterlar, turli avtomatik va mexanik qurilmalarni kuzatamiz.

Ijrochiga tavsiya etilayotgan ko’rsatmalar, uning uchun tushinarli mazmunda bo’lishi shart, aks holda ijrochi oddiygina amalni ham bajara olmaydi. Undan tashqari, ijrochi har qanday amalni bajara olmasligi ham mumkin.

Har bir ijrochining bajarishi mumkin bo’lgan ko’rsatmalar yoki buyruqlar majmuasi mavjud, u ijrochining ko’rsatmalar tizimi (sistemasi) deyiladi. Demak, ijrochi uchun berilayotgan har bir ko’rsatma ijrochining ko’rsatmalar tizimiga mansub bo’lishi lozim.

Ko’rsatmalarni ijrochining ko’rsatmalar tizimiga tegishli bo’ladigan qilib ifodalay bilishimiz muhim ahamiyatga ega. Masalan, quyi sinfning a’lochi o’quvchisi "son kvadratga oshirilsin" degan ko’rsatmani tushinmasligi natijasida bajara olmaydi, lekin "son o’zini o’ziga ko’paytirilsin" shaklidagi ko’rsatmani bemalol bajaradi, chunki u ko’rsatma mazmunidan ko’payirish amalini bajarish kerakligini anglaydi.

  1. Aniqlik. Ijrochiga berilayotgan ko’rsatmalar aniq mazmunda bo’lishi zarur. CHunki ko’rsatmadagi noaniqliklar mo’ljaldagi maqsadga erishishga olib kelmaydi. Odam uchun tushinarli bo’lgan "3-4 marta silkitilsin", "5-10 daqiqa qizdirilsin", "1-2 qoshiq solinsin", "tenglamalardan biri echilsin" kabi noaniq ko’rsatmalar robot yoki kompyuterni qiyin ahvolga solib qo’yadi.

Bundan tashqari, ko’rsatmalarning qaysi ketma-ketlikda bajarilishi ham muhim ahamiyatga ega. Demak, ko’rsatmalar aniq berilishi va faqat algoritmda ko’rsatilgan tartibda bajarilishi shart ekan.

  1. Ommaviylik. Har bir algoritm mazmuniga ko’ra bir turdagi masalalarning barchasi uchun ham o’rinli bo’lishi kerak. YA’ni masaladagi boshlang’ich ma’lumotlar qanday bo’lishidan qat’iy nazar algorim shu xildagi har qanday masalani echishga yaroqli bo’lishi kerak. Masalan, ikki oddiy kasrning umumiy mahrajini topish algoritmi, kasrlarni turlicha o’zgartirib bersangiz ham ularning umumiy mahrajlarini aniqlab beraveradi. YOki uchburchanning yuzini topish algoritmi, uchburchakning qanday bo’lishidan qat’iy nazar, uning yuzini hisoblab beraveradi.

  2. Natijaviylik. Har bir algoritm chekli sondagi qadamlardan so’ng albatta natija berishi shart. Bajariladigan amallar ko’p bo’lsa ham baribir natijaga olib kelishi kerak. Chekli qadamdan so’ng qo’yilgan masala echimga ega emasligini aniqlash ham natija hisoblanadi. Agar ko’rilayotgan jarayon cheksiz davom etib natija bermasa, uni algoritm deb atay olmaymiz.

Algoritmning tasvirlash usullari

Yuqorida ko’rilgan misollarda odatda biz masalani echish algoritmini so’zlar va matematik formulalar orqali ifodaladik. Lekin algoritm boshqa ko’rinishlarda ham berilishi mumkin. Biz endi algoritmlarning eng ko’p uchraydigan turlari bilan tanishamiz.

  1. Algoritmning so’zlar orqali ifodalanishi. Bu usulda ijrochi uchun beriladigan har bir ko’rsatma jumlalar, so’zlar orqali buyruq shaklida beriladi.

  2. Algoritmning formulalar bilan berilish usulidan matematika, fizika, kimyo kabi aniq fanlardagi formulalarni o’rganishda foydalaniladi. Bu usulni ba’zan analitik ifodalash deyiladi.

  3. Algoritmlarning grafik shaklida tasvirlanishida algoritmlar maxsus geometrik figuralar yordamida tasvirlanadi va bu grafik ko’rinishi blok-sxema deyiladi.

  4. Algoritmning jadval ko’rinishda berilishi. Algoritmning bu tarzda tasvirlanishdan ham ko’p foydalanamiz. Masalan, maktabda qo’llanib kelinayotgan to’rt xonali matematik jadvallar yoki turli xil lotereyalar jadvallari.

Funktsiyalarning grafiklarini chizishda ham algoritmlarning qiymatlari jadvali ko’rinishlaridan foydalanamiz. Bu kabi jadvallardan foydalanish algoritmlari sodda bo’lgan tufayli ularni o’zlashtirib olish oson.

Yuqorida ko’rilgan algoritmlarning tasvirlash usullarining asosiy maqsadi, qo’yilgan masalani echish uchun zarur bo’lgan amallar ketma-ketligining eng qulay holatinni aniqlash va shu bilan odam tomonidan programma yozishni yanada osonlashtirishdan iborat. Aslida programma ham algoritmning boshqa bir ko’rinishi bo’lib, u insonning kompyuter bilan muloqotini qulayrok amalga oshirish uchun mo’ljallangan.

Blok-sxemalarni tuzishda foydalaniladigan asosiy sodda geometrik figuralar quyidagilardan iborat.

O val (ellips shaklli), u algoritmning boshlanishi yoki tugallashini belgilaydi.



To’g’ri burchakli to’rtburchak, qiymat berish yoki tegishli ko’rsatmalarni bajarish jarayonini belgilaydi.

Parallelogramm, ma’lumotlarni kiritish yoki chiqarishni

belgilaydi.

Yordamchi algoritmga murojatni belgilaydi.


Romb, shart tekshirishni belgilaydi va shart bajarilsa "ha", tarmoq bo’yicha, aks holda "yo’q”-tarmog’i bo’yicha amallar bajarilishini ta’minlaydi.



S trelka - amallar ketma ketligining bajarilish yo’nalishini ko’rsatadi.

Blok-sxemalar bilan ishlashni yaxshilab o’zlashtirib olish zarur, chunki bu usul algoritmlarni ifodalashning qulay vositalaridan biri bo’lib programma tuzishni osonlashtiradi, programmalash qobiliyatini mustahkamlaydi. Algoritmik tillarda blok - sxemaning asosiy strukturalariga maxsus operatorlar mos keladi. Misol sifatida 2.1 punktda keltirilgan ax2bxc0 kvadrat tenglamani echish algoritmining blok-sxemasi quyida keltirilgan.

Chiziqli algoritmlar

Har qanday murakkab algoritmni ham uchta asosiy struktura yordamida tasvirlash mumkin. Bular ketma-ketlik, ayri va takrorlash strukturalaridir. Bu strukturalar asosida chiziqli, tarmoqlanuvchi va takrorlanuvchi hisoblash jarayonlarining algoritmlarini tuzish mumkin. Umuman olganda algoritmlarni shartli ravishda quyidagi turlarga ajratish mumkin:

  • chiziqli algoritmlar,

  • tarmoqlanuvchi algoritmlar,

  • takrorlanuvchi yoki tsiklik algoritmlar,

  • ichma-ich joylashgan tsiklik algoritmlar,

  • rekurrent algoritmlar,

  • takrorlanishlar soni oldindan no’malum algoritmlar,

  • ketma-ket yaqinlashuvchi algoritmlar.

Faqat ketma-ket bajariladigan amallardan tashkil topgan algoritmlarga-chiziqli algoritmlar deyiladi. Bunday algoritmni ifodalash uchun ketma-ketlik strukturasi ishlatiladi. Strukturada bajariladigan amal mos keluvchi shakl bilan ko’rsatiladi. Chiziqli algoritmlarning blok - sxemasini umumiy strukturasini quyidagi ko’rinishda ifodalash mumkin.

1-misol. Uchburchak tomonlarining uzunligi bilan berilgan. Uchburchakka ichki va tashqi chizilgan aylanalar radiuslari va uzunliklari hisoblansin. Ichki chizilgan aylana radiusi r = 2S/(a+b+c) tashqi chizilgan aylananing radiusi R= formulalar orqali hisoblanadi. Bu erda S uchburchakning yuzi, a,b,c uchburchak tomonlarining uzunliklari.

Blok-sxemani tuzamiz.

Tarmoqlanuvchi algoritmlar

Agar hisoblash jarayoni biror bir berilgan shartning bajarilishiga qarab turli tarmoqlar bo’yicha davom ettirilsa va hisoblash jarayonida har bir tarmoq faqat bir marta bajarilsa, bunday hisoblash jarayonlariga tarmoqlanuvchi algoritmlar deyiladi. Tarmoqlanuvchi algoritmlar uchun ayri strukturasi ishlatiladi. Tarmoqlanuvchi strukturasi berilgan shartning bajarilishiga qarab ko’rsatilgan tarmoqdan faqat bittasining bajarilishini ta’minlaydi.

Berilgan shart romb orqali ifodalanadi, r-berilgan shart. Agar shart bajarilsa, "ha" tarmoq bo’yicha a amal, shart bajarilmasa "yo’q" tarmoq bo’yicha b amal bajariladi.

Tarmoqlanuvchi algoritmga tipik misol sifatida quyidagi sodda misolni qaraylik.

  1. Misol.


Berilgan

x ning

qiytmatiga

bog’lik

holda, agar u musbat bo’lsa

«ha» tarmoq

bo’yicha u=x2

funktsiyaning

qiymati, aks

holda

u-x2

funktsiyaning

qiymati

hisoblanadi.

2-misol. Berilgan x, y, z sonlari ichidan eng kichigi aniqlansin. Berilgan x, y, z sonlardan eng kichigini m-deb



belgilaylik. Agar xshart

bajarilsa, m=x bo’ladi, aksincha xz shart



bajarilsa, m= z bo’ladi. Agar xu bo’lib,

u



uz shart bajarilsa, m=z bo’ladi. Bu fikrlar quyidagi blok - sxemada o’z aksini topgan. Bu ayri strukturasidan 3 marta foydalanilgan.

Ko’pgina masalalarni echishda, shart asosida tarmoqlanuvchi algoritmlarning ikkita tarmog’idan bittasining ya’ni yoki «ha» eki «yo’q» ning bajarilishi etarli bo’ladi. Bu holat tarmoqlanuvchi algoritmning xususiy holi sifatida aylanish strukturasi deb atash mumkin. Aylanish strukturasi qo’yidagi ko’rinishga ega:

Takrorlanuvchi algoritmlar

Agar biror masalani echish uchun tuzilgan zarur bo’lgan amallar ketma-ketligining ma’lum bir qismi biror parametrga bog’lik ko’p marta qayta bajarilsa, bunday algoritm takrorlanuvchi algoritm yoki tsiklik algoritmlar deyiladi. Takrorlanuvchi algoritmlarga tipik misol sifatida odatda qatorlarning yig’indisi yoki ko’patmasini hisoblash jarayonlarini qarash mumkin. Quyidagi yig’indini hisoblash algoritmini tuzaylik.

S=12 +22+32+……..n2=

Bu yig’indini hisoblash uchun i=0 da S=0 deb olamiz va i=i+1 da S=S+i 2 ni hisoblaymiz. Bu erda birinchi va ikkinchi qadamlar uchun yig’indi hisoblandi va keyingi qadamda i parametr yana bittaga orttiriladi va navbatdagi raqam avvalgi yig’indi S ning ustiga qo’shiladi va bu jarayon shu tartibda to IBu fikrlarni quyidagi algoritm sifatida ifodalash mumkin.

  1. N –berilgan bo’lsin,

  2. i=0 berilgan bo’sin

  3. s=0 deb qabul qilamiz

  4. i=i+1 hisoblansin

  5. s=s+i hisoblansin

  6. i

4-qatorga qaytarisin, aks holda keying

qatorga o’tsin.

  1. S ni qiymati chop etilsin

Yuqoridagi algoritm va blok sxemadan ko’rinib turibtiki, ammalar ketma-ketligining ma’lum qism parametr i ga nisbatan N martda takrorlaniyapti.

Endi quydagi ko’paytmani algoritmni va blok sxemasini tuzib ko’raylik.

(1dan N gacha bo’lgan sonlar ko’paymasini odatda P! ko’rinishida belgilanadi va faktoriyal deb ataladi.)

P=1*2*3*……N=P!

P! faktorialni quydagicha ham ifodalash mumkin. P!=ПNi

i=1

Ko’paytmani hosil qilish algoritmi ham yig’indini hosil qilish algoritmiga juda o’xshash, faqat ko’paytmani hosil qilish uchun i1 da P1 deb olamiz va keyin ii1 da PP  i ni hisoblaymiz. Keyingi qadamda i parametr yana bittaga orttiriladi va navbatdagi raqam avvalgi hosil bo’lgan ko’paytma P ga ko’paytiriladi va bu jarayon shu tartibda to IQuyidagi algoritmda bu fikrlar o’z aksini topgan.

  1. N–berilgan bo’lsin,

  2. i1 berilsin,

  3. P1 berilsin,

  4. ii1 hisoblansin,

  5. PP*i hisoblansin,



  1. I

  2. P ni qiymati chop etilsin.

Yuqorida ko’rilgan yig’indi va ko’paytmalarning blok sxemalaridagi takrorlanuvchi qismlariga (aylana ichiga olingan) quyidagi sharti keyin berilgan tsiklik struktura mos kelishini ko’rish mumkin.

Yuqoridagi blok sxemalarda shartni oldin tekshiriladigan holdatda chizish mumkin edi. Masalan, yig’indining algoritmini qaraylik.

Blok sxemalarining takrorlanuvchi qismlarini, quyidagi parametrik tsiklik strukturasi ko’rinishida ham ifodalash mumkin.

Parametrik sikl

strukturasiga

misol

sifatida berilgan

x1,2,3,.....10 larda

y 

ax


funktsiyasining qiymatlarini

a  x





hisoblash

blok

sxemasini

qarash

mumkin.






Ichma-ich joylashgan siklik algoritmlar.

Har qanday murakkab algoritmni ham uch asosiy struktura yordamida tasvirlash mumkin. Bular ketma-ketlik, ayri va takrorlash strukturalaridir. Ushbu strukturalar asosida chiziqli, tarmoqlanuvchi va takrorlanuvchi hisoblash jarayonlarining algoritmlarini tuzish mumkin. Umuman olganda, algoritmlarni shartli ravishda quyidagi turlarga ajratish mumkin:

chiziqli algoritmlar;

tarmoqlanuvchi algoritmlar;

takrorlanuvchi algoritmlar;

ichma-ich joylashgan takrorlanuvchi algoritmlar;

rekurrent algoritmlar;

takrorlanishlar soni oldindan no’malum algoritmlar; - ketma-ket yaqinlashuvchi algoritmlar.

2.4-rasm. Chiziqli algoritmlar blok–sxemasining umumiy tuzilishi

Faqat ketma-ket bajariladigan amallardan tashkil topgan algoritmlarga - chiziqli algoritmlar deyiladi. Bunday algoritmni ifodalash uchun ketma-ketlik strukturasi ishlatiladi. Strukturada bajariladigan amal mos keluvchi shakl bilan ko‘rsatiladi. Chiziqli algoritmlar blok-sxemasining umumiy tuzilishi 1.4-rasmda keltirilgan.

1-misol. Uchburchak tomonlarining uzunligi bilan berilgan. Uchburchakka ichki r va tashqi R chizilgan aylanalar radiuslarini hisoblang.

Ichki chizilgan aylana radiusi r = (a+b+c)/2S, tashqi chizilgan aylana

4S radiusi R= formulalar orqali hisoblanadi. Bu yerda S - uchburchakning yuzi, a, abc

b, c – uchburchak tomonlarining uzunliklari. Masala echimining blok-sxemasi

1.5-rasmda keltirilgan.

2.5-rasm. Uchburchakka ichki va tashqi chizilgan aylanalar radiuslarini hisoblash bloksxemasi .

2-misol. Quyida keltirilgan munosabatni hisoblash algoritmini ko‘rib chiqaylik. Jarayon amallarni ketma-ket bajarilishidan iborat.

z x= 2 + sin(x + y) ,

bu yerda x = cos ( a – b ), y = ln ( a2 - x2 ), a = 0.7, b = 2.1.

Bunda:

a, b - aniq qiymatga ega bo‘lgan boshlang‘ich ma’lumotlar; x, y - oraliq ma’lumotlar; z - natija.

Masalani yechish jarayoni chiziqli hisoblanadi, chunki boshlang‘ich ma’lumotlar kiritilgach, munosabatlarning qiymati dasturda joylashgan tartibda hisoblanadi, ya’ni dastlab x, so‘ng - y qiymati va nihoyat z natija hisoblanadi.

Mazkur jarayonning blok-sxemasi 1.6-rasmda keltirilgan.
























2.6 rasm hisoblash blok-sxemasi.

Tarmoqlanuvchi algoritmlar

A gar hisoblash jarayoni biror-bir berilgan shartning bajarilishiga qarab turli tarmoqlar bo‘yicha davom ettirilsa va hisoblash jarayonida har bir tarmoq faqat bir marta bajarilsa, bunday hisoblash jarayonlari tarmoqlanuvchi algoritmlar deyiladi. Tarmoqlanuvchi algoritmlarni tasvirlash uchun “ayri” tuzilmasi ishlatiladi. Tarmoqlanuvchi tuzilmasi berilgan shartning bajarilishiga qarab ko‘rsatilgan tarmoqdan faqat bittasining bajarilishi ta’minlanadi (1.7-rasm).

2.7-rasm. Tarmoqlanishning umumiy ko‘rinishi

Berilgan R-shart romb figurasi ichida tasvirlanadi. Agar shart bajarilsa, "ha" tarmoq bo‘yicha A-amal, aks holda (shart bajarilmasa) "yo‘q" tarmoq bo‘yicha V-amal bajariladi.

1-misol. Tarmoqlanuvchi algoritmga misol sifatida quyidagi sodda masala keltiriladi:

x2 , agar x ≥ 0 у=

2x, aks holda.

Natijaviy qiymat y berilgan x ning qiytmatiga bog‘liq holda bo‘ladi: agar x≥0 shart rost bo‘lsa, tarmoq bo‘yicha y = x2 munosabatning qiymati, aks holda, y = 2*x munosabatning qiymati hisoblanadi. Bu masala bajarilishining so‘z bilan ifodalangan algoritmi quyidagicha:

agar ( x ≥ 0 ) shart bajarilsa, u holda u=x2, aks holda u=2*x.

Masala echimining blok-sxemasi 1.8-rasmda keltirilgan.

2.8-rasm. Interval ko‘rinishidagi funksiya qiymatini hisoblash blok-sxemasi

Ko‘pgina masalalarni yechishda, shart asosida tarmoqlanuvchi algoritmning ikki tarmog‘idan biri, ya’ni «rost» yoki «yolg‘on»ning bajarilishi etarli bo‘ladi. Bu holat tarmoqlanuvchi algoritmning xususiy holi sifatida qisqartirilgan strukturasi deb atash mumkin. Qisqartirilgan struktura blok-sxemasi quyidagi ko‘rinishga ega (2.9-rasm).

2.9-rasm. Qisqartirilgan strukturaning umumiy ko‘rinishi

2-misol. Berilgan x, u, z sonlari ichidan eng kattasini aniqlang. Ushbu masalaga mos matematik modelni quyidagicha tasvirlash mumkin: p= max{x, y,z}. Berilgan x, y, z sonlardan eng kattasi p deb belgilangan. So‘zlar orqali ifodalangan algoritm asosida masala echimini quydagicha tasvirlash mumkin: 1) kiritish (x,y,z); agar ( x u ) bo‘lsa, u holda p = x, aks holda p = u; agar (r ) bo‘lsa, u holda p = z; 4) muhrlash (r). Keltirilgan algoritmga mos blok-sxema 1.10-rasmda tasvirlangan. Bu algoritmda, avva, x va y o‘zaro solishtiriladi, katta qiymatligi ega r ga yuklanadi. So‘ngra x va y larning kattasi deb aniqlangan r va z o‘zaro solishtiriladi. Agar r sharti bajarilsa, u holda eng katta qiymat p= z deb olinadi, aks holda boshqarish navbatdagi amalga uzatiladi. Natijada p da uchta qiymatdan eng kattasi aniqlanadi.

2.10-rasm. Berilgan x, y, z sonlar ichidan eng kattasini topish blok-sxemasi

Ushbu masalani yechish algoritmining yana bir usulini ko‘rib chiqamiz. kiritish (x,y, z); p = x; agar (p bo‘lsa, u holda p= y; 4) agar (p ) bo‘lsa, u holda p= z; 5) muhrlash (r). Bu algoritmga mos blok-sxema 1.11-rasmda tasvirlangan. Bu usulga asosan, avvalo sonlar ichida birinchisi eng kattasi deb faraz qilinadi, ya’ni p = x. So‘ngra har bir qadamda navbatdagi son – r ning qiymati bilan solishtiriladi va shart bajarilsa, u eng kattasi deb qabul qilinadi. Bu algoritmning afzalligi shundaki, uning asosida uchta va undan ko‘p sonlar ichidan eng kattasini (kichigini) topishning qulay imkoniyati mavjud.

2.11-rasm. Hisoblash blok-sxemasi

3-misol. Quyidagi ifoda bilan berilgan munosabatni hisoblang [2, 52 b.].

b x, agar x 0,

Y = x + a, agar x 0, a + b, aks holda .

Bu misol natija x ning qiymatiga bog‘liq shart bilan berilgan va masala quyidagicha so‘zlar orqali ifodalangan algoritm asosida aniqlanadi: agar x 0 bo‘lsa, u holda u = b - x bo‘ladi, aks holda; agar x Avvalo, birinchi shart tekshiriladi va agar u bajarilsa, y = b - x amal x + a, agar x 0, bajariladi, aks holda Y =  munosabat hisoblanadi.

a + b, aks holda .



Bu fikrlar quyidagi blok-sxemada o‘z aksini topgan (2.12-rasm).

2.12-rasm. Hisoblash blok-sxemasi



Takrorlanuvchi algoritmlar

Agar biror masalani yechish uchun zarur bo‘lgan amallar ketma-ketligining ma’lum bir qismi biror parametrga bog‘liq holda ko‘p marta qayta bajarilsa, bunday jarayon takrorlanuvchi algoritm deyiladi. Takrorlanuvchi algoritmlarga misol sifatida odatda qatorlarning yig‘indisi yoki ko‘paytmasini hisoblash jarayonlarini qarash mumkin.

1-misol. Birdan n gacha bo‘lgan natural sonlarning yig‘indisini hisoblash algoritmini tuzaylik. Masalaning matematik modeli quyidagicha: n

S =1+ 2 + 3+...+ n =∑i

i=1

Bu yig‘indini hisoblash uchun, avvalo, natiga boshlangich qiymatini S=0 va indeksning boshlangich qiymatini i =1 deb olamiz va joriy amallar S = S + i va i = i + 1 hisoblanadi. Bu erda birinchi va ikkinchi qadamlar uchun yig‘indi hisoblandi va keyingi qadamda i parametr yana bittaga orttiriladi va navbatdagi qiymat avvalgi yig‘indi S ga qo‘shiladi. Mazkur jarayon shu tartibda indeksning joriy qiymati i≤ n sharti bajarilmaguncha davom ettiriladi va natijada, izlangan yig‘indiga ega bo‘lamiz. Ushbu fikrlarni quyidagi so‘zlar orqali ifodalangan algoritm bilan ifodalash mumkin:

kiritish (n);

S= 0 - natijaning boshlang‘ich qiymati;

i= 1 - indeksning boshlang‘ich qiymati;

S= S + i - natijaning joriy qiymatini hisoblang;

i= i+ 1- indeksning joriy qiymatini hisoblang;

agar (i ≤ n) sharti tekshirilsin va u bajarilsa = (4) ; 7) muhrlash (S).

Bu jarayonga mos keladigan blok-sxemaning ko‘rinishi 1.13-rasmda tasvirlangan.

2.13-rasm. 1 dan n-gacha bo‘lgan sonlar yig‘indisini hisoblash blok-sxemasi

Yuqorida keltirilgan so‘zlar asosida ifodalangan algoritm va blok-sxemadan ko‘rinib turibdiki, amallar ketma-ketligining ma’lum qismi parametr i ga nisbatan n marta takrorlanadi.

2-misol. Quyidagi ko‘paytmani hisoblash algoritmi va blok-sxemasini tuzaylik: P= 1⋅2⋅3⋅⋅⋅n = n! (odatda, 1 dan n gacha bo‘lgan natural sonlarning

ko‘paytmasi n! ko‘rinishda belgilanadi va “en” faktorial deb ataladi: P=n! n

( jarayonning matematik modeli: P =∏i ) [2, 57-58 b.]. i=1

Ko‘paytmani hosil qilish algoritmi ham yig‘indini hosil qilish algoritmiga o‘xshash, faqat ko‘paytmani hosil qilish uchun, avvalo, i=1 da P= 1 deb olinadi, so‘ngra i= i +1 da P= Pi munosabatlar hisoblanadi. Keyingi qadamda i parametrning qiymati yana bittaga orttiriladi va navbatdagi qiymat avvalgi hosil bo‘lgan ko‘paytma - P ga ko‘paytiriladi. Bu jarayon shu tartibda to i ≤ n sharti bajarilmaguncha davom ettiriladi va natijaviy ko‘paytmaning qiymatiga ega bo‘lamiz. Quyidagi so‘zlar orqali ifodalangan algoritmda bu fikrlar o‘z aksini topgan: kiritish (n);

P= 1 - natijaning boshlang‘ich qiymati; 3) i= 1 - indeksning boshlang‘ich qiymati;

P= Pi - natijaning joriy qiymatini hisoblash;

i= i+1 - indeksning joriy qiymatini hisoblash;

agar (i shart bajarilsa, u holda = (4); 7) muhrlash (P).

Bu algoritmga mos blok-sxema 2.14-rasmda keltirilgan.

2.14-rasm. 1 dan n gacha bo‘lgan sonlar ko‘paytmasini hisoblash blok-sxemasi Yuqorida ko‘rilgan yig‘indi va ko‘paytmalarning blok-sxemalaridagi takrorlanuvchi qismlariga (punktir chiziqlar ichiga olingan) 1.14 rasmdagi sharti keyin berilgan takrorlanuvchi struktura mos kelishini ko‘rish mumkin.

3-misol. Yuqoridagi blok-sxemalarda shartni oldin tekshiriladigan holatda n

chizish mumkin edi. Masalan, S =∑i yig‘indini xisoblash algoritmi tadqiqi i=1

keltiriladi. Bu masalani yechishda algoritmning takrorlanuvchi qismiga quyidagi sharti oldin berilgan takrorlanuvchi strukturaning mos kelishini ko‘rish mumkin. kiritish (n);

S=0;

i = 0;

agar ( i n ) = (8);

i = i + 1;

S = S + i ;

shartsiz o‘tish= (4); 8) muhrlash (S).

Bu algoritmga mos blok-sxema 2.15- rasmda keltirilgan.

2.15-rasm. 1 dan n gacha bo‘lgan sonlar yig‘indisini hisoblash blok-sxemasi

4-misol. Haqiqiy x sonining n chi darajasini hisoblash masalasi ko‘riladi. Uning matematik modeli: q = xn ko‘rinishga ega.

Takrorlanuvchi jarayonni tashkil etish quyidagidan farqli, yuqoridagilar bilan bir xil:

- ko‘paytirish jarayoni uchun boshlang‘ich qiymat berilishi: q = 1 ; - joriy natijani hisoblash: q = q * x ifoda bo‘yicha amalga oshiriladi.

Shunday qilib, x ning n chi darajasini hisoblash uchun takrorlanuvchi jarayonni tashkil etish blok-sxemasi 2.16-rasmda keltirilgan.

2.16-rasm. Hisoblash blok-sxemasi

5-misol. Quyidagi munosabatni hisoblash kerak bo‘lsin [2, 55-56 b.]:

n x i

S = ∑ .

i =1 i!

Munosabatni ochib, quyidagi ko‘rinishda yozish mumkin: s = x1 /1! + x 2 /2! ++ xn / n! .

Masalani yechish algoritmida boshlang‘ich qiymat sifatida s=0 ni olamiz, chunki ifodada yig‘indi belgisi mavjud. Yig‘indi belgisi ostidagi munosabat kasr sonni anglatadi: suratda - x i , mahrajda - i !. Ularning har biri uchun boshlang‘ich va joriy munosabatlar shakllantiriladi:

surat

mahraj

natija

boshlang‘ich munosabat

q = 1

p = 1

s=0

joriy munosabat

q = q * x

p = p * i

s = s + q / p

2.17-rasm. Hisoblash blok-sxemasi

Bu jarayonni shakllantirish uchun i indeks-parametri ishlatiladi.

Indeks-parametrni boshqarish amallari quyidagicha:

i = 1 parametrning boshlang‘ich qiymati,

i = i + 1 – parametrning orttirmasi (orttirma h=1),

i ≤ n – jarayon yakunlanish sharti.

Bunga muvofiq, masalani yechish blok-sxemasi quyidagi 1.17-rasmdagi ko‘rinishga ega bo‘ladi. 6-misol. A={ai} (i=1, 2, …, n) massiv elementlarining yig‘indisini hisoblash jarayonini aks ettiradigan algoritm yarating. N Masalaning matematik modeli quyidagidan iborat: S=∑ai . i=1

Yig‘indini hisoblash uchun S o‘zgaruvchidan foydalanamiz va uning boshlang‘ich qiymati deb S = 0 olinadi. So‘ngra indeksning i = 1 qiymatidan boshlab, uning i = i + 1 orttirmasi bilan to ( i S = S + a i munosabat qiymati ketma-ket hisoblanadi.

Quyidagi algoritmda jarayon amallari bajarilishi ketma-ketligi keltiriladi:

kiritish (n, a i );

S = 0,

i = 1,

S = S + a i ,

i = i + 1,

agar ( i = (4), 7) muhrlash (S) .

7-misol. Massiv elementlari o‘rta qiymatini hisoblash. Masalaning 1 n matematik modeli : Ð= ∑ai .Yuqoridagi masaladan farqi – n i=1

elementlar yig‘indisini elementlar soniga bo‘lish amali bilan algoritm to‘ldiriladi, ya’ni: kiritish (n, a i );

S = 0;

i = 1;

S = S + a i ;

i = i + 1;

agar ( i = (4); 7) P =S / n ; 8) muhrlash (P) .

8-misol. Massiv elementlari qiymatlarining ko‘paytmasini hisoblash

n algoritmini tuzing. Masalaning matematik modeli quyidagidan iborat: P =∏ai .

i=1 Hisoblash jarayoni yuqoridagiga o‘xshash bo‘ladi, faqat ko‘paytmaning boshlang‘ich qiymati R = 1 va joriy amal R = R * ai bo‘ladi. Bu jarayonning so‘zlar orqali ifodalangan algoritmi quyidagicha: kiritish (n, ai );

R = 1;

i = 1;

R = R * ai ;

i = i + 1;

agar ( i = (4) 7) muhrlash (R) .

9-misol. B={bi} massiv elementlari maksimal (eng katta) qiymatini aniqlash bilan bog‘liq masala ko‘riladi.

Mazkur masalaning matematik modeli quyidagi ko‘rinishga ega:

z= maxbi m=8.

1≤ ≤i m

Maksimal elementni aniqlash uchun quyidagi tadbirni amalga oshirish zarur. Avval, massivning birinchi elementi maksimal qiymatga ega deb taxmin qilinadi. So‘ngra taxmin qilingan maksimal element navbatdagi elementlar bilan navbatmanavbat solishtiriladigan takrorlash jarayoni tashkil etiladi. Agar massivning navbatdagi elementi maksimal deb belgilangan elementdan katta bo‘lsa, u holda joriy element maksimal deb belgilanadi. Takrorlashning yakunida o‘zgaruvchining qiymati massivning maksimal elementiga mos keladi.

Massivning maksimal elementini aniqlash algoritmi blok-sxemasi ko‘rinishi

2.18-rasmda keltirilgan.

2.18-rasm. Hisoblash blok-sxemasi

Minimal elementni aniqlash uchun shart ifodasida “ (kichik) belgisini “ (katta) belgiga o‘zgartirishning o‘zi kifoya. 10-misol. Massivning maksimal elementi indeksini, ya’ni u joylashgan o‘rnini aniqlash uchun yuqorida keltirilgan algoritmga boshlang‘ich va joriy elementining indeksini belgilaydigan o‘zgaruvchi qo‘shishning o‘zi kifoya:

k = 1 (birinchi element maksimal deb taxmin qilanadi);

k = i (agar joriy i – chi element taxmin qilingan maksimumdan katta bo‘lsa, u qiymati bo‘yicha barcha elementlardan eng kattasi bo‘ladi).

Qo‘shimchalarni hisobga olgan holda blok-sxema 1.19-rasmda keltirilgan.

2.19-rasm. Hisoblash blok-sxemasi

Algoritmning so‘zlar orqali ifodalangan usulidan foydalanib, amallar ketmaketligini keltiramiz: kiritish (n, bi ) z = b1; k = 1; 4) i = 2;

agar ( z i ) shart bajarilsa, u holda { z= bi; k=i; }

i = i + 1;

agar ( i ≤ n ) shart bajarilsa, u holda = (5) 8) muhrlash (S, k).

11-misol. Vektorni vektorga skalyar ko‘paytmasi: s = A*V ni hisoblash masalasi ko‘riladi (vektorlar skalyar ko‘paytmasi).

Bu yerda: A={ a i }, B={ b i }, i =1,2, ..., n, c – skalyar.

Jarayonning matematik modeli ( hisoblash formulasi) : n

s = ∑ai bi = a1 ×b1 + a2 ×b2 + ⋅⋅⋅ + an ×bn , i=1

Bu munosabatni hisoblash - vektorlarning mos elementlari ko‘paytmalari yig‘ishdan iborat. Algoritmning so‘zlar orqali ifodalangan usulidan foydalanib, amallar ketmaketligi keltiriladi: kiritish (n, a i , b i )

S = 0;

i = 1;

S = S +a i * b i ;

i = i + 1;

agar ( i = (4); 7) muxrlash (S).

12-misol. A={ai} (i=1, 2, …, n) massiv elementlari qiymatlari yig‘indisidan eng katta elementi qiymatini ayrish jarayonini akslantiradigan algoritm yarating.

Masalaning matematik modeli quyidagidan iborat: n

R = ai −max≤≤i n ai . 1 i=1

Bu murakkab matematik model uchta nisbatan sodda munosabatlar ketmaketligi bilan almashtiriladi (dekompozitsiya amali): n

1)S = ai , 2)P= maxai , 3)R = S P. i=1 1≤in

Asosiy algoritmda amallar bajarilishi ketma-ketlikligi keltiriladi, ya’ni:

kiritish (n, m, a i );

S = 0;

i = 1;

S = S + a i ;

i = i + 1;

agar ( i = (4);

P = a 1 ;

i = 2 ;

agar (P i ) shart bajarilsa, u holda P = a i ;

i = i + 1;

agar ( i = (9) ;

R = S – P ;

muhrlash (R) .

Yuqoridagi keltirilgan masalani yechish algoritmini ixchamlashtirish mumkin:

kiritish (n, m, a i );

S = a 1 ;

P = a 1 ;

i = 2;

S = S + a i ;

agar (P i ) shart bajarilsa, u holda P = a i ; 7) i = i + 1;

agar ( i = (5) ;

R = S – P ;

muhrlash (R) .

Algoritmda yig‘indi va maksimal qiymat aniqlash jarayonida boshlang‘ich indeks qiymatini tenglashtiriladi (S = a 1 va P = a 1 ) va jarayon massivning 2 chi elementini qayta ishlashdan boshlandi. Ya’ni bir takrorlash jarayonida ikkita: massiv element qiymatlari yig‘indisini hisoblash va maksimal qiymatni aniqlash amalga oshiriladi.

Blok-sxemalarning takrorlanuvchi qismlarini quyidagi parametrli takrorlash strukturasi ko‘rinishida ham ifodalash mumkin (1.20-rasm).

2.20-rasm. Parametrli takrorlash operatorining umumiy ko‘rinishi

13-misol. Parametrli takrorlash operatoriga masala sifatida berilgan ax

x=1,2,3,.....10 qiymatlarda y= funksiyasining qiymatini hisoblash bloka+x

sxemasiga keltiriladi (1.21-rasm).

2.21-rasm. Parametrli takrorlash operatoriga doir blok-sxema






















XULOSA

Xulosa qilib aytganda Algaritm bilan ishlashish barcha turdagi dasturlash tillarida ishlash imkoniyatini yengillashtirib beradi. Har bir dasturning dastlab algaritmini yaratib olgan maqul. Agar biz dasturimizning ketma ketligini bilmasak, u dastur biz oylagandan koproq hajmni egallashi mumkin ekan. Men C++ dasturi strukturasi haqida, belgilar bayoni, algoritm va dastur tushunchasi, ma’lumotlarni kiritish va chiqarish operatorlari hamda dasturda ishlatiladigan toifalar, ifodalar va ko’nikmalarga ega bo`ldim. Algoritmlash va dasturlash tillari bo’yicha yozilgan bir necha kitoblar bilan tanishib chiqdim va ulardan o’zimga kerakli malumotlarni oldim. Kurs ishimda programmalash texnologiyalari masalalari, algoritmlar, ularning xossalari, tasvirlash usullari va tipik algoritmlarga blok sxemalar tuzish masalalari qaralgan. Kompyuter uchun tuzilgan algoritm ijrochisi-bu kompyuterdir. Biror programmalash tilida yozilgan algoritm kodlashtirilgan oddiy ko’rsatmalar ketma-ketliliga o’tadi va mashina tomonidan avtomatik ravishda bajariladi. Metodik nuqtai–nazardan qaraganda algoritmning birinchi ijrochisi sifatida o’quvchining o’zini olish muhim ahamiyatga ega. O’quvchi tomonidan biror masalani echish algoritmi tuzilganda bu algoritmni to’g’ri natija berishini tekshiri juda muhimdir. Buning yagona usuli o’quvchi tomonidan algoritmni turli boshlang’ich berilganlarda qadamma - qadam bajarib (ijro etib) ko’rishdir. Algoritmni bajarish natijasida xatolar aniqlanadi va to’g’rilanadi. Ikkinchi tomonidan, masalani echishga qiynalayotgan o’quvchi uchun tayyor algoritmni bajarish – masalani echish yo’llarini tushunishga xizmat qiladi.











FOYDALANGAN ADABIYOTLAR.


  1. Markushevich A. I. Teoriya analiticheskix funktsiy. V 2-x t. – M.: Nauka, 1968. T.2. – 624s



  1. Goluzin G.M. Geometricheskaya teoriya funktsii kompleksnogo peremennogo. – M. : Nauka, 1976.– 540 s.



  1. B. V. SHabat. Vvedenie v kompleksnıy analiz. 1–chast. M.N. 1989.



  1. G. Xudayberganov, A. Vorisov, X. Mansurov. Kompleks analiz. Toshkent,

«Universitet», 1998.

  1. G. Xudayberganov, A. Vorisov, X. Mansurov. Kompleks analiz.Karshi.

«Nasaf», 2003.

  1. Virt N. Algoritmı strukturı dannıx programmı.-M.:Mir, 1985.-405s.



  1. Aripov M.M., Imomov T., Irmuxamedov Z.M. va boshqalar. Informatika. Axborot texnologiyalari. Toshkent, 1-qism. 2002, 2-qism. 2003



  1. http://ziyonet.uz

  2. http://google.ru












23


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!