logo

TAKRORLANUVCHI JARAYONLAR ALGORITMLARINI YARATISH. DASTURLAR TUZISH.

Загружено в:

08.08.2023

Скачано:

0

Размер:

346.419921875 KB
TAKRORLANUVCHI JARAYONLAR ALGORITMLARINI 
YARATISH. DASTURLAR TUZISH.
Algoritm hozirgi zamon matematikasining eng keng tushunchalaridan
biri hisoblanadi.
     Algoritm (algorifm) so'zi o'rta asrlarda paydo bo'lgan bo'llb, buyuk 
mutafakkir bobokalonimiz Al-Xorazmiyning (783—855) ishlari bilan 
yevropaliklarning birinchi bor tanishishi bilan bog'liqdir. Bu ishlar 
ularda juda chuqur taassurot qoldirib algoritm (algorithmi) so'zining 
kelib chiqishiga sabab bo'ldiki, a Al-Xorazmiy ismining lotincha 
aytilishidir. U paytlarda bu so'z arablarda qo'llaniladigan o'nlik sanoq 
tizimi (sistemasi) va bu sanoq tizimida hisob-lash usulini bildirar edi. 
Shuni ta'kidlash lozimki, yevropaliklar tomonidan arab sanoq 
tizimining Al-Xorazmiy ishlari orqali o'zlashtirilishiga, keyinchalik 
hisoblash usullarining rivojlanishiga katta turtki bo'lgan.  
- sko‘paytirish   jarayoni   uchun   boshlang‘ich   qiymat   berilishi:   q   =   1   ;   -   joriy
natijani hisoblash: q = q *   x   ifoda bo‘yicha amalga oshiriladi.     1.13-rasm. 1 dan n-gacha bo‘lgan sonlar yig‘indisini hisoblash blok-sxemasi
      1.14-rasm.   1   dan   n   gacha   bo‘lgan   sonlar   ko‘paytmasini   hisoblash   blok-
sxemasi    1.15-rasm. 1 dan   n   gacha bo‘lgan sonlar yig‘indisini hisoblash blok-sxemasi
    1.16-rasm.   Hisoblash blok-sxemasi
    1-misol . Birdan   n   gacha bo‘lgan natural sonlarning yig‘indisini hisoblash 
algoritmini tuzaylik. Masalaning matematik modeli quyidagicha:
    4- misol.   Haqiqiy   x   sonining n chi darajasini hisoblash masalasi ko‘riladi.
        5- misol .   Quyidagi   munosabatni   hisoblash   kerak   bo‘lsin   [2,   55-56   b.]:
agar   (   i   >   n   )   =>   (8);agar   (i     n)   sharti   tekshirilsin   va   u   bajarilsa   =>   (4)   ;   7)≤
muhrlash (S).
       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.Bu   algoritmga   mos   blok-sxema   1.14-
rasmda keltirilgan.Bu algoritmga mos blok-sxema
1.15-   rasmda   keltirilgan. Bu jarayonga mos keladigan blok-sxemaning ko‘rinishi 1.13-rasmda 
tasvirlangan.
       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:chizish
mumkin edi. Masalan,   S   =	
∑ i   yig‘indini   xisoblash algoritmi tadqiqi   
    i = 0;
    i = i + 1;
    i   =
1   i !
    i= 1 - indeksning boshlang‘ich qiymati;
       i= i+ 1- indeksning  joriy qiymatinikeltiriladi.  Bu masalani yechishda   algoritmning   takrorlanuvchi   qismiga   quyidagi
sharti   oldin   berilgan   takrorlanuvchi   strukturaning   mos
kelishini ko‘rish mumkin.kiritish (n);
          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 =   P ∗ i   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
fikrlaro‘z aksini topgan: kiritish   (n);P =   1   -   natijaning
boshlang‘ich   qiymati;   3)   i =   1   -   indeksning
boshlang‘ich   qiymati; P =   P ∗ i   -   natijaning   joriy
qiymatini   hisoblash; i =   i +1   –   indeksning   joriy
qiymatini   hisoblash   agar   (i   <=   n)   shart   bajarilsa,   u
holda => (4); 7) muhrlash   (P).
    ko‘paytmasi   n!   ko‘rinishda belgilanadi va “en” faktorial deb ataladi: P=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
Munosabatni ochib, quyidagi ko‘rinishda yozish mumkin: s = x 1 x n
  / n! .
