4- misol. Ikki xonali sonlar ichidan raqamlari yig`indisi 7 ga teng
sonlar yig`indisini hisoblash algoritmini tuzing ([ - a sonining butun qismi,
/ - bo`lish amali).
10-rasm
5- misol. «Vatan sajdagoh kabi muqaddasdir» iborasini 20 marta yozdirish algoritmini tuzing. Bu misol algoritmi so`zlar orqali ifodalanadi.
1)I ning qiymati 1 deb olinsin;
2) «Vatan sajdagoh kabi muqaddasdir» yozilsin;
3) I ga 1 ni qo`shib I deb olinsin;
4) agar I ≤ 20 bo`lsa, 2-bandga o`tilsin;
5) tugallansin.
Ko`ribo`tilganalgoritmlargae’tiborqillinsa, algoritmlar chiziqli, tarmoqlanuvchi yoki takrorlanuvchi qismlardan tashkil topganligini ko`rish mumkin. Demak, inson hayotida uchraydigan algoritmlar, asosan, shu uch turdagi algoritmlarning uzviy birligi sifatida namoyon bo`ladi.
Savol va topshiriqlar
1. Qanday algoritm chiziqli algoritm deb ataladi? Misollar keltiring.
2. Qanday algoritm tarmoqlanuvchi algoritm deb ataladi? Misollar
keltiring.
3. Qanday algoritm takrorlanuvchi algoritm deb ataladi? Misollar
keltiring.
4. Chiziqli, tarmoqlanuvchi va takrorlanuvchi algoritmlarning birbiridan farqini tushuntiring.
5. Uchta sondan kattasini (UKT) aniqlab beruvchi algoritm tuzing.
Mashqlar
1. Quyidagi algoritmlar qanday algoritm turiga misol bo`lishini va
natijasini aniqlang:
a) a:=3; x:=2*a+a*a. a=?, x=?
b) x:=1; x:=x+11, x:=x*x-4. x=?
d) a:=15; b:=a; a:=a-b. a=?, b=?
e) 1) a:=3;
2) agar a>2 bo`lsa, u holda x:=2*a+a*a va 4-bandga o`tilsin, aks holda3 -bandga o`tilsin;
3) x: =9-a*x; 4) natija x yozilsin; 5) tugallansin.
f) 1) x:=l;
2) agar x > 2 bo`lsa, u holda x:=x+11 va 4-bandga o`tilsin, aks holda 3-bandga o`tilsin;
3) x:=x*x-4; 4) natija x yozilsin; 5) tugallansin.
g) 1) a:=15;
2) b:= a;
3) agar a > b bo`lsa, u holda a:=a-b va 5-bandga o`tilsin, aks holda 4- bandga o`tilsin;
4) a:=a+b; 5) natija a, b yozilsin;6) tugallansin.
2. Berilgan sonning ishorasini aniqlovchi algoritmni blok-sxema yordamida tuzing.
3.у = x2- 1 funksiyasi qiymatlarini x ning [ oraliqdagi butun qiymatlarida hisoblash algoritmini blok-sxema shaklida tuzing.
Masalalarni tahlil etish jarayonida algoritmdagi ba’zi ko'rsatmalar takroran bajarilishini kuzatish mumkin. Hayotimizda ham juda ko‘p jarayonlar takrorlanadi. Masalan, darslarning har hafta takrorlanishi, har kuni
nonushta qilish yoki maktabga borish va hokazo. Ko‘rsatmalari
takroriy bajariladigan algoritmlar takrorlanuvchi algoritmlar deb
ataladi.
Takrorlanuvchi algoritmlar «T := T + 1», «S := S + T» yoki
« P : = P * 1» ko'rinishidagi ko’rsatmalarning ishtiroki bilan ajralib turadi (* — ko'paytirish amali). Bunday ko'rsatmalarning mazmunini tushunish uchun takrorlanishning bir nechta qadamini ko'rib chiqamiz. Odatda, yig'indi uchun boshlang'ich qiymat (inglizchadan SUMM, ya'ni yig'indi ma'noli so'zning bosh harfi) S:= 0 va ko‘paytma uchun (inglizchadan PRODUCT, ya'ni ko'paytma
ma’noli so‘zning bosh harfi) P: = 1 deb olinadi, chunki bu
qiym atlar, ya'ni 0 va I lar, mos ravishda, yig'indi va
ko‘paytmaning natijasiga ta'sir etmaydi:
1- qadamda I := 1 bo‘lsin:
S ; = s + l = 0 + I = l , P : = P * I = l * l = l;
2- qadam: 1 := I + 1 = I + 1 = 2:
S : = S + I = l + 2 = 3, P: = P * I = 1 * 2 = 2;
3- qadam: l := I + 1 = 2 + I = 3:
S : = S + I = 3 + 3 = 6, P : = P * l = 2 * 3 = 6;
4- qadam: I := 1 + 1 = 3 + 1 —4:
S := S + I = 6 + 4 = 10, P := P * 1 = 6 * 4 = 24.
Algoritmikada, matematikada bunday bo'lishi mumkin emas,
1 = 1 + 1 deb yozilishi mumkin. Bu yozuvda avval o ‘ng
tomondagi qiymat hisoblanib, so‘ng bu qiymat chap tomondagi
nomning qiymati deb olinadi.
Misol
1 dan 1000 gacha bo‘Igan sonlar yig'indisini, ya'ni S = 1+2+3+...+1000 ni hisoblash algoritmini tuzing.
11-rasm
So'zlar bilan ifodalangan algoritmda blok-sxema bilan mutanosiblikni bildirish uchun qavslar ichida izohlar berib bordik.
Odatda, takrorlanuvchi algoritmlarda «I:=I+1» ifoda sanagich deb yuritiladi. Bu misol yechimini chiziqli algoritm shaklida tashkil etish ham mumkin. Buning uchun arifmetik progressiyaning 1000 ta hadi yi'gindisini hisoblash formulasidan
foydalanish kifoya (algoritmni mustaqil tuzing). Lekin keyingi
misolda bunday qilish ancha mushkul.
Do'stlaringiz bilan baham: |