PTHYTON MUHITIDA CHIZIQLI, TARMOQLANUVCHI, TAKRORLANUVCHI,MASSIVLAR,FUNKSIYALAR VA GRAFIKAGA OID DASTUR TUZISH
PTHYTON MUHITIDA CHIZIQLI, TARMOQLANUVCHI, TAKRORLANUVCHI,MASSIVLAR,FUNKSIYALAR VA GRAFIKAGA OID DASTUR TUZISH REJA: Reja
KIRISH: . Python dasturlash tili uzoq tarixga bormasada, lekin uning rivojlanishi hozirgi vaqtda eng istiqbolli sohalardan hisoblanadi. Python dasturlash tili o‘tgan asrning 80-yillari oxirlarida ishlab chiqila boshlandi. Gido Van Rossum Python dasturlash tilini 1980- yillarda yaratgan va u til 9 yildan so‘ng, ya’ni 1989 yil dekabrda Gollandiyadagi matematika va informatika laboratoriya markazida ishlab chiqilgan. Python istisno holatlarini ko‘rib chiqishga va Amoeba operatsion tizimiga ta’sir ko‘rsatishga qodir bo‘lgan ABC dasturlash tilining avlodi hisoblanadi. Van Rossum Pythonning asosiy muallifidir va u 2018 yilgacha tilni rivojlantirish bo‘yicha bir qancha ishlar olib borgan. Python dasturlash tili boshqa dasturlash tillaridan farqli ravishda, mukammal darajada ishlab chiqilgan. Python dasturlash tili, boshqa dasturiy vositalarni boshqarish va ularning tarkibiy qismlarini mustaqil boshqarishni amalga oshiradi. Aslida, Python ko‘p maqsadli dasturlash tili sifatida o‘rganilishi mumkin, bu dasturlash tili yordamida bir qancha jarayonlarni dasturlash imkoni yaratiladi. Python dasturlash tilida, bir vaqtning o‘zida, boshqa dasturlash tillaridan farqli ravishda, bir nechta turdagi dasturlar yaratish inkoniyati mavjud, ya’ni: - amaliy dasturiy maxsulotlar; - web ilovali dasturiy maxsulotlar; - ilmiy dasturiy maxsulotlar yaratish imkonini beradi. Python tarkibida xotiradan foydalanish va ishlash talablari bo‘yicha cheklovlar mavjud emas, ya’ni imkoniyatlar shu qadar kattaki, boshqa dasturlash tillari kabi ma’lumotlarni e’lon qilish tabaqasi mavjud emas. Bunday imkoniyatlar, albatta, dastur yaratuvchilar ish faoliyati samaradorligini keskin ortishiga xizmat qiladi. Python tilida dasturlash asoslari Axborot texnologiyalarini rivojlanishining asosiy bo‘g‘ini bu algoritmlash jarayonidir. Biror bir masala yoki muommoni elektron hisoblash mashinasida hisoblash uchun, albatta, berilgan masalani matematik modeli, algoritmi va biror bir algoritmlash tili asosida dasturini yaratish kerak bo‘ladi. Muommo yoki masalani matematik modelini tuzish deganda berilgan masalani matematik tushunchalar bilan ifodalanishiga aytiladi. Muommo yoki masalani yechish qadamlari albatta algoritm bilan bog‘liqdir. Algoritm
so‘zi va tushunchasi IX asrda yashab ijod etgan buyuk vatandoshimiz alloma Muhammad al-Xorazmiy nomi bilan uzviy bog‘liq. Algoritm so‘zi Al-Xorazmiy nomini Yevropa olimlari tomonidan o‘zgacha talaffuz qilinishidan yuzaga kelgan. Al-Xorazmiy birinchi bo‘lib o‘nlik sanoq sistemasining tamoyillarini va undagi to‘rtta amallarni bajarish qoidalarini asoslab bergan. Masala yoki muommoni hal etish uchun yuqorida keltirib o‘tilgandek, uni algoritmini tuzish kerak bo‘ladi. Ta’rif: Algoritm- bu biror bir masala yoki muommoni hal etish uchun kerak bo‘lgan chekli sondagi buyruqlar ketma- ketligi. Masala algoritmini tuzish tartibini quyidagi masala orqali ko‘rib chiqamiz. Misol. a,b,c uchburchakning yuzasini hisoblash algoritmi tuzilsin 1. a,b,c kesmalar kiritilsin; 9 2. Berilgan kesmalar yordamida P=(a+b+c)/2 hisoblansin; 3. S p( p a)( p b) ( p c) hisoblansin. Demak, masalani yechish ketmaketligini algoritm sifatida qarash mumkin. Algoritmning tasvirlash usullari Masala algoritmini tuzish vaqtida, bu masala qanday sohaga tegishliligiga qarab algoritm bir necha xil ko‘rinishda tasvirlanishi mumkin. Algoritmlarni bir nechta tasvirlash usullari mavjud. Iqtisodiy masalalar algoritmi jadvallar ko‘rinishida, matematik masalalar formula yoki grafik usullarda va sanoatda esa so‘zlar yordamida tasvirlanish mumkin. 1.Algoritmning so‘zlar orqali ifodalanishi. Bu usulda ijrochi uchun beriladigan har bir ko‘rsatma, jumlalar, so‘zlar orqali buyruq shaklida beriladi. Misol. To‘g‘ri to‘rtburchakning yuzasi va peremetrini hisoblash algoritmi tuzilsin. 1. boshlanish 2. a,b lar kiritilsin; 3. S=ab va P=2(a+b) hisoblansin; 4. S va P chiqarilsin; 5. Tamom. 2.Algoritmlarning grafik shaklida tasvirlanishida algoritmlar maxsus geometrik figuralar yordamida tasvirlanadi va bu grafik ko‘rinishi blok-sxema deyiladi. Algoritmning blok-sxema ko‘rinishida tasvirlanishi beriladigan buyruqlar qandaydir shakllar orqali ifodalanadi. 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; 10 – 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 ketmaketligining eng qulay holatini aniqlash va shu bilan foydalanuvchi 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 yonli uchburchakning tomonlari berilganda uning yuzi va perimetrini topish algoritm blok-sxemasini yozing Algoritmning xossalari Masala yoki mummoni hal etish jarayoni uchun keltirilgan algoritmlar ma’lum bir xususiyatlarga bo‘ysinish kerak. Bu xususiyatlarni 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. 12 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 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. Tuzilayotgan algoritmlar doimo bir xil yo‘nalishlarda bo‘lmaydi. Masala