n
n x i
n
S   =1+2+   3+...+
i =1
n(jarayonning matematik modeli:   P   =∏ i   ) [2, 57-58 b.]. i =1
S = S + i ;
S   =   .	
∑
S= 0 - natijaning boshlang‘ich qiymati;
S= S + i - natijaning   joriy qiymatini hisoblang ;
S=0;
shartsiz o‘tish=> (4); 8) muhrlash (S).
Shunday qilib,   x   ning   n   chi darajasini hisoblash uchun takrorlanuvchi 
jarayonni tashkil etish blok-sxemasi 1.16-rasmda keltirilgan.   Tak rorlanuv chi  algorit mlar   Takrorlanuvchi jarayonni tashkil etish 
quyidagidan farqli, yuqoridagilar bilan bir xil:
Uning matematik modeli:   q   =   x n
  ko‘rinishga ega.
     Yuqorida keltirilgan so‘zlar asosida ifodalangan algoritm va blok-sxemadan
ko‘rinib   turibdiki,   amallar   ketma-ketligining   ma’lum   qismi   parametr   
nisbatan   n   marta   takrorlanadi.
vpa3
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
        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
Hozirgi paytda o'nlik sanoq tizimida arifmetik amallarni bajarish 
usullari hisoblash algoritmlariga soddagina misol bo'la oladi xolos. 
Hozirgi zamon nuqtai nazaridan algoritm tushunchasi nimani 
ifodalaydi? Ma'lumki, inson kundalik turmushida turlituman ishlarni 
bajaradi. Har bir ishni bajarishda esa bir qancha elementar (mayda)  ishlarni ketma-ket amalga oshirishga to'g'ri keladi. Mana shu ketma-
ketlikning o'zi bajariladigan ishning algoritmidir. Ammo bu ketma-
ketlikka e'tibor bersak, biz ijro etayotgan elementar ishlar ma'lum 
qoida bo'yicha bajarilishi kerak bo'lgan ketma-ketlikdan iborat 
ekanligini ko'ramiz. Agar bu ketma-ketlikdagi qoidani buzsak, 
maqsadga erishmasligimiz mumkin.
Masalan, shaxmat o'yinini boshlashda shohni yura olmaymiz, chunki 
bu o'yin algoritmida yurishni boshqa bir shaxmat donalaridan 
boshlash kerak yoki palov pishirish algoritmida birinchi navbatda 
qozonga suv solib ko'ringchi, osh qanday bo'lar ekan. Berilgan 
matematik ifodani soddalashtirishda amallarning bajarilish ketma-
ketligiga e'tibor bermaslik noto'g'ri natijaga olib kelishi barchaga 
ma'lum.
Demak ishni, ya'ni qo'yilgan masalani bajarishga mayda elementar 
ishlarni muayyan ketma-ketlikda ijro etish orqali erishiladi. Bundan 
ko'rinib turibdiki, har bir ish qandaydir algoritmning bajarilishidan 
iboratdir. Algoritmni bajaruvchi algoritm ijrochisidir. Algoritmning 
ijrochisi masalaning qanday qo'yilishiga e'tibor bermagan holda 
natijaga erishishi mumkin. Buning uchun u faqat avvaldan ma'lum 
qoida va ko'rsatmalarni qat'iy bajarishi shart. Bu esa algoritmning 
juda muhim xususiyatlaridan biridir.
Umuman, ajgoritmlarni ikki guruhga ajratish mumkin. Birinchi guruh 
algoritmning ijrochisi faqat inson bo'lishi mumkin ( masalan palovni 
faqat inson pishira oladi), ikkinchi guruh algoritmlarning ijrochisi 
ham inson, ham EHM bo'lishi mumkin (faqat aqliy mehnat bilan 
bog'liq bo'lgan masalalar). Ikkinchi guruh algorimtlarning ijrochisini 
EHM zimmasiga yuklash mumkin. Buning uchun algoritmni EHM 
tushunadigan biror tilda yozib, uni mashina xotirasiga kiritish kifoya.
Shunday qilib, biz algoritm deganda, berilgan masalani yechish uchun
ma'lum tartib bilan bajarilishi kerak bo'lgan chekli sondagi buyruqlar 
ketma-ketligini tushunamiz.
Biror sohaga tegishli masalani yechish algoritmini tuzish algoritm 
tuzuvchidan shu sohani mukammal bilgan holda, qo'yilgan masalani 
chuqur tahlil qilishni talab qiladi. Bunda masalani yechish uchun 
kerak bo'lgan ishlarning rejasini tuza bilish muhim ahamiyatga ega. 
Shuningdek, masalani yechishda ishtirok etadigan ob'ektlarning 
qaysilari boshlang'ich ma'lumot va qaysilari natijaligini aniqlash, ular  o'rtasidagi o'zaro bog'lanishni aniq va to'la ko'rsata bilish, yoki dastur 
(programma) tuzuvchilar tili bilan aytganda, masalaning ma'lumotlar 
modelini berish lozim.
Berilgan masala algoritmini yozishning turli usullari mavjud bo'lib, 
ular qatoriga so'z bilan, bloktarh (bloksxema) shaklida, formulalar, 
operatorlar yordamida, algoritmik yoki dasturlash tillarida yozish va 
xokazolarni kiritish mumkin.
Endi biror usulda tuzilgan algoritmning ayrim xossalari va algoritmga
qo'yilgan ba'zi bir talablarni ko'rib chiqaylik.
1. Algoritm har doim to'liq bir qiymatlidir, ya'ni uni bir xil 
boshlang'ich qiymatlar bilan ko'p marta qo'llash har doim bir xil natija
beradi.
2. Algoritm birgina masalani yechish qoidasi bo'lib qolmay, balki 
turlituman boshlang'ich shartlar asosida ma'lum turdagi masalalar 
to'plamini yechish yo'lidir.
3. Algoritmni qo'llash natijasida chekli qadamdan keyin natijaga 
erishamiz yoki masalaning yechimga ega emasligi haqidagi 
ma'lumotga ega bo'lamiz.
Yuqorida keltirilgan xossalarni har bir ijrochi o'zi tuzgan biror 
masalaning algoritmidan foydalanib tekshirib ko'rishi mumkin. 
Masalan:
ax 2
  + bx	 +	  с  	=	 0
