Pyhonda chiziqli, tarmoqlanuvchi va takrorlanuvchi jarayonlarni hisoblash lab
1-labaratoriya ishi Mavzu: Pyhonda chiziqli, tarmoqlanuvchi va takrorlanuvchi jarayonlarni hisoblash Reja: 1. Pythonda chiziqli dasturlar 2. Pythonda tarmoqlanuvchi dasturlar 3. Pythonda takrorlanuvchi dasturlar 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 masalalarning 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. 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.Chiziqli dasturlarda hech qanday shart operatorlari qatnashmaydi va sikl jarayonlar bo’lmaydi. 2 son yig’indisi: 1. x = 10 2. y = 5 3. a = x + y 4. print ( a ) Dastur natijasi: number = 43 answer1 = number / 10 answer2 = number % 10 print ( answer1 + answer2 ) Dastur natijasi: number = 325 x1 = number / 100 x2 = number / 10 % 10 x3 = number % 10 answer = x1 + x2 + x3 print ( int ( answer )) Dastur natijasi :
2. Tarmoqlanuvchi jarayonlariga shart operatorlari ya’ni if , elif va else operatorlar kiradi. Tarmoqlanuvchi jarayonniga match , case operatori ham kiradi. a = int ( input ()) b = int ( input ()) if a % 2 == 0 : print ( "a juft son" ) if b % 2 == 0 : print ( "b juft son" ) if b % 2 != 0 and a % 2 != 0 : print ( "a va b ham juft emas" ) Dastur natijasi: a = int ( input ()) b = int ( input ()) if a % 2 == 0 : print ( "a juft son" ) elif b % 2 == 0 : print ( "b juft son" ) elif b % 2 != 0 and a % 2 != 0 : print ( "a va b ham juft emas" )