Ko‘rsatm a
Son
S hart
ju ft
m usbat
13
YOLG‘ON
ROST
1 ni ayir
12
ROST
ROST
2 ga bo‘l
6
ROST
ROST
2 ga bo‘l
3
YOLG‘ON
ROST
5.5-m ashq
Jadvalni mustaqil yakunlab qo‘ying.
Endi ko‘rsatmalarni bajarilish sonini hisoblash osonroq b o ‘lib
qoldi.
5 .4 - masala
Kamaytiruvchi uchun yana bir algoritmni yozamiz:
TOKI musbat BAJAR
TOKI juft BAJAR
2 ga bo‘l
TAMOM
1 ni ayir
TAMOM
a) Bu algoritmga mos blok-sxemani chizing.
b) Ikkala algoritmni 13; 1024; 1023 sonlari uchun qo‘llang.
Ikkala holda ham qadamlar sonini hisoblang.
d) Nima uchun bu algoritmlar cheksiz vaqt bajarilmaydi?
5 .5 - masala
Quyida ikkita algoritm keltirilgan.
Birinchisi:
88
TOKI musbat BAJAR
1 ni ayir
TOKI juft BAJAR
2 ga bo‘l
TAMOM
TAMOM
Ikkinchisi:
TOKI juft BAJAR
1 ni ayir
TAMOM
Bu algoritmlar^ ng qanday kamchiligi bor?
TOKI - BAJAR tuzilmasiga ba’zi sharhlar
2 - sharh
O ‘z oldimizga bunday maqsad q o ‘ymagan bo ‘lsak-da, faqat
1000 dan kichik sonlar uchun emas, balki barcha natural sonlar
uchun q o ‘llash mumkin bo ‘lgan algoritm tuzdik. Algoritmning o ‘zi
nechta qadam kerak bo ‘lsa, shuncha bajaradi. Masalan, 1000000
soni uchun Kamaytiruvchi 29 ta k o ‘rsatma bajaradi. Agar son
kattaroq b o ‘lsa, uning algoritmining bajarilishi k o ‘proq qadam
talab qilishi mumkin. Bu tuzilmada biz endi TAKRORLANSIN -
MARTA tuzilmasidagi kabi takrorlanishlar soni haqida o ‘ylashimiz
shart emas. Endi takrorlanishlar uchun algoritmning o ‘zi javob
beradi!
3 - sharh
TOKI — BAJAR tuzilmasining bajarilishi shart tekshirishdan
boshlanadi. Birinchi savolga javob YOLG‘O N b o ‘lsa-chi? Bu holda
algoritm bajarilishi darrov to ‘xtatiladi va BAJAR va TAM OM
orasidagi k o ‘rsatmalar bir marta ham bajarilmaydi. Masalan, 5.4-
rasmdagi blok-sxemada boshlang‘ich quymat 0 ga teng bo ‘lsa, u
holda musbat sharti YO LG ‘O N bo ‘ladi, shunga ko ‘ra algoritm
bajarilishi to‘xtatiladi.
4 - sharh
Agar shartga javob doimo R O S T b o ‘lsa-yu, bir marta ham
YO LG ‘O N b o ‘lmasa-chi? U holda algoritm ishi hech qachon
to ‘xtamaydi. U cheksiz uzoq vaqt davom etadi. Masalan, quyidagi
algoritmga
89
TOKI juft BAJAR
2 ga bo‘l
TAMOM
boshlang‘ich qiymat sifatida 0 sonini kiritamiz. 0 — ju ft son,
shuning uchun ju ft sharti ROST, 0 ni 2 ga b o ‘lsak, yana 0
sonini hosil qilamiz. Ko ‘rsatmalarning bajarilishi yana boshidan
boshlanadi va cheksiz marta davom etadi. Dasturchilar bunday
holatni siklga tushib qoldi deyishadi (yoki «cheksiz siklga tushib
qoldi»).
Albatta, siklga tushib qolishi yoqimli emas. Dasturchilar doimo
bu holatga tushib qolmaslik choralarini k o ‘rishlari shart. Shunda
ham bu holat yuz bergan bo‘lsa, u holda klaviaturadan bir yoki
bir nechta klavishalar juftligi yordamida algoritm ishini to‘xtatish
mumkin.
5-sharh
Tajribasiz dasturchilar, ichki k o ‘rsatmalarni bajarayotgan
kompyuter doimo TO K I shartini nazarda tutib turadi va tekshirib
boradi, deb o ‘ylashadi.
L ekin bunday em as, ko m p yu ter sh a rtn i barcha ich ki
ko ‘rsatmalarni bajarib bo ‘lgachgina tekshiradi. Buni quyidagi
algoritm misolida k o ‘rsatamiz:
TOKI juft BAJAR
2 ga bo‘l
2 ga bo‘l
TAMOM
Bu algoritmni 24 soniga qo‘llashni jadval orqali k o ‘ramiz:
Do'stlaringiz bilan baham: |