kvadrat tenglamani yechish algoritmi uchun yuqorida sanab o'tilgan 
algoritmning xossalarini quyidagicha tekshirib ko'rish mumkin.
Agar kvadrat tenglamani yechish algoritmi biror usulda yaratilgan 
bo'lsa, biz ijrochiga bu algoritm qaysi masalani yechish algoritmi 
ekanligini aytmasdan a, b,  с  laming aniq qiymatlari uchun bajarishni 
topshirsak, u natijaga erishadi va bu natija kvadrat tenglamaning 
yechimi bo'ladi. Demak, algoritmni ijro etish algoritm yaratuvchisiga 
bog'liq emas.Xuddi shuningdek a, b,  с  larga har doim bir xil qiymatlar
bersak, algoritm har doim bir xil natija beradi, ya'ni 
to'liqdir.Yaratilgan bu algoritm faqatgina bitta kvadrat tenglamani 
yechish algoritmi bo'lib qolmay, balki na,b,c laming mumkin bo'lgan 
barcha qiymatlari uchun natija hosil qiladi, binobarin u shu turdagi 
barcha kvadrat tenglamalarning yechish algoritmi bo'ladi.
Algoritmning oxirgi xossasi o'z-o'zidan bajariladi, ya'ni kvadrat 
tenglamani yechish albatta chekli qadamda amalga oshiriladi. Dastur tuzuvchi uchun EHMning ikkita asosiy parametri o'ta 
muhimdir: hisoblash mashinasi xotirasining hajmi va mashinaning 
tezkorligi. Shuningdek, algoritm tuzuvchidan ikki narsa talab qilinadi.
Birinchidan, u tuzgan dastur mashina xotirasida eng kam joy talab 
etsin, ikkinchidan, eng kam amallar bajarib masalaning natijasiga 
erishsin. Umuman olganda, bu ikki talab birbiriga qarama-qarshidir, 
ya'ni algoritmning ishlash tezligini oshirish algoritm uchun kerakli 
xotirani oshirishga olib kelishi mumkin. Bu xol, ayniqsa murakkab 
masalalarni yechish algoritmini tuzishda yaqqol seziladi. Shuning 
uchun ham bu ikki parametming eng maqbul holatini topishga harakat
qilish kerak.
ALGORITMNI TAVSIFLASH USULLARI
Algoritm so'zlar, matematik formulalar, algoritmik tillar, geometrik 
tarhlar (sxemalar), dasturlash tillari va boshqalar yordamida 
tavsiflanadi.
Algoritmning so'zlar yordamida berilishiga, tavsiflanishiga misol 
tariqasida liftda kerakli qavatga ko'tarilish algoritmini keltirish 
mumkin. Bu quyidagicha ketma-ketlikda bajariladi:
1. Liftga kiring.
2. Kerakli-qavat tartib soniga mos tugmachani bosing.
3. Liftni harakatga keltiring.
4. Lift to'xtashini kuting.
5. Lift eshigi ochilgandan keyin undan chiqing.
Algoritm matematik formulalar yordamida tavsiflanganda har bir 
qadam aniq formulalar yordamida yoziladi. Misol tariqasida
kvadrat tenglama yechimlari bo'lmish x
1   x
2   ni aniqlash algoritmini 
ko'rib chiqaylik.
1. a, b,  с  koeffitsiyentlar qiymatlari berilsin.
2. D = b2—4ac diskriminant hisoblansin.
3. D < 0 bo'lsa, tenglamaning haqiqiy yechimlari yo'q. Faqat haqiqiy 
ildizlar izlanayotgan bo'lsa, masala hal bo'ldi.
4. D = 0 bo'lsa, tenglama ikkita bir-biriga teng, ya'ni karrali yechimga 
ega bo'ladi va ular formulalar bilan hi-soblanadi. Masala hal bo'ldi.
5. D > 0 bo'lsa, tenglama ikkita haqiqiy yechimga ega, ular formulalar bilan hisoblanadi. Ya'ni masala hal bo'ldi.
Shunday qilib, kvadrat tenglamaning haqiqiy yechim-larini 
aniqlashda:
1. «Tenglamaning haqiqiy yechimlari yo'q» matm
2. «Tenglama karrali yechimga ega,   x=x
2   matni va   x
1,   x
2   ning 
qiymatlari;
3. «Tenglama ikkita yechimga ega» matni, x
x   va x
2   ning qiymatlari 
natijalar bo'ladi.
Algoritmik tillar — algoritmni bir ma'noli tavsiflash imkonini 
beradigan belgilar va qoidalar majmuidir. Har qanday tillardagidek 
ular ham o'z alifbosi, sintaksisi va semantikasi bilan aniqlanadi.
Bizga o'rta maktabdan ma'lum bo'lgan (akademik A. P. Yershov 
rahbarligida yaratilgan) EHMsiz algoritmlashga mo'ljallangan 
algoritmik tizim algoritmik tilning namunasidir. Algoritmik tilga 
misol sifatida yana algoritmlarni belgili operatorlar tizimi shaklida 
tavsiflashni ham ko'rsatish mumkin. Bu tillar odatdagi tilga o'xshash 
bo'lib, EHMda bevosita bajarishga mo'ljallanmagan. Ulardan maqsad 
algoritmni bir xil shaklda va tushunarli qilib, tahlil qilishga oson qilib 
yozishdir.
Algoritmlarni geometrik tarhlar yordamida tavsiflash ko'rgazmali va, 
shu sababli tushunarliroq bo'lgani uchun ko'p qo'llaniladi. Bunda xar 
bir o'ziga xos operatsiya alohida geometrik shakl (blok) bilan 
tavsiflanadi va ularning bajarilish tartibi, ular orasidagi ma'lumotlar 
uzatili-shi va yo'nalishi bloklarni bir-biri bilan ko'rsatkichli to'g'ri 
chiziqlar yordamida tutashtirib ko'rsatiladi. Algoritmning geometrik 
tarhiga uning bloktarhi (blok-sxemasi) deyiladi.
Bloklarga mos geometrik shakllar, ularning o'lchamlari va ular 
yordamida bloktarhlarni chizish qoidalari davlat standartlarida 
berilgan. 1-jadvalda eng ko'p ishlatiladigan bloklar shakli va ularning 
ma'nosi keltirilgan. Bu davlat standartlariga ko'ra bloklarni 
tutashtiruvchi to'g'ri chiziq yozuv tekisligiga vertikal yoki gorizontal 
holatda bo'lishi kerak, ya'ni ularni og'ma chiziqlar bilan tutashtirish 
taqiqlanadi. Bloklarni bajarish tabiiy yozish tartibida bo'lsa, ya'ni 
yuqoridan pastga yoki chapdan o'ngga bo'lsa, tutashtiruvchi chiziq 
ko'rsatkichsiz bo'lishi mumkin. Boshqa barcha hollarda ma'lumot oqimi yo'nalishini ko'rsatuvchi 
ko'rsatkich qo'yilishi shart. Blokning tartib soni tutashtiruvchi 
chiziqdan chapga, alohida ajratilgan bo'sh joyga qo'yiladi. Chiziqning 
birlashgan joyi yirikroq nuqta yordamida ko'rsatiladi. Blokda ko'zda 
tutilgan operatsiya uning ichiga yozib qo'yiladi. Tarhlar davlat ?' 
standarti formatlarida bajariladi.
Amalda yechiladigan masalalar va demak, algoritmlar turlari ham 
juda ko'p bo'lishiga qaramasdan ular asosan besh xil: chiziqli, 
tarmoqlanuvchi, siklik, iteratsion va cheksiz takrorlanuvchi shakllarda
bo'ladi deb aytish mumkin.
Agar murakkab masalalar algoritmlarining bloktarhini bir bino desak, 
bu tuzilishdagi algoritmlar uni tashkil qiluvchi rom, g'isht, to'sin, 
ustun va boshqalarni ifodalaydi deb aytish mumkin. Har qanday 
murakkab bino ana shu ashyolardan qurilganidek, murakkab 
algoritmlar ham yuqoridagidek tarhlardan tuziladi. Aslida oxirgi uchta
tuzilishdagi algoritmlarni bitta nom bilan takrorlash algoritmlari deb 
atash mumkin. Ammo ularning har biri o'ziga xos bo'lganligi uchun 
alohida nomlanadi.
                            Xulosa
         Bugungi kunda jadallik bilan rivojlanib borayotgan axborot asrida 
