Foydalanilgan adabiyotlar.
1. Abduqodirov A.A. EXM – Algoritm-Dastur, T, 1991 y.
2. Sattorov A, Kurmanbaev B, Informatika va xisoblash texnikasi.T.1996y.
3. Frolov G.D, Kuznetsov E.N. Elementi Informatiki, M. 1989g.
4.Xolmatov T.X.,Taylakov N.I.,Nazarov U.A. Informatika va xisoblash texnikasi.T.2001y.
O’ZBEKISTON RESPUBLIKASI
XALQ TA’LIM VAZIRLIGI
Samarqand davlat universiteti
“Raqamli texnalogiyalar” fakulteti
Amaliy matematika yo’nalishi talabasi
Qodirov Islomning
Programmalash asoslari fanidan bajargan
Mustaqil ta'lim mashg`loti
Bajardi: Qodirov Islom
Tekshirdi: Nurmamatov Mehriddin
Samarqand - 2021
MAVZU: Algoritmlarni grafik tasvirlash usullari . Algoritmlarni to’l tuzish bosqichlarini o’rganish.
Inson butun hayoti davomida algoritmlar ichida yashaydi, lekin buni odatda sezmaydi. U dunyoga kelishidan tortib, to dunyodan keti-shigacha bo‘lgan faoliyati davomida o‘z oldiga doim qandaydir ma-salalar qo‘yadi va ularni yechish yo‘l-yo‘riqlarini qidiradi. Natijada ma’lum bir qonun-qoidalami o‘ylab topadi, belgilangan tartibda ulami bajarib, ko‘zlagan natijaga erishadi. Agar shu qonun-qoidalami ixtiyoriy odam ko‘rsatilgan tartibda bajarishga muvaffaq bo‘Isa, u ham ana shu natijalarga erishishi, tartibni buzganda esa olgan natijalari uni qanoatlantirmasligi mumkin. Qo‘yilgan masalani yechish uchun o‘ylab topilgan qonun-qoida yoki amallar ketma-ketligi shu masalaning algoritmini tashkil qiladi.Ko‘zlangan maqsadga erishish yo‘lida belgilangan amallar ketma-ketligini bajarayotgan inson yoki texnik vositani ijrochi deb ataymiz.Ta’rif. Algoritm deb, qo‘yilgan masalani to‘la hal uchun ijrochining bajarishi lozim bo‘lgan amallar ketma-ketligining qat’iy tartibiga aytiladi.
Algoritm va dastur tushunchalari:
Algoritm so‘zi buyuk matematik Al-Xorazmiyning nomi bilan bog‘liq bo‘lib, u birinchi bo‘lib arab raqamlaridan foydalangan holda arifmetik amallarni bajarish qoidasini bayon etdi.
Har qanday qo‘yilgan masalani kompyuterda echish uchun oldin uning echish usulini tanlab, keyin uning algoritmini ishlab chiqish kerak bo‘ladi. Demak, hech bir masala yo‘qki uning echilish yo‘llarini bilmasdan va algoritmini tasavvur qilmasdan turib uni kompyuterda echib bo‘lmaydi.
Algoritm va uning xossalari
Elektron hisoblash mashinalarining vujudga kelishiga qadar algoritmga har xil ta’rif berib kelindi. Lekin ularning barchasi ma’no jihatdan bir-biriga juda yaqin bo‘lib, bu ta’rif hozirgi kunda quyidagicha talqin qilinadi.
Ta’rif. Algoritm deb, qo‘yilgan masalani echish uchun ma’lum qoidaga binoan bajariladigan amallarning chekli qadamlar ketma-ketligiga aytiladi.
Har qanday algoritm ma’lum ko‘rsatmalarga binoan bajariladi va bu ko‘rsatmalarga buyruq deyiladi.
Algoritm quyidagi muhim xossalarga ega:
Aniqlik va tushunarlilik - deganda algoritmda ijrochiga berilayotgan ko‘rsatmalar aniq mazmunda bo‘lishi tushuniladi.
Ommaviylik - deganda har bir algoritm mazmuniga ko‘ra bir turdagi masalalarni barchasi uchun ham o‘rinli bo‘lishi tushuniladi.
Natijaviylik - deganda algoritmda chekli qadamlardan so‘ng albatta natija bo‘lishi tushuniladi.
Diskretlik - deganda algoritmlarni chekli qadamlardan tashkil qilib bo‘laklash imkoniyati tushuniladi.
Algoritm turlari
Algoritmning uchta turi bor: chiziqli, tarmoqlanuvchi va takrorlanuvchi.
CHiziqli algoritm - deb hech qanday shartsiz faqat ketma-ket bajariladigan jarayonlarga aytiladi.
Tarmoqlanuvchi algoritm - deb ma’lum shartlarga muvofiq bajariladigan ko‘rsatmalardan tuzilgan algoritmga aytiladi.
Takrorlanuvchi algoritm - deb biron bir shart tekshirilishi yoki biron parametrning har xil qiymatlari asosida algoritmda takrorlanish yuz beradigan jarayonlarga aytiladi.
Algoritmlarni turli usullarda tasvirlash mumkin. Masalan:
So‘z bilan ifodalash; formulalarda berish; blok-sxemalarda tasvirlash; dastur shaklida ifodalash va boshqalar.
Algoritmlarni blok-sxema ko‘rinishda tasvirlash qulay va tushunarli bo‘lgani uchun ko‘p ishlatiladi. Bunda algoritmdagi har bir ko‘rsatma o‘z shakliga ega. Masalan: parallelogramm ko‘rinishdagi belgi ma’lumotlarni kiritish va chiqarish; to‘g‘ri to‘rtburchak belgisi hisoblash jarayonini; romb belgisi shartlarning tekshirilishini bildiradi.
Hayotimizda algoritmlarni turli sohalarda ba’zan bilgan holda ba’zan esa bilmagan holda ishlatamiz. Algoritmlar faqat matematik xarakterga ega bo‘lmasdan ularni oddiy hayotiy turmushimizda ham ko‘p qo‘llaymiz. Masalan, ovqat tayyorlash, choy damlash, biror berilgan ishni bajarish va boshqa. Bu ishlarni bajarishda ma’lum bo‘lgan aniq ko‘rsatmalarni ketma ket bajaramiz. Agar bu ko‘rsatmalar aniq bir ketma ketlik tartibida bajarilmasa kerakli natijani olaolmaymiz. Misol tariqasida matematik xarakterga ega bo‘lmagan butelbrod tayyorlash algoritmini ko‘rib chiqaylik. Bunda boshlang‘ich berilganlar: non, kolbasa va pishloq. Natija: butelbrod. Buterbrod tayyorlash algoritmi:
1. non bo‘lagini kesib olish;
2. kolbasa va pishloq bo‘lagini kesib olish;
3. kolbasa va pishloq bo‘lagini non bo‘lagi orasiga qo‘yish.
Agar bu jarayonning ketma ketlik o‘rinlari almashsa yoki biror bir bosqich amalga oshirilmasa natija bo‘lmaydi.
Algoritmik tillar
Masalani echish algoritmi ishlab chiqilgandan so‘ng dastur tuziladi. Dastur - bu berilgan algoritmga asoslangan biror bir algoritmik tilda yozilgan ko‘rsatmalar, ya’ni buyruqlar yoki operatorlar to‘plamidir. Dasturlash - esa bu dastur tuzish jarayoni bo‘lib, u quyidagi bosqichlardan iboratdir:
1.dasturga bo‘lgan talablar;
2.qo‘yilgan masala algoritmini tanlash yoki ishlab chiqish;
3.dastur kodlarini (matnlari, buyruqlarni) yozish;
4.dasturni to‘g‘rilash va test o‘tkazish.
Hozirgi kunda juda ko‘plab algoritmik tillar mavjud. Ularga dasturlash tillari deb ataymiz. Algoritmik til - algoritmlarni bir xil va aniq yozish uchun ishlatiladigan belgilashlar va qoidalar tizimidir. Algoritmik til oddiy tilga yaqin bo‘lib u matematik belgilarni o‘z ichiga oladi. Tuzilgan algoritmlarni to‘g‘ridan-to‘g‘ri mashinaga berib bo‘lmaydi, shu sababli yozilgan algoritmni biror bir algoritmik tilga o‘tkazish zarur. Har qanday algoritmik til o‘z qo‘llanilish sohasiga ega. Masalan, muxandislik hisob ishlarini bajarishda Paskal, Beysik va Fortran. Iqtisod masalalarini echishda Paskal va Kobol. Mantiqiy dasturlash uchun Prolog va boshqalar. O‘quv jarayonlari uchun Beysik, Paskal va boshqalar.
Paskal, Fortran va Kobol tillari universal tillardan hisoblanadi. Assembler tili mashina tiliga ancha yaqin til bo‘lib o‘rta darajadagi tildir. Algoritmik til inson tillariga qancha yaqin bo‘lsa, u tilga yuqori darajali til deyiladi. Mashina tili esa eng pastki darajali tildir.
Masalalarni echish bosqichlari
Kompyuterda masalani echish bosqichlari quyidagilar:
1.Masalani qo‘yish va uning matematik modelini ishlab chiqish. Ushbu bosqichda boshlang‘ich malumotlar tarkibi aniqlanadi. Masalani qo‘yish odatda echiladigan masalaning asosiy xususiyatlarini og‘zaki tavsiflash bilan tugallanadi va so‘ngra, masala matematik modeli yoziladi.
2.Echish usulini tanlash. Masala matematik ifodalanib bo‘lgandan so‘ng uni echish usuli tanlanadi. Bunda izlanayotgan natijalarning boshlang‘ich ma’lumotlarga bog‘liqligini aniqlaydi. Hozirgi zamon hisoblash matematikasi fan va texnikaga oid turli masalalarni echish uchun ko‘plab sonli usullarga ega.
3.Masalani echish algoritmini ishlab chiqish. Bu bosqichda kompьyuterda masalani echish uchun bajariladigan amallar (buyruqlar) ketma-ketligi tavsiflanadi. Biz buni algoritmlash deb ataymiz.
4.Dasturlash. Bunda algoritm biror algoritmik tilga ko‘chiriladi.
5.Dasturni kiritish va xatolarini tuzatish.
6.Masalani bevosita kompьyuterda echish va natijalarni tahlil qilish. Bunda dasturda kerakli boshlang‘ich qiymatlar berilib kompьyuterda natija olinadi va tahlil qilinadi. Bu bosqichda agar kerak bo‘lsa algoritm va dastur modernizatsiya qilinishi ham mumkin. YAngi olingan ma’lumotlar asosida kerakli xulosalar ishlab chiqiladi. Bu ma’lumotlar qo‘yilgan masalani turlicha tahlil qilishga, murakkab jarayonlarni tushunishga, olamshumul yangiliklarning ochilishiga, yangi nazariyalarning, texnika mo‘‘jizalarining yaratilishiga xizmat qiladi. Umuman olganda «Model-algoritm-dastur» uchligi modellashtirishning intelektual mag‘zini tashkil etadi, bunday uchliksiz kompyuterda murakkab masalalarni echishda muvaffaqiyatga erishib bo‘lmaydi.
1-misol.Ko‘chani xavfsiz kesib o‘tish qoidasi.
Yo‘lning chetiga kelib to‘xtang.
Yo‘lning chap tomoniga qarang.
Agar chap tomonda transport vositalari yaqin kelib qolgan bo‘lsa, o‘tib ketguncha kuting.
Chap tomoningizda transport vositalari qolmagan bo‘lsa,yo‘lning o‘rtasiga o‘tib to‘xtang.
Yo‘lning o‘ng tomoniga qarang.
Agar o ‘ng tomonda transport vositalari yaqin kelib qolgan bo‘lsa, o‘tib ketguncha kuting.
O’ng tomoningizda transport vositalari qolmagan bo‘lsa, yo‘lning qolgan qismini kesib o‘ting.
Ushbu misolda yo‘lni kesib o ‘tayotgan yo‘lovchi ijrochi hisoblanadi.
Shuningdek, ixtiyoriy dorilami ishlab chiqish yo‘llari, ovqatlami
tayyorlash usullari, shifokor belgilagan dorilami iste’mol qilish, ban-
komatdan pul olish qonun-qoidalari kabi amallami algoritm sifatida
qabul qilish mumkin. Algoritmlarga turli fan sohalaridagi masalalami
yechish yo‘llari ham kiradi.
Algoritmlarni qurishda quyidagi shartlarga rioya etish zarur:
Boshlanishi va tugashi ko‘rsatiladi.Har qanday amal buyruq tarzida ifodalanadi.Har bir amal ijrochiga tushunarli bo‘lgan ko‘rinishda ifodalanadi.Har bir amalda qatnashayotgan o'zgaruvchilaming qiymatlarioldindan aniqlangan bo‘ladi.Har qanday amal natijasining bir qiymatli bo‘lishi ta’minlanadi.Bajariladigan amallar soni cheklangan bo‘ladi.Yakuniy natijalar ajratib ko‘rsatiladi va ekranga yoki qog'oz-ga bosib chiqarish ta’minlanadi.Qo‘yilgan masalani to‘la hal qilish uchun berilishi mumkinboigan barcha ma’lumotlar hisobga olinadi.Algoritm ommaviy, ya’ni bitta sinfga taalluqli bo‘lgan ko‘plabmasalalami yechishga mo‘ljallanadi.Yuqoridagi shartlarning birortasi buzilsa, qo‘yilgan masalaniyechish uchun qurilgan algoritm toiaqonli b o ia olmaydi, ya’nimasalaning har qanday holatdagi to‘g‘ri yechimini bera olmaydi.Masalan, agar biron-bir amalni bajarishda qatnashayotgan bitta o‘zgaruvchining qiymati oldindan aniqlanmagan (4-shart) bo’lsa, u holdaijrochi amalni ana shu o‘zgaruvchining o ‘miga nol qo‘yib bajaradi. Bu esa har doim ham to‘g‘ri natija beravermaydi
Algoritmlarni ifodalash usullari:Algoritmlami uch xil usulda qurish mumkin.
Algoritmni so‘zlar orqali qurish. Bunda algoritmning harbir buyruq-amali ijrochiga tushunarli bo'lgan so‘zlar orqali ifodalanadi.
1-misol:AB kesmani teng ikkiga bo’lish algoritmi.
Boshlansin.
Sirkulning bir uchi A nuqtaga qo‘yilsin.
Radiusi AB boigan aylana chizilsin.
Sirkulning uchi В nuqtaga qo‘yilsin.
Radiusi BA bo’lgan aylana chizilsin.
Aylanalar kesishish nuqtalari va CD kesma birlashtirilsin.
CD va AB kesmalaming kesishish nuqtasi M belgilansin.
M nuqtani izlangan nuqta deb hisoblansin.
Ish tugatilsin.
Matematik formulalar usuli. Bu usulda algoritmning har biramali matematik formulalar yordamida ifodalanadi. Algoritm amal-larini yozishda oddiy matematik yozuvlardan foydalanish mumkin.
Blok-sxemalar usuli. Bu usulda algoritmning har bir buyrug‘i maxsus geometrik shakllar yordamida ifodalanadi.Blok-sxemalami qurishda foydalanish mumkin bo‘lgan geometrik shakllar ro‘yxati quyidagi jadvalda keltirilgan.
Ko’pincha algoritmlarni tarkibiy sxema – blok shaklida yozish odat tusigakirgan. Har qanday algoritm blok sxema shaklida ifodalagada har doim uningboshlanishini bildiruvchi blok bilan boshlanib algoritmni tugallanganligini bildiruvchi blok ilan yakunlanadi.
Xisoblash va ta’minlash blokida hisoblanishi kerak bo’lgan ifodaning qiymati xisoblanib tenglik belgisini o’ng tomonidagi o’rgatuvchi ta’minlanadi. Algoritmni ifodalashni eng ko’p tarqalgan shakli va matn shakli bu matn shakli ya’ni uni oddiy tilda so’zlar bilan bayon qilish xisoblanadi.
So’zlar yordamida tuzilgan algoritmning ijrochisi inson xisoblanadi. Qisqacha aytilganda ixtiyoriy turdagi masalalarning algoritmlarini so’zlar yordamida tuzish mumkin.
Do'stlaringiz bilan baham: |