Algoritmning asosiy xossalari


Download 77.67 Kb.
Sana03.06.2020
Hajmi77.67 Kb.
#113871
Bog'liq
Algoritmning asosiy xossalari


Algoritmning asosiy xossalari.Algoritmning 5-ta asosiy xossasi bor:
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.
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 tushinarli 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 (sistemasi) 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 tushinmasligi 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.
Aniqlik. Ijrochiga berilayotgan ko‘rsatmalar aniq mazmunda bo‘lishi zarur. Chunki ko‘rsatmadagi noaniqliklar mo‘ljaldagi maqsadga erishishga olib kelmaydi. Odam uchun tushinarli 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.
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 algorim shu xildagi har qanday masalani yechishga yaroqli bo‘lishi kerak. Masalan, ikki oddiy kasrning umumiy mahrajini topish algoritmi, kasrlarni turlicha o‘zgartirib bersangiz ham ularning umumiy mahrajlarini aniqlab beraveradi. Yoki uchburchakning yuzini topish algoritmi, uchburchakning qanday bo‘lishidan qat’iy nazar, uning yuzini hisoblab beraveradi.
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.

Paskalda kiritish va chiqarish operatori

Paskal tilida  yozilgan  dasturlarni  kompyuterda bajarish uchun unda qatnashayot-
gan  va  qiymati  hozircha  noma’lum  o’zgaruvchilarga  aniq  qiymat-larni  kiritishga 
to’g’ri keladi. Buning uchun kiritish operatori qo’lla-niladi.  Kiritish  operatorlarin-
ing umumiy ko’rinishi qo’yidagicha:  
                            read (b1,b2,. . .,bn ); 
                                      readln (b1,b2,. . .,bn); 
                                      readln; 
bu  yerda  b1,  b2,  ...,  bn  lar  qiymati  kiritilishi  talab  etilayotgan  o’zgaruvchilarning 
nomi. 
        Read (b1,b2,...,bn); operatori  ma’lumotlarni  kiritishni ta’minlaydi, natijada 
b1,  b2,  ...,  bn  o’zgaruvchilar  mos  qiymatlarni  oladilar.      Kiritilayotgan 
o’zgaruvchilar turi berilayotgan qiymatlar turi bilan mos kelishi kerak. 
Readln  (b1,b2,...,bn);  operatori  ma’lumotlarni  b1,  b1,  ...,  bn        o’zgaruvchilarga  
ta’minlash    uchun    ishlatiladi    va  boshqaruvni    (kursorni)    yangi    satr    boshiga  
o’tkazishni   amalga oshiradi. 
        Readln; operatori bitta bo’sh satrni  o’tkazib   yuborishni   va  yangi satr bo-
shiga o’tishni ta’minlaydi. 
Masalan: read (i,j); 
            
        readln (k,l); 
               
        read (m,n); 

Qiymatlar  kiritish  jarayonida  haqiqiy  o’zgaruvchiga  harfiy  qiymat  yoki  harfli 


o’zgaruvchiga haqiqiy qiymat mos keltirilsa, u holda kompyuter  xatolik ro’y ber-
ganligi tug’risida (Type mitmatch error) ma’lumot beradi. 
   
Dasturning  bajarilish  natijasida  hosil  bo’lgan    ma’lumotlarni  kompyuter 
ekraniga  yoki  chop  etish  qurilmasiga  chiqarish  uchun  chiqarish  operatorlari 
qo’llaniladi.  Bu  operatorlar  orqali  dastur  bajarilishidan  hosil  bo’lgan 
o’zgaruvchilarning qiymatlari,  natijalar  va  ixtiyoriy  matnlar displey ekraniga  yoki 
chop  etish  qurilmasi  orqali qog’ozga chiqariladi.  
        Chiqarish operatorlarining umumiy ko’rinishi quyidagicha: 
                                        write (a1,a2,...,an); 
                                        writeln (a2,a2,...,an);  
                                        writeln; 