yashayotgan ekanmiz, har bir daqiqa emas balki soniyalarning qadri oltinga 
tengligi barchamizga ma’lum. Insoniyat hayotiga va yashash sharoitiga 
qulayliklar yaratish diqqat markazida. Shunday ekan, kompyuter 
texnologiyalaridan foydalanish,      hayotimizni yanada osonlashtirib 
qulayliklar yaratish imkonini beradi. Takrorlanuvchi sekilar dasturlar kishilar 
soatlab vaqtini sarflaydigan muammoli masalani bir zumda ishlash imkonini 
beradi. Bundan tashqari bunday dasturlar, iqtisodiy va texnik masalalarni 
yechishda ham qulayliklar yaratadi. Shunday ekan, takrorlanuvchi strukturali 
dasturlarning o’rni ham juda muhim hisoblanadi. Agar arifmetik yoki 
geometrik ketma-ketliklarni ishlamoqchi bo’lsak, bizga ma’lumki, ketma-ketlik
hadlari juda ko’p bo’lsa muammolarga duch kelamiz. Bunda bizga  takrorlanuvchi strukturali dasturlardan foydalanish qulay hisoblanadi. Bunday 
muammoli masalalarga hayotda juda ko’p duch kelamiz. Shunday ekan, 
takrorlanuvchi strukturali dasturlarni o’rganishimiz ko’pgina 
muammolarimizni hal qilish imkonini beradi 
      Men bu mustaqil ishda   takrorlanuvchi jarayonlarni ustida dastur tuzishni 
