Masalalarni kompyuterda yechishning algoritmlash bosqichi

|
Masalalarni kompyuterda yechishning algoritmlash bosqichi
|
bet | 3/13 | Sana | 20.12.2023 | Hajmi | 0,59 Mb. | | #124986 |
Bog'liq X-0 1.2. Masalalarni kompyuterda yechishning algoritmlash bosqichi.
“Algoritmlash” deganda masalani biri ketidan boshqasini bajariladigan xamda oldingisining natijalari keyingilarining bajarilishida ishlatiladigan bosqichlar ketma-ketligiga keltirish tushuniladi. Ayni paytda bu bosqichlardagi amallarni kompyuter bajara olishi ko’zda tutilishi kerak.
Kengroq ma`noda qaraydigan bo’lsak algoritmlash, o`zidan oldingi bosqich - masalani yechish usulini tanlash bosqichi xam, o`zidan keyingi bosqich - kompyuterning xususiyatlarini xisobga olgan xolda boshlang’ich, oraliq va natijaviy axborotlarni tuzilishining ifoda shakllarini tanlashni xam o’z ichiga oladi.
Algoritmlash bosqichining natijasi masalani yechish algoritmi bo’ladi, yani bu bosqichda masalani yechish algoritmi ishlab chiqiladi. Bunda masalani matematik qo’yilishi va tanlangan usul qidirilayotgan natijani olishga olib keladigan xarakatlar ketma-ketligini aniqlash uchun asos bo’lib xizmat qiladi.
1.3. “Algoritm” tushunchasi va unga misollar.
Algoritm deb, masalani yechish uchun bajarilishi lozim bo’lgan amallar ketma-ketligini aniq tavsiflaydigan qoidalar tizimiga aytiladi.
Boshqacha aytganda, algoritm –boshlang’ich va oraliq ma`lumotlarni masalani yechish natijasiga aylantiradigan jarayonni bir qiymatli qilib, aniqlab beradigan qoidalarning biror bir chekli ketma-ketligidir.
Algoritm quyidagi asosiy xossalarga ega: uzluklilik, aniqlik, natijaviylik va ommaviylik.
Uzluklilik. Dastlabki bеrilgan malumotlarni natijaga aylantirish jarayoni uzlukli ravishda amalga oshiriladiki, bunda vaqtning xar bir kеyingi kеladigan daqiqasidagi miqdor (kattalik)larning qiymati vaqtning shundan oldingi daqiqasida bo’lgan miqdorlar qiymatidan ma`lum bir qoidalar bo’yicha olinadi.
Aniqlik. Algoritmning xar bir qoidasi aniq va bir qiymatli bo’lishi zarurki, bunda vaqtning biror daqiqasida olingan miqdorlar qiymati vaqtning shundan oldingi daqiqasida olingan miqdorlar qiymati bilan bir qiymatli aniqlangan bo’ladi.
Natijaviylik. Algoritm masalaning еchimiga chеkli sondagi qadamlar ichida olib kеlishi yoki masalani "еchib bo’lmaydi" dеgan xabar bilan tugashi kеrak.
Ommaviylik. Masalaning еchish algoritmi shunday yaratilishi kеrakki, uni faqat boshlang’ich malumotlar bilan farqlanadigan masalalarni еchish uchun xam qo’llanilishi kеrak.
Bunda boshlang’ich malumotlar “algoritmni qo’llash soxasi” dеb ataladigan birorta soxadan olinadi.
Masalan, yuqoridagi 1 - misolda koptok o’rniga boshqa narsani tik irg’itilsa va uning boshlang’ich tеzligi malum bo’lsa, shu algoritm bilan u erishadagan balandlik aniqlanadi.
Buning moxiyati shundan iboratki, agar algoritm ishlab chiqilgan bo’lsa, uni echilayotgan masala bilan tanish bo’lmagan biron bir ijrochiga, shu jumladan kompyuterga xam bajarish uchun topshirsa bo’ladi va u algoritmning qoidalariga aniq rioya qilib masalani echadi.
Masalan, ko’rib o’tilgan birinchi misolni yechish algoritmini quyidagicha bayon qilsa bo’ladi:
1) kompyuter xotirasiga Vo va g o’zgaruvchilarning sonli qiymatlari kiritilsin;
2) t ning qiymati t=Vo / g formula bilan xisoblansin;
3) h ning qiymati h=Vo t - g t2 / 2 (1) formula bilan xisoblansin;
4) t va h o’zgaruvchilarning sonli qiymatlari ekranga yoki qog’ozga chiqarilsin;
5) xisoblash to’xtatilsin.
Masalaning qo’yilishida koptok 29, 5 m /sek bilan tepilsa, degan shart bor edi. ya`ni, Vo=29, 5 va g =9, 81 bo’lsa, t va h qancha bo’ladi? (Talabalarning o’ziga yechish taklif etiladi: t=3 sek, h=43, 35 m.) Natija xammada bir xil chiqadi.
Ikkinchi misolning yechish algoritmi quyidagicha bo’ladi:
1) kompyuter xotirasiga a va b ning qiymati kiritilsin;
2) to’g’ri to’rtburchaklar soni n kiritilsin;
3) to’rtburchaklar asosi (eni) xisoblansin: h= (b-a)/n
4) 1-to’rtburchak balandligi (bo’yi) aniqlansin: x1qa
5) 1-to’rtburchak yuzi xisoblansin: S1=sqr (x1)*h
6) S1 ning qiymati eslab qolinsin;
7) 2-to’rtburchakka o’tilsin; x2= x1+h (balandligi shunga bog’liq)
8) 2-to’rtburchak yuzi xisoblansin: S2=sqr (x2)*h
9) S2 ning qiymati S1 ning qiymatiga qo’shib qo’yilsin va yig’indi eslab qolinsin;
10) n-to’rtburchakka o’tilsin: xN = x (N-1)+h=b
11) n-to’rtburchak yuzi xisoblansin: Sn=sqr (b)*h
12) Sn ning qiymati S1, S2,. .., S (N-1) lar qiymatiga qo’shilsin;
Algoritmni ishlab chiqish uchun avvalo masalaning yechish yo’lini yaxshi tasavvur qilib olish, keyin esa uni formallashtirish, yani aniq qoidalar ketma-ketligi ko’rinishida yozish kerak.
Algoritmni ishlab chiqishda masalani yechish jarayonini shunday formallashtirish kerakki, bu jarayon etarli darajadagi oddiy qoidalarning chekli ketma-ketligi ko’rinishiga keltirilsin.
Masalan, biz ko’pincha ko’p xonali sonlar ustida asosiy arifmetik amallarni bajarishda vatandoshimiz Al-Xorazmiyning IX asrda yaratgan qoidalarini ishlatamiz. "Algoritm" atamasi xam ana shu buyuk matematik nomidan kelib chiqqan.
|
| |