bu yerda a1, a2, ..., an lar qiymati chiqarilishi kerak  bo’lgan  o’zgaruvchilar nomi.  
        Write (a1,a2,...,an); operatori a1,a2,...,an o’zgaruvchilarga mos qiymatlarni   
chiqarish    vazifasini  bajaradi.  Chiqarilayotgan qiymatlar bitta satrga joylashtiri-
ladi.  
        Writeln  (a1,a2,...,an);  operatori  a1,a2,...,an  o’zgaruvchilarga  mos  qiymat-
larni  chiqaradi.  Oxirgi  qiymat  chiqarilib  bo’lgandan  keyin  yangi  satriga  o’tishni 
amalga oshiradi.       
Writeln;  operatori  bitta  bo’sh    satrni    o’tkazib    yuborishni    va  keyingi  satr 
boshiga o’tishni ta’minlaydi.       
Masalan:   write (i,j);  
                               writeln(k,r) ; 
            
          writeln (r1,t1); 

Takrorlanuvchi jarayonlar uchun algoritmlar tuzish.
Amalda shunday masalalar uchraydiki, ularning yechimini itеrasiya (kеtma-kеt yaqinlashish) yo`li bilan hosil qilinadi. Bunga sonlardan kvadrat yoki kub ildiz chiqarish, yuqori tartibli algеbraik yoki transsеndеnt tеnglamalarning yechimlarini topish kabilar misol bo`la oladi. Bu turdagi masalalarni yechish algoritmini tuzishda ayrim qoidalarga rioya qilish kеrak. Masalan, bir sondan kvadrat ildiz chiqarish algoritmini ikki xil usulda tuzib ko`raylik.

funksiyaning biror nuqtadagi qiymatini

(5.1)

formula yordamida ixtiyoriy (-kichik son) aniqlikda hisoblash mumkin. Hisoblash jarayonida shart bajarilganda ni ildizning qiymati dеb qabul qilish mumkin. Bu holda ildiz aniqlikda hisoblangan dеyiladi. 5.4-rasmdagi blok-sxеma qanchalik sodda va tushunarli bo`lmasin undan foydalanib to`g`ridan-to`g`ri dastur tuzish mumkin emas. CHunki blok-sxеmada va kabi indеksli o`zgaruvchilar ishtirok etyapti, bu esa dasturda jadval kattalikning (massivning) qaysidir elеmеntini aniqlaydi. Vaholanki jadval kattalik o`zining elеmеntlar soni bilan aniqlangan bo`lishi kеrak. Ammo bu algoritm takrorlanishlar soni oldindan noma`lum bo`lgani uchun uni tasvirlab bo`lmaydi.




Agar biz 5.1-rasmdagi algoritmga e`tibor bеradigan bo`lsak, n ning har bir qiymati uchun u massivning bir paytda ikkita elеmеnti, ya`ni va ishtirok etadi, qolgan elеmеntlari hisoblash jarayonida ishtirok etmaydi. Masalan, n0 da va , n1 da va va hokazo. Xuddi shu narsaning o`zi bir jadval kattalikdan kеchib, uning o`rniga ikkita o`zgaruvchidan foydalanish mumkinligini ko`rsatadi. Buni amalga oshirish uchun ni bilan, ni bilan almashtirish yetarli. shartni bilan almashtiramiz. Endi jarayon to`g`ri davom etishi uchun, agar shart bajarilmasa ning qiymatini ga bеrish kifoya. esa formula bilan qayta hisoblanadi. 5.1 –rasmdagi blok-sxеmada n ning qiymatlari massiv elеmеntlarining nomеrini aniqlash uchun xizmat qilardi. Yangi 5.2-rasmdagi blok-sxеmada massiv bo`lmagani uchun n ning qiymatlarini hosil qilishga ehtiyoj yo`q. 5.2-rasmda yuqorida kеltirilgan algoritmning blok-sxеmasi bеrilgan. Bu endi dasturga hеch qanday qo`shimcha chеgara qo`ymaydi.
Download 77.67 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling