• Всего документов: 5844
  • Число пользователей: 15251

Algoritmlarni loyihalashtirish va tahlil qilish

6. Dasturni hujjatlar bilan birga ishga tushirish. 
Hujjatlarning asosiy maqsadi foydalanuvchini kerakli 
ko'rsatmalar bilan ta'minlashdir.
Ikki turdagi operatsiya:
•
eksperimental  - real ob'ektda dasturning 
ishlashini sinab ko'rish.
•
sanoat  faoliyati.
Dastur ishlab chiqilgan paytdan boshlab uning 
ishlashi butunlay to'xtatilgunga qadar ko'rib chiqilgan 
barcha bosqichlar  hayotni tashkil qiladi.   tsikl  
dasturlari 3. Asosiy algoritmik tuzilmalar !!!
Uchta asosiy 
algoritm 
tuzilmasi
Chiziqli Tarmoqlanish S iklik     1. Dasturni ishlab chiqish bosqichma-bosqich, “yuqoridan 
pastga” usuli (yuqoridan pastga dasturni loyihalash) yordamida 
amalga oshiriladi.
Dastur ko'plab kichik dasturlarga bo'lingan, ularning 
kombinatsiyasi muammoni hal qilishning yakuniy algoritmini 
tashkil qiladi.
Subprogramma  - berilgan amalni bajaruvchi va dastlabki 
kodning boshqa qismlaridan mustaqil bo'lgan bayonotlar 
to'plami.
modul  sifatida yaratilgan .  Tarmoqli algoritmik tuzilma
Shartni tekshirish natijasiga qarab (  ha  yoki  yo'q  ) algoritmni 
bajarishning muqobil yo'llaridan birini tanlashni ta'minlaydi.
Har bir yo'l  umumiy chiqishga olib keladi  , ya'ni. algoritm 
tanlangan yo'ldan qat'iy nazar ishlashda davom etadi.
Ikki versiyada mavjud:
1. To'liq dallanish (agar - keyin - aks holda).
2. Tugallanmagan shoxlanish (agar - keyin).  S i j j<=5? men <=3?
0        
  1      
3   2 2  <=5, ha  
4   3 3  <=5, ha  
5   4 4  <=5, ha  
6   5 5  <=5, ha  
7   6 6  <=5, yo qʻ  
  2     2  <=3, ha
0        
4   2 2  <=5, ha  
5   3 3  <=5, ha  
6   4 4  <=5, ha  
7   5 5  <=5, ha  
8   6 6  <=5, yo q
ʻ  
  3     3  <=3, ha
0        
5   2 2  <=5, ha  
6   3 3  <=5, ha  
7   4 4  <=5, ha  
8   5 5  <=5, ha  
9   6 6  <=5, yo q
ʻ  
  4     4  <=3, yo'q Asosiy tushunchalar
Ob'ekt  - bir xil turdagi ob'ektlarning ma'lum bir sinfining 
vakili. Ob'ektni o'zgartirish mumkin, ya'ni. uning holatini 
o'zgartirish.  Sinf  o'zining barcha ob'ektlari uchun umumiy 
xususiyatlarni belgilaydi.
Bularga quyidagilar kiradi:
inkapsulyatsiya  (har qanday ob'ektlar sinfini amalga oshirishni 
dasturiy ta'minot muhitida istalmagan yon ta'sirga olib kelishidan 
qo'rqmasdan o'zgartirish qobiliyati);
meros  (mavjud sinflardan yangi sinflar yaratish qobiliyati);
polimorfizm  (ob'ektlarning qayta ishlash usulini tanlash 
qobiliyati). 5  .  Avtomatlashtirilgan   CASE texnologiyasidan 
foydalangan holda  dasturlash  .
Markazda saqlangan modellar asosida dasturiy 
ta'minotni yaratishga imkon beradi.
6. Texnologiya   RAD   –  mijoz bilan yaqin 
hamkorlikda dasturlarni ishlab chiqishning izchil usuli.
Dasturni yaratishning keyingi bosqichi avvalgisi 
tugagandan keyingina boshlanadi va unga qaytishga 
imkon bermaydi. Modulli dizaynning afzalliklari:
•
Katta dastur bir vaqtning o'zida bir nechta ijrochilar 
tomonidan ishlab chiqilishi mumkin.
•
Eng ko'p ishlatiladigan dasturlarning 
kutubxonalarini yaratish mumkin bo'ladi.
•
Operativ xotiraga katta dasturlarni yuklash tartibi 
soddalashtirilgan.
•
Dasturni yanada samarali qo'llab-quvvatlashni 
ta'minlaydi. 1. Algoritmning og'zaki tavsifi 2. Algoritmni yozib olish shakllari Chiziqli algoritmik tuzilma
U  birin-ketin  bajariladigan  harakatlar  ketma-ketligidan 
hosil bo'ladi.  3  .  Strukturaviy   dasturlash  .
Har qanday dastur uchta asosiy tuzilmadan tuzilishi mumkin:
1. Ketma-ket bajarish – amallarni dastur matnida yozilish 
tartibida bir martalik bajarish;
2. Tarmoqlanish - bu qandaydir belgilangan shartning 
bajarilishiga qarab, ikki yoki undan ortiq amallardan birini bir 
marta bajarish;
3. Tsikl deganda ma'lum bir shart bajarilganda bir xil 
operatsiyaning takroriy bajarilishi (tsiklning davomi) tushuniladi.
Strukturaviy dasturlash printsipi barcha algoritmik asosiy 
dizaynlarning bitta kirish va bitta chiqishga ega bo'lishini talab 
qiladi Alg о ritm  хо ssalari
1. Diskretlik   -  Alg о ritm  masalani  yechish  jarayonini  bir  n е chta 
s о dda  qadamlarning  bajarilish  k е tma-k е tligi  sifatida  if о dalashi 
l о zim.  Bunda  alg о ritmning  har  bir  qadamini  bajarish  uchun 
ch е klangan vaqt  о ralig‘i talab etiladi.
2. Aniqlik   -  Har  bir  vaqt  о ralig‘ida  ishning  k е yingi  b о sqichi 
tizimning  h о lati  bilan  aniq  b е lgilanadi.  Shunday  qilib,  alg о ritm 
aynan bir  х il kiruvchi qiymatlar uchun har d о im bir  х il natija b е radi. 
3. Tushunarlilik   -  Alg о ritm  ijr о chi  uchun  tushunarli  bo‘lgan  va 
uning buyruqlar tizimida mavjud buyruqlardan tashkil t о pishi l о zim.
4. Yakunlanganlik  (ch е klilik)  -  Mat е matik  funksiyalar  kabi 
alg о ritmlar  ham  to‘g‘ri  b е rilgan  b о shlang‘ich  qiymatlar  uchun  o‘z 
ishini  ох iriga  y е tkazishi  va  aniq  bir  s о ndagi  qadamlardan  so‘ng 
natija b е rishi l о zim.
5. Univ е rsallik  -  Alg о ritm  turli  х il  b о shlang‘ich  qiymatlar  uchun 
o‘rinli bo‘lishi l о zim.
6. Natijaviylik -  Alg о ritm aniq natijalar bilan yakunlanishi l о zim.  4.Obyektga yo'naltirilgan dasturlash
Bu tizimli yondashuvning rivojlanishi. Vazifa o'zaro 
ta'sir qiluvchi ob'ektlar to'plami sifatida ifodalanadi. Har 
bir ob'ekt ma'lumotlar tuzilmasi va protseduralari yoki 
faqat o'zi uchun mavjud bo'lgan ma'lumotlarni qayta 
ishlash usullarini o'z ichiga oladi. Ma'lumotlar va unga 
xos bo'lgan qayta ishlash protseduralarini bitta ob'ektga 
birlashtirish inkapsulyatsiya deb ataladi.  Sinov turlari: funktsional, tizimli,
beta sinovi.
Funktsional  test: Dastur  qora deb hisoblanadi   qutiga 
o'ting  va dasturning xatti-harakati uning tashqi 
spetsifikatsiyasiga mos kelishini tekshiradi.
Strukturaviy test: dastur oq  deb hisoblanadi  katagiga 
o'ting  va dastur mantig'ini tekshiring.
Dastur chiqarilishidan oldin  beta sinovlari o'tkaziladi  , 
ya'ni. dasturning beta versiyasini ommaviy sinovdan 
o'tkazish. Vazifa  . 10 ta raqam berilgan. Ijobiylarning yig'indisini toping.
1. Old shart bilan halqa Mavzu: Algoritmlarni 
loyihalashtirish va tahlil qilish  Kamchiliklari:
1. Dasturlarni hatto tajribali dasturchilar uchun ham 
o‘qish qiyin.
2. Shartsiz va shartli o'tish buyruqlari katta va chalkash 
dastur tuzilishiga olib keldi.
3. Dastur samaradorligini oshirishga qaratilgan hiylalar 
ishonchsizlikka, disk raskadrovka va 
modifikatsiyadagi qiyinchiliklarga olib keldi.
4. Protsessual dasturlash qiyin va qimmat. 1. Muammoning bayonoti.
Bosqich maqsadlari:
Muammoni hal qilish maqsadini shakllantirish.
Kirish, oraliq va chiqish ma'lumotlarining tarkibi va 
taqdim etish shaklini aniqlash.
Sinov ishining tavsifi, normal va g'ayritabiiy 
holatlar va foydalanuvchining javob harakatlari.Dasturni ishlab chiqish bosqichlari  2. Formulaik-verbal usul.
a[ i ] massivi  berilgan  .
Musbat massiv elementlari yig‘indisini  hisoblang .
Yechim  .
Belgilaymiz: S – massiv elementlari yig‘indisi, i – massiv 
elementining joriy raqami. Dastlabki qiymat S=0 bo'lsin .
Agar a[ i ]>0 bo'lsa , S= S+a [ i ] uchun]	10	...	1[			i	]	10	...	1[			i Loopning takrorlanish sonini aniqlaydigan o'zgaruvchiga 
parametr deyiladi   tsikl
Velosipedni tashkil etish  .
1. Loop parametrining boshlang'ich qiymatini belgilang.
2. Loopning tanasini aniqlang, ya'ni. siklda qayta-qayta 
bajariladigan buyruqlarni bildiradi.
3. Loopning tanasida pastadir parametrini bir necha qadam 
bilan o'zgartirishni tashkil qiling.
4. Loop parametri uchun halqa tanasini davom ettirish shartini 
aniqlang. 4. Dasturlash
Dastur  - bu dasturlash tilida yozilgan algoritm Mavzu 1. Algoritmlar
1. Algoritm ta'rifi. Xususiyatlari.
2. Algoritmlarni taqdim etish shakllari.
3. Asosiy algoritmik tuzilmalar
4. Dasturlash.
5. Algoritm va dasturlarni ishlab chiqish 
tamoyillari. Algoritm tushunchasi
•
A.N.  K о lm о g о r о v  ta’rifi.  Alg о ritm  –  bu 
qandaydir  s о ndagi  qadamlardan  k е yin 
qo‘yilgan    masala  е chimiga  о lib  k е luvchi 
qat’iy  q о idalar  as о sida  bajariladigan  har 
qanday his о blash tizimidir.
•
A.A.  Mark о v  ta’rifi.  Alg о ritm  –  bu 
b о shlang‘ich  b е rilganlardan  izlangan 
natijaga  о lib  k е ladigan  his о blash  jarayonini 
aniql о vchi aniq ko‘rsatmalardir.  Matn   muharrir  - dasturlash tilida dastur matnini yaratish.
Tarjimon  - dasturni mashina kodiga tarjima qilish va 
sintaksis xatolarini aniqlash.
muharrir   ulanishlar  - to'liq dastur yaratish.
  5. Sinov va disk raskadrovka  dasturni ishlab 
chiqishning yakuniy bosqichidir.
Sinov  - bu dasturning tashqi sharoitlari va ish 
rejimlaridagi o'zgarishlarning belgilangan 
diapazonlarida to'g'ri ishlashini ko'rsatishga 
mo'ljallangan harakatlar to'plami.
Maqsad  , oldindan tayyorlangan test misollari 
to'plamidan foydalanib, xatolar yo'qligini 
ko'rsatishdir. Algoritm  - bu masalani hal qilish uchun bajarilishi kerak 
bo'lgan harakatlar ketma-ketligini aniq tavsiflash.
Algoritm  dastlabki  ma'lumotlardan  natijalarni  olishning 
ketma-ket jarayonini tavsiflaydi. 1. Algoritmning ta’rifi. Xususiyatlari Tsiklik algoritmik tuzilma
Muayyan harakatlar to'plamining takroriy bajarilishini ta'minlaydi, 
bu  halqa tanasi deb ataladi  .
Quyidagi versiyalarda mavjud:
1. Old shart bilan halqa  . Loopning tanasi halqadan chiqish 
sharti bajarilgunga qadar bajariladi. Loop hech qachon 
bajarilmasligi mumkin.
2. Postshart bilan sikl  . Loopdan chiqish sharti sikl tanasi 
bajarilgandan keyin tekshiriladi. Loop har doim kamida bir 
marta ishlaydi.
3. Hisoblagich bilan tsikl  (ma'lum takrorlash soni bilan). 
Loopning tanasi ma'lum bir diapazondagi ma'lum bir 
o'zgaruvchining (loop parametri) barcha qiymatlari uchun 
bajariladi.  7. Dasturiy ta'minot va dasturlash vositalari.
Asosni operatsion tizim muhitida bevosita 
muammolarni hal qilish imkoniyatini ta'minlaydigan 
avtomatlashtirish dasturlash tizimlari yoki dasturlash 
tizimlari tashkil qiladi. Arifmetik siklning muqobil tasviri
Tsikl takroriy soni  n=(i 2 -i 1 )/ qadam +1 Nosozliklarni tuzatish  - bu dasturlardagi xatolarni 
bartaraf etishga qaratilgan harakatlar to'plami.
Xato turlari:
•
sintaktik  - individual dasturlash tili 
konstruksiyalarini noto'g'ri yozish; translyatsiya 
bosqichida avtomatik ravishda aniqlanadi.
•
mantiqiy  - manba ma'lumotlarida dasturning 
ishlashi mantiqidagi xatolar. 2. Postshartli sikl  Belgi nomi Belgilanish  va  to'ldirish 
namunasi Tushuntirish
Jarayon Hisoblash  harakati  yoki  harakatlar 
ketma-ketligi
Yechim Tekshirish shartlari
Modifikatsiya Tsiklning boshlanishi
Oldindan 
belgilangan jarayon Subprogramma hisoblari
I/U Umuman olganda I/U
Start-stop Algoritmning  boshlanishi,  oxiri, 
pastki dasturga kirish va chiqish
Hujjat Natijalarni chop etish  2. Modulli  dizayn.
Modul - bu dasturning alohida qismi sifatida 
tuzilgan, mantiqiy jihatdan bir-biriga bog'langan 
fragmentlar ketma-ketligi. Modullar quyidagi 
xususiyatlarga ega:
1. Modulga nomi bilan kirish mumkin.
2. Ish tugagandan so'ng, modul boshqaruvni uni 
chaqirgan modulga qaytarishi kerak.
3. Modulda bitta kirish va bitta chiqish bo'lishi 
kerak.
4. Modul kichik o'lchamli bo'lishi kerak 3. Parametr bilan tsikl 5. Algoritm va dasturlarni ishlab chiqish tamoyillari
1.  Protsessual  yoki  imperativ  yondashuv
bevosita kompyuter tomonidan bajariladigan 
operatsiyalarga qaratilgan. U ma'lum bir kompyuterning 
imkoniyatlari va xususiyatlaridan foydalanadi va 
kompyuter texnologiyalarining rivojlanishi bilan 
ommaviy sanoat dasturlashga o'tishga imkon bermadi. o zgaruvchining S ʻ qiymatini aniqlang .
Postshartli ikkita halqa.
Tashqi halqa:
Loop parametri i , 1 dan 3 gacha 
o'zgaradi 1 bosqichda.
Tsiklning takroriy soni
n= (3-1)/1 + 1 = 3
Ichki halqa:
Tsikl parametri j 1 bosqichda 2 dan 5 
gacha o'zgaradi.
Tsiklning takroriy soni
n= ( 5 - 2 )/1 + 1 = 4 2.   Muammoni modellashtirish va uni hal qilish 
usulini tanlash.
Matematik yoki axborot modeli tuzilgan.
Yechim usuli quyidagi  talablarga javob berishi 
kerak  :
•
natijalarning zaruriy aniqligini ta'minlaydi;
•
tayyor standart dasturlardan foydalanish 
imkonini beradi;
•
boshlang'ich ma'lumotlarning minimal 
miqdoriga yo'naltirilgan;
•
eng to'liq natijalarni beradi.
  3. Grafik usul (algoritm diagrammasi) 3. Masalani yechish algoritmini tuzish.
4. Dasturlash  (algoritmni kodlash) - dasturni 
ishlab chiqish texnologik jarayonining yakuniy 
bosqichi, mashinani amalga oshirishdan oldingi. 
Dasturlash tili yordamida amalga oshiriladi.

Algoritmlarni loyihalashtirish va tahlil qilish