o’rgandim. Men  topshiriqni bajarishda va  ishlatishda juda ko’p  buyruqlar va 
operatorlardan foydalandim.  Har qanday dasturchi algoritmlashni bilish kerak
Bu algoritmlashni bilgan dasturchiga dastur tzish muammo bo’lmaydi. Men bu
mustaqil ishdan  ozimga kerakli va foydali ma’lumotlarni bilish bilan birga 
ularni amalda qo’llashni o’rgandim. 
.                   
  
                                 Foydalanilgan   adabiyotlar
                  1.Страуструп   Б.   Язык   программирования   С++.   Специальное   издание.   –   Москва.
1997. -1055 с  
       2. Фролов А.Б., Фролов Г.В. Язык С#. Самоучитель.- Москва. 2003.-559с.
            3.   Подбельский   В.В.   Язык   СИ++   :   Учебное   пособие.   5-е   изд.   –   М.:   Финансы   и
статистика. 2003.-560 с. 4. Стефан.Р.Дэвис.С++ для “Чайникoв”.
        4-изд.–М. 2003.-335 с. 
           5. Герберт Шилд. С++. Базовый курс. Москва, Издательский дом “Вильямс”. 2010.-
621 с. 6. Джесе Либерти. С++ за 21 день. 3-изд. –М. 2003.-815 с.
      7. Мадрахимов Ш.Ф., Гайназаров С.М. С++ тилида программалаш асослари. Услубий
