1.9-misol
yig2 xonali sonlar ichidan raqamlari yig'indisi 7 ga teng soniar
'indisini hisoblash algoritmini tuzing ([a] - a sonining butun
qismi, / - bo‘lish amali).
(Boshlnnish)
___i___
S:-0 | B:=l-lH0 |— S ni chiqarish 7
___i___ f
( Tamom J
ziq Ko‘rib o'tilgan algoritmlarga nazar tashlasak, algoritmlar chi- li, tarmoqlanuvchi yoki takrorlanuvchi qismlardan tashkil
topganligini kuzatish mumkin.
shuDemak, inson l hayotida uchraydigan algoritmlar, asosan,
uch turdagi a goritmlarning uzviy birligi sifatida namoyon
bo‘ladi.
Nazorat savollari va topshiriqlar
1. Algoritm nima? Misoilar keliiring.
2. Algoritmning qanday xossaiarini biiasiz?
3. Boshlang'ich qiymatlar deganda nimani tushunasiz?
4. Hamma bajara olishi uchun algnritm qanday xossaga ega bo'lishi kerak?
5. Tushunarlilik xossasi bajariiadigan va bajarilmaydigan ko ‘rsatmalar ketma- ketiigiga misollar keltiring.
6. Ka 'rsatmalar ijrochiga tushunarli bo ‘lishi uchun qanday sistemadan olinishi
kerak?
7. Ijrochi algoritmni so ‘zsiz bajarishi uchun qandayxossa ahamiyatii ?Javobingizni izphlang.
8. Algoritmning diskretlilikxossasini misollaryordamida tushuntiring.
9. Algoritmning natijaviylik xossasini misollaryordamida tushuntiring.
10. Natijaviylik xossasi bajariimaydigan ko'rsatmalar ketma-ketligiga misollar keltiring.
19
11. Algoritmning ommaviylik xossasini misollaryordamida tushuntiring.
12. Algoritmning qanday tasviriash usullari hor?
13. Algoritmning so ‘zlar orqali ifoda etilishiga hayotiy misollar keltiring.
14. Qaysifanlarda algoritmniformulalaryordamida berish qulay?
15. Algoritmningformulalar arqali ifoda etilishigafizika fanidan misollar lceltiring.
16. Algoritmningjadva! ko ‘rinishida berilishiga misollar keltiring.
17. Algoritmning grafik shaklda berilishiga misollar keltiring.
18. Blok-sxemaning asosiy elementlariga misollar keltiring
19. Algoritmning dastur shaklida berilishiga misollar keltiring.
20. Qanday algoritmlar chiziqli algoritm deb ataladi? Chiziqli algoritmlarga hayotiy misotlar keltiring.
21. Qanday algoritmlar tarmoqlanuvchi algoritm deb ataladi? Tarmoqlanuvchi algoritmlarga hayotiy misoHar keltiring.
22. Qanday algoritmlar takrorlanuvchi algoritm deb ataladi? Takrorlanuvchi algoritmlarga hayotiy misollar keltiring.
23. Chiziqli, tarmoqlanuvchi va takrorlanuvchi algoritmlaming bir-biridan farqini tushuntiring.
24. Uchta sondan kattasini (UKT) aniqlab beruvchi algoritm tuzing.
25. Berilgan sonning ishorasini aniqlovchi algoritm tuzing.
26. Quyidagi ko ‘rsatmalar ketma-ketligi qanday algoritm ruriga misol bo ‘ladi? Algoritmlar natijasini aniqtang:
a) a:=3, x:=2*a+a *a; a=?,x=?
b) x:=J, x:=x+11, x =x *x-4; x=?
d) a:=15, b:=a, a:=a-h; a=?, b=?
27. Quyidagi ko 'rsatmalar ketma-ketligi qanday algoritm turiga misol bo ‘ladi? Algoritmlar natijasini aniqlang:
a) 1) a:=3;
2) agar a > 2 bo ‘Isa, u holda x:=2*a+a *a va 4-bandga o ‘tilsin; 3) x:= 9-a*x;
4) javobi xyozilsin;
5) iugatilsin; b) 1) x: = l;
2) agarx > 2 ho ‘Isa, u holda x:=x+11 va 4-bandga n ‘tilsin; 3) x:=x*x-4;
4) javobi x yozilsin;
5) tugatilsin, d) 1) a:=l5; 2) b:= a;
3) agara > b bo ‘Isa, u holda a:=a-b va 5-bandga o ‘tilsin; 4) a:=a+b;
5) javobi a, b yozilsin,
6) tugatilsin.
Ilbob. IJROCHILAR VA ULARNING KO‘RSATMAIARI
Algoritmik tillar olamiga kirish
riv Ushbu qo'llanmaning asosiy maqsadi algoritmik tafakkurni o‘ ojlantirish bo'lganligi bois, qo'yilganhmasalalarni yechishda ji zimiz uchun dasturlashatiliga o'xshas i vasularning umumiy hatlarini o‘z ichiga olg n maxsus tiln ta hkil etamiz. Har
qanday tilda boMgani kabi bu tilda ham alifbo, sintaksisi va
semantika boMadi. Bu tushunchalarni qisqacha yoritib o‘tamiz.
Alifbo —aniq bir til uchun asosiy belgilar ro‘yxati, ya’ni shu tildagi matnlarni yozish uchun qoMlaniladigan «alifbo harflari»
— boshqa belgini qoMlash mumkin emas.
ju Sintaksis ‘— bu jumlalarni hosilgqilish qoidasi boMib, biror
mlani to‘g ri yoki xato yozilganli ini aniqlash uchun xizmat
qiladi. Aniqroq qilib aytadigan boMsak, til sintaksisi shu tilda belgilarni ma'noga ega boMadigan biriktirishni aniqlab beruvchi qoidalar ro'yxati.
Se Semantika — jumla yoki gaplarning mazmunini aniqlaydi.
mantika hosil qilingan jumlalar yoki gaplarni qanday amallar
ketma-ketligini aniqlab berishini ta'minlaydi.
jud Qulay belgilashlarni o'ylab topish san'ati inson madaniyatida
a muhim ahamiyatga ega. Masalan, sonlarni belgilashni
olaylik. Awalgi bobda aytib o‘tilganidek, hammangiz sonlarni ustun ko‘rinishda qo‘shish va ko‘paytirishni bilasiz. Al-Xorazmiy tomonidan yoritib berilgan o‘nlik belgilash sistemasi bunga imkon beradi. Rim raqamlari orqali yozilgan sonlarni qo‘shib ko‘ring-chi, qo'shish masalasini hal etishda belgilashlar sizga hech qanday yordam bermayotganini ko‘rasiz. Yana, masalan, musiqani olaylik. Musiqa tovushlarini belgilash uchun notani o'ylab topib, musiqachilar ancha murakkab va qiziqarli musiqalarni yozish hamda tarqatish imkoniyatiga ega boMdilar. Shu kabi juda ko‘p misollarni keltirish mumkin.
Algoritmikada qulay belgilashlar ham, albatta, yanada
muhim ahamiyatga ega. Bunda uning o‘ziga xos tomonlari ham bor. Biz ham o‘z belgilash usulimizni kiritishdan awal ba’zi
21
tomonlarga e'tibor berishimiz lozim bo'ladi. Yozish uchun lotin harflari va o‘nlik sanoq sistemasidagi raqamlardan foydalanamiz. Ko‘rsatmalar so‘zlar bo‘lib, ularni yozish uchun jumlalarga buyruq mazmunini beramiz. Bunda ularni qisqa va ma'noli bo'lishiga e'tibor beramiz. Misoi uchun bir xil ma’noli quyidagi ko'rinishdagi jumlalami qarab chiqaylik:
o‘ng tomonga yuring
o‘ngga yuring
o‘ngga yur
Le Bularning barchasini ko'rsatma sifatida qabul qilish mumkin.
m kin biz faqat o‘ngga yur jumlasini tanlaymiz, ham qisqa, ham
a'noga ega, ham aniq amalni ifodalaydi.
JudQisqa yozish lchog'ida juda hambberilib ketish ikerak emas.
a qisqa belgi ashlar tushunarsiz o'lishi mumk n. Masalan,
o‘ty yoki o‘y qanday ma’no anglatishini bilish qiyin. Doimo aql bilan murosali ish yuritish kerak.
Kompyuter uchun tushunarlilik talabi ba‘zan o‘ta g'alati natijalarga olib keladi. Ba’zi kompyuter sistemalari probeliar orasidagi har bir so‘zni alohida tahlil qiladi. Ular uchun ko‘r- satma ikkita so'zdan iborat boMishi mumkin emas, buni kom- pyuter ikkita alohida ko'rsatma deb hisoblashi mumkin. Bu kabi sistemalarda o‘nggayur yoki 0 ‘nggaYur yoki o‘ngga_yur ko‘rinishidagi belgilashlarni uchratish mumkin.
proE'tibor qiling — bizrbarcha hollarda ham ko'rsatma ichiga
sh bel qo'ymaslikka ha akat qildik! Ya'ni, agar siz biror joyda
b unday belgilashlarni uchratsangiz, hayron boMmang. Bilingki,
ularning hammasi texnik sabablarga asosandir. Kompyuter
uchun shunisi qulay ekan.
ke Ijrochiga berilayotgan ko'rsatmalar mutlaqo ravshan boMishi
rak. Ular ikki xil ma'noli boMmasligi kerak. Oddiy inson tili
juda ma'nodor, lekin ko'pincha bir ma'noli emas. Ba’zan bir so'zni o‘zi ikki xil mazmunga ega bo'lishi mumkin, ba‘zan esa ikki ma'nolilik jumlaning o‘zida yashiringan boMadi. Masalan, quyidagi masala-hazilni ko‘raylik.
Sh Shoxda 7 ta qush o‘tirgan edi. Ovchi 3 ta qushni otib tushirdi.
oxda nechta qush qoldi?
Bi Undagi «qoldi» so'ziga ikki xil mazmun berish mumkin.
qorinchisi —tabiiyki, «tiriktqoldi». Ikkinchisi —hazil —«joyida
h ldi»j(qolganlari uchib ke di). Birinchi holda javob 4, ikkinchi
olda avob 3. Masalani hazil ekanligini hisobga olsak, ikkinchi
22
javob to‘g‘ri bo'iadi. Lekin kompyuter hazilni tushunmaydi-ku! Bu kabi masalalarni yechishga kompyuterning kuchi yetmaydi. dasMana sizga go‘zal qadimiy afsona. Uni tuzgan inson qalban
turchi bo‘lgan bo‘lsa kerak.
B irkuni Dionis xudosi shoh Midasga uning har qanday istagini bajarishni taklif etdi. Midas nimaga tegsa o ‘sha narsa oitinga aylanib qolishi istagini bildirdi. Bir necha soniyadan keyin u dunyodagi eng boy odamga ayiandi. Lekin tezda kutilmagan qiyinchilik yuzaga keldi: shoh Midasning ovqati va ichimligi ham oltinga ayianib qolaverdi. Shoh ochdan o ‘lishi mumkin! Yaxshiki, Dionisning unga rahmi kelib o ‘zining bu sovg‘asidan xolos etdi.
Ko'rib turibsizki, aniq ifodalash nafaqat kompyuter bilan
ishlagandagina kerak. Albatta, Midas o'zining istagini aytayot- ganda ovqati va ichimligini ham oltinga aylanishini nazarda tutmagan. 0 ‘ylab ko'rib, balki yana bir qancha istisnolar qilishni xohlagan bo‘lar edi. Hamma balo shundaki, Midas fikrini aniq va ravshan ifoda etmagan. U bularni o‘z-o‘zidan tushunarli deb hisoblab, faqat nazarda tutgan. Dastur tuzayotgan kishilar ko'pincha mana shunday holga tushib qolishadi.
muInson faoliyatining juda ko'p sohalarida aniqlik va ravshanlik
sin himdir, Masalan, qonunlarni tuzishda, atom elektrostansiya-
he i yoki yadroliaraketa qurilmasini boshqarish yo‘riqnomasida
boch qanday no niqliklar, mujmal qismlar va ko‘p ma'nolilik
bo'lmasligi lozim.aBular butun sayyoramizningi xavfsizligi bilan
y gMiq! Qonunkv ayo'riqnomalar bilan bo‘g‘l q har bir ishda
etuk Algoritmi T fakkur zarur. Biroq boshqacha nuqtayi nazar
ham mavjud. Qilishi kerak bo‘lgan ish — yo'riqnomani aniq bajarish boMgani uchun atom bomba tugmasi yonida nima uchun inson o'tirishi kerak? Uni kompyuter bilan almashtirish mum- kindek ko‘rinadi. Baribir bu ishni insonga topshiramiz. Inson Ijrochi emas — u faqatgina buyruqlarni bajaribgina qolmay, balki mustaqil qaror qabul qiladi, javobgarlikni o‘z zimmasiga oladi. Chamasi, dilimizda yo‘riqnoma tugmani bosib atom urushini boshlashni talab qilganda Inson javobgarlikni o‘zqo‘liga oladi va yo‘riqnoma buzadi, deb umid qilsak kerak.
ma Ba'ziamutaxassisliklarda rhar kuni va har daqiqada ko‘rsat-
aerlarnit niq tushunish zaru . Bularga samolyot uchuvchisi bilan
op oporri dispetcheri (yoki kema kapitani i va mashina boMimi
erato ) orasidagi muloqotni misol q lish mumkin. Agar
dispetcher uzun mujmal jumlalar va ishoralar bilan gapirsa, u
23
holda uchuvchi (buning ustiga uni ko'rmayotgani uchun) yo'ldan adashadi va samolyotni halokatga uchratadi. Bu hol uchun odamlar quyidagicha yechimni topishdi: ular avvaldan juda sodda, hattoki jo‘n iboralar ro‘yxatini tuzishdi va har bir ibora qanday ma'no anglatishini to‘liq va aniq kelishib olishdi hamda biror-bir rasmiyatchiliksiz faqat shu iboralar yordamida gapla- shishadi. Bu esa Ijrochining ko'rsatmalariga juda o'xshash, shunday emasmi? Chetdan qaraganda ular qandaydir o'zlarining tushunarsiz tilida gaplashayotgandek tuyuladi.
Ul Kompyuterni yasaganlar ham shu kabi yo'ldanrborishgan.
ar kompyuter bilan muloqot qilish uchun dastu lash tillari
deb ataluvchi maxsus tillarni ishlab chiqishgan. Siz dasturlash tillarini qanday qilib va nima uchun shundayligini tushunib olishingiz kerak. Shuning uchun qoMlanmada tilni hosil qilish yoMini siz bilan birga yangitdan bosib o‘tamiz. Ish davomida qabul qilingan qarorlar sababini tushuntirib boramiz. Quyida biz kelgusida rioya qiladigan dastlabki qoidalami sanab o'tamiz.
Do'stlaringiz bilan baham: |