1 ni ayir
TAM2 ga bo‘l
Aigorit OM g qo'shimcha afzalligi shundan iboratki, 1000 dan kichi mnin qanday son uchun bu ko‘rsatmalar guruhini awalgide k har arta emas, 10 marta bajarish yetarli (chunki ikkiga b k i20 m bir takrorlanishda bajarilmoqda):
T o‘l sh har NSIN 10 MARTA
AKRORLA
AGAR juft U HOLDA
AKS 2 ga bo‘l
HOLDA
1 ni ayir
TAM2 ga bo‘l
OM
TAMOM
5.1- mashq
Algoritmni to‘Iiq yozing va 100; 299; 35 sonlariga qo'llang.
Agar biz AGAR —U HOLDA —AKS HOLDA guruhi to‘liq bajarilganda 35 dan boshlab barcha sonlarni yozib chiqsak, ushbu ketma-ketlikni hosil qilamiz: 35 —^ 17 —»8 —>4 —» 2 —» 1 - > 0 —> 0 -» 0 - > 0 - > 0 .
5.2- mashq
Ketma-ketlikda nima uchun 11 ta had, 10 ta emas?
83
Yo‘llanma. Sonlar orasida nechta strelka bor?
k Endi ikkinchi i imkoniyatni ko'rishga o'tamiz. Algoritmning
hamchiligi ko‘rin b turibdi: algoritm 0 hosil bo'lgandan keyin
gam to‘xtamayapti. U AGAR - U HOLDA - AKSs HOLDA
t uruhini roppa-rosa 10 marta ibajarmoqda. Busto‘ iqni olib
ashlash uchun yangi shart kirit shimiz zarur: mu batlilik.
jav Eslatib o'tamiz:h0 musbat son iemas. Endi bu shartga mos
ta obdan foydalanisn usulini ko'rsat shimiz kerak. Shuningiuchun
krorlash tuzilmasi ing yangi ko'rinishini kiritamiz. Yang tuzil-
mada takrorlanishlar soni oldindan belgilanmaydi. Bu tuzilmada ko'rsatmalar guruhi sharoitdan kelib chiqib, necha marta kerak bo'lsa, shuncha marta bajariladi:
AGAR musbat U HOLDA
AGAR juft U HOLDA
2 ga bo‘l AKS HOLDA
1 ni ayir TAM2 ga bo‘l
TAMOM OM
5.3-mashq
Algoritmdagi musbat, juft da'volarirti shu da'volarga bir qiymatli mos keladigan da'volarga almashtiring.
YoMlanma. Ishlatilmasa Inkor amali nega kerak?
Tarmoqlanuvchi algoritmlar blok-sxemalari Kompyuter belgilardan tuzilgan matnlarni tushunadi. Shu
sababli dasturchi kompyuter uchun dastur tuzayotganda uni
biror maxsus tilda (dasturlash tilida) yozadi. Insonga esa rasmlarni kuzatish osonroq. Shunga ko‘ra dasturchi ish borishini kuzatish oson boMishi uchun, ko‘pincha algoritmni graflk ko‘rinishida tasavvur qiladi. Biz ham o‘zimizga oson bo‘lishi uchun yuqoridagi tuzilmalarni blok-sxema ko‘rinishida ifodalaymiz.
Shart tekshirish blokiga, ya’ni rombga, bir nechta strelka kelishi mumkin, lekin faqat ikkita strelka chiqadi. Agar romb ichidagi shart rost bo‘Isa, u holda ROST
84
(ha) strelka bo‘ylab, aks holda YOLG'ON (yo‘q) strelka bo‘ylab yuramiz.
tas Tuzilmalarni algoritmik tilda hamda blok-sxema koTinishida
virlaymiz, bunda ulaming tarmoqlanishi yaqqol koTinadi:
ko' Har bir to‘g‘ri to‘rtburchakning ichida bir emas, bir nechta e’t rsatma (ular ichida tuzilma ham uchrashi imumkin) borligiga ibor bering. Bunday blok-sxemalar algor tmda ko'rsatmalar
soni ko‘p bo'lganda juda qulaydir. Jadvalda ko'rganimizdek,
AKS HOLDAdan keyingi guruh bo‘sh bo'lishi mumkin, shuning uchun blok-sxemada aks ettirilmasligi mumkin (5.1-rasm). Masalan: AGAR juft
O HOLDA
TAM2 ga bo‘l
yoki OM
AGAR juft U HOLDA
2 ga bo‘l AKS HOLDA TAMOM
85
Q u y id a (5.2-rasm) samarador Kamaytiruvchi uchun blok- sxema keltirganmiz:
TOKI — BAJAR takrorlash tuzilmasi Yangi uchinchi tuzilmaning ko'rinishi quyidagicha:
TOKI BAJAR
Bu tuziTAMOM y ishlashini ko'rib chiqamiz. Awal TOKI so'zidan lma qanda i ROST yoki YOLG'ON chiqadigan savol beriladi. keyingi javob OST bo‘lsa, BAJAR va TAMOM so'zlari orasidag Agar javob R r guruhi bajariladi. Bajarish jarayoni tugagan i ko‘rsatmalaa TOKI so'zidan keyin yozilgan savol beriladi.dan so‘ng yan ST bo‘lsa, yana (BAJAR va TAMOM so‘z!ari oAgar javob RO ma!ar guruhi bajariladi. Shundan keyin uchinchirasidagi) ko‘rsat hokazo marta savolga qaytiladi. Bu takrorlan,s to‘rtinchis va lgajavob YOLG'ON bo'lguncha davom
etaveradi i hjarayoni avo ‘ON boMgandan keyingina to‘xtaydi.
Yangi va javob YOLGk-sxema ko'rinishi quyidagicha (5.3-
tuzilmaning blo
rasm):
86
qu Kamaytiruvchi algoritmini bu ajoyib tuzilma yordamida yidagicha osongina yozishimiz mumkin:
Do'stlaringiz bilan baham: |