13
Algoritmning blok-sxemalar yordamida tuzishda foydalaniladigan asosiy
sodda geometrik figuralar quyidagilardan iborat.
Ellips u algoritmning boshlanishi yoki tugallashini
belgilaydi.
To‗g‗ri burchakli to‗rtburchak, qiymat berish yoki
tegishli ko‗rsatmalarni bajarish jarayonini belgilaydi.
Parallelogramm, ma‘lumotlarni
kiritish yoki
chiqarishni belgilaydi.
Yordamchi algoritmga murojatni belgilaydi.
Romb, shart tekshirishni belgilaydi va shart bajarilsa "ha",
tarmoq bo‗yicha, aks holda "yo‗q‖-tarmog‗i bo‗yicha amallar
bajarilishini ta‘minlaydi.
- Strelka - amallar ketma-ketligining bajarilish yo‗nalishini
ko‗rsatadi.
Yuqorida ko‗rilgan algoritmlarning tasvirlash usullarining asosiy maqsadi,
qo‗yilgan masalani yechish uchun zarur bo‗lgan amallar ketma-ketligining eng
qulay holatini aniqlash va shu bilan odam tomonidan programma yozishni yanada
osonlashtirishdan iborat. Aslida programma
ham algoritmning boshqa bir
ko‗rinishi bo‗lib, u insonning kompyuter bilan muloqotini qulayroq amalga
oshirish uchun mo‗ljallangan.
Misol: Teng tomonli uchburchak tomoni berilganda uning yuzi va perimetrini
topish algoritm blok-sxemasini yozing.
Boshlash
S=a
2
(
3)/4
P=3a
a
S, P
Tamom
14
Algoritmning hossalari
Masala yoki mummoni hal etish jarayoni uchun keltirilgan algoritmlar
ma‘lum bir hususiyatlarga bo‘ysinish kerak. Bu hususiyatlarni e‘tiborga olib
algoritmlar quyidagi xossalarga ega.
1.
Diskretlilik (CHeklilik). Bu xossaning mazmuni algoritmlarni doimo
chekli qadamlardan iborat qilib bo‗laklash imkoniyati mavjudligida. Ya‘ni uni
chekli sondagi oddiy ko‗rsatmalar ketma-ketligi shaklida ifodalash mumkin. Agar
kuzatilayotgan jarayonni chekli qadamlardan iborat qilib qo‗llay olmasak, uni
algoritm deb bo‗lmaydi.
2.
Tushunarlilik. Biz kundalik hayotimizda
berilgan algoritmlar bilan
ishlayotgan elektron soatlar, mashinalar, dastgohlar, kompyuterlar, turli avtomatik
va mexanik qurilmalarni kuzatamiz.
Ijrochiga tavsiya etilayotgan ko‗rsatmalar, uning uchun tushunarli
mazmunda bo‗lishi shart, aks holda ijrochi oddiygina amalni ham bajara olmaydi.
Undan tashqari, ijrochi har qanday amalni bajara olmasligi ham mumkin.
Har bir ijrochining bajarishi mumkin bo‗lgan ko‗rsatmalar yoki buyruqlar
majmuasi mavjud, u ijrochining ko‗rsatmalar tizimi deyiladi. Demak, ijrochi uchun
berilayotgan har bir ko‗rsatma ijrochining ko‗rsatmalar tizimiga mansub bo‗lishi
lozim. Ko‗rsatmalarni ijrochining ko‗rsatmalar tizimiga tegishli bo‗ladigan qilib
ifodalay bilishimiz muhim ahamiyatga ega. Masalan, quyi sinfning a‘lochi
o‗quvchisi "son kvadratga oshirilsin" degan ko‗rsatmani
tushunmasligi natijasida
bajara olmaydi, lekin "son o‗zini o‗ziga ko‗paytirilsin" shaklidagi ko‗rsatmani
bemalol bajaradi, chunki u ko‗rsatma mazmunidan ko‗paytirish amalini bajarish
kerakligini anglaydi.
3.
Aniqlik. Ijrochiga berilayotgan ko‗rsatmalar aniq mazmunda bo‗lishi
zarur. Chunki ko‗rsatmadagi noaniqliklar mo‗ljaldagi maqsadga erishishga olib
kelmaydi. Odam uchun tushunarli bo‗lgan "3-4 marta silkitilsin", "5-10
daqiqa
qizdirilsin", "1-2 qoshiq solinsin", "tenglamalardan biri yechilsin" kabi noaniq
ko‗rsatmalar robot yoki kompyuterni qiyin ahvolga solib qo‗yadi.
Bundan tashqari, ko‗rsatmalarning qaysi ketma-ketlikda bajarilishi ham
muhim ahamiyatga ega. Demak, ko‗rsatmalar aniq berilishi
va faqat algoritmda
ko‗rsatilgan tartibda bajarilishi shart ekan.
4.
Ommaviylik. Har bir algoritm mazmuniga ko‗ra bir turdagi
masalalarning barchasi uchun ham o‗rinli bo‗lishi kerak. Ya‘ni masaladagi
boshlang‗ich ma‘lumotlar qanday bo‗lishidan qat‘iy nazar algoritm shu xildagi har
qanday masalani yechishga yaroqli bo‗lishi kerak. Masalan, ikki oddiy kasrning
umumiy
mahrajini topish algoritmi, kasrlarni turlicha o‗zgartirib bersangiz ham
15
ularning umumiy mahrajlarini aniqlab beraveradi. Yoki uchburchakning yuzini
topish algoritmi, uchburchakning qanday bo‗lishidan qat‘iy nazar,
uning yuzini
hisoblab beraveradi.
5.
Natijaviylik. Har bir algoritm chekli sondagi qadamlardan so‗ng albatta
natija berishi shart. Bajariladigan amallar ko‗p bo‗lsa ham baribir natijaga olib
kelishi kerak. Chekli qadamdan so‗ng qo‗yilgan masala yechimga ega emasligini
aniqlash ham natija hisoblanadi. Agar ko‗rilayotgan
jarayon cheksiz davom etib
natija bermasa, uni algoritm deb atay olmaymiz.