кўлланма. Тошкент. 2009.-200 с
          8.   Madraximov   SH . F .,   Ikramov   A . M .,   Babajanov   M . R .   C ++   tilida   dasturlash   bo „ yicha
masalalar   to „ plami . Услубий кўлланма. Тошкент. 2013.-160 с.
     9. Турский В. Методология программирования. – М.: Мир, 1981. –547 c.
          10.   Буч   Г.   Объектно-ориентированное   проектирование   с   примерами   применения:
пер. с англ. – М.Конкорд, 1992. – 214 c. 
        11.   Жоголев   Е.А.   Система   программирования   с   использованием   библиотеки подпрограмм // Система автоматизация программирования.– М.: Физматгиз, 1961.
– С. 15– 52.
        12.  Информатика.   Базовый   курс  /   С.В.Симонович   и   др.   –   СПб.:   Питер,  1999.   –640   с.
13.   Кнут   Д.Э.   Искусство   программирования:   учеб.   пособие.   –   М.:   Вильямс,   2000.   –
832 
            14.   Программирование   на   C++   и://trubetskoy1.narod.ru/   (дата   обращения:
30.09.2011) 
         15. Eshtemirov S. Nomozov F. C++ dasturlash tili. Uslubiy qo„llanma. Samarqand 2016. -
146 b.
        16. Nazarov F. C++ tilida dasturlash asoslari. Uslubiy qo„llanma. Samarqand 2017. -160 b
.

TAKRORLANUVCHI JARAYONLAR ALGORITMLARINI YARATISH. DASTURLAR TUZISH. Algoritm hozirgi zamon matematikasining eng keng tushunchalaridan biri hisoblanadi. Algoritm (algorifm) so'zi o'rta asrlarda paydo bo'lgan bo'llb, buyuk mutafakkir bobokalonimiz Al-Xorazmiyning (783—855) ishlari bilan yevropaliklarning birinchi bor tanishishi bilan bog'liqdir. Bu ishlar ularda juda chuqur taassurot qoldirib algoritm (algorithmi) so'zining kelib chiqishiga sabab bo'ldiki, a Al-Xorazmiy ismining lotincha aytilishidir. U paytlarda bu so'z arablarda qo'llaniladigan o'nlik sanoq tizimi (sistemasi) va bu sanoq tizimida hisob-lash usulini bildirar edi. Shuni ta'kidlash lozimki, yevropaliklar tomonidan arab sanoq tizimining Al-Xorazmiy ishlari orqali o'zlashtirilishiga, keyinchalik hisoblash usullarining rivojlanishiga katta turtki bo'lgan. - sko‘paytirish jarayoni uchun boshlang‘ich qiymat berilishi: q = 1 ; - joriy natijani hisoblash: q = q *   x   ifoda bo‘yicha amalga oshiriladi.

1.13-rasm. 1 dan n-gacha bo‘lgan sonlar yig‘indisini hisoblash blok-sxemasi 1.14-rasm. 1 dan n gacha bo‘lgan sonlar ko‘paytmasini hisoblash blok- sxemasi

1.15-rasm. 1 dan   n   gacha bo‘lgan sonlar yig‘indisini hisoblash blok-sxemasi 1.16-rasm.   Hisoblash blok-sxemasi 1-misol . Birdan   n   gacha bo‘lgan natural sonlarning yig‘indisini hisoblash algoritmini tuzaylik. Masalaning matematik modeli quyidagicha: 4- misol.   Haqiqiy   x   sonining n chi darajasini hisoblash masalasi ko‘riladi. 5- misol . Quyidagi munosabatni hisoblash kerak bo‘lsin [2, 55-56 b.]: agar ( i > n ) => (8);agar (i n) sharti tekshirilsin va u bajarilsa => (4) ; 7)≤ muhrlash (S). 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.Bu algoritmga mos blok-sxema 1.14- rasmda keltirilgan.Bu algoritmga mos blok-sxema 1.15- rasmda keltirilgan.

Bu jarayonga mos keladigan blok-sxemaning ko‘rinishi 1.13-rasmda tasvirlangan. 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:chizish mumkin edi. Masalan,   S   = ∑ i   yig‘indini   xisoblash algoritmi tadqiqi i = 0; i = i + 1; i   = 1   i ! i= 1 - indeksning boshlang‘ich qiymati; i= i+ 1- indeksning joriy qiymatinikeltiriladi. Bu masalani