Urganch Davlat Universiteti Fizika-matematika fakulteti 192-gurux ATMDT Yo’nalishi talabasi Raximberdiyev Bunyod Axborot tizimlarini loyihalshtirish fanidan tayyorlagan KURS ISHI Mavzu: Budilnik dasturini yaratish Topshirdi: Raximberdiyev Bunyod Qabul qildi: Xujamov Doniyor Baholash: ____________________ Urganch-2021 MUNDARIJA I.Kirish............................................................................................................... 3 II.Asosiy qism ................................................................................................... 4 2.1. Budilnik dasturi haqida umumiy ma`lumot ................................................. 2.2. PyCharm community edition 2020.3 dasturlash muhiti haqida................. 8 2.3. Masalaning qo`yilishi va loyihasi .............................................................. 9 Xulosa.............................................................................................................. 13 Foydalanilgan adabiyotlar ............................................................................... 14 Kirish Ilmiy texnika rivojining diqqatga sazovor xususiyatlaridan biri - hisoblash texnikasining inson faoliyatining barcha sohalariga keng miqyosida tatbiq qilinishidir. Xalq xo’jaligining rivoji o’z navbatida yuqori unumli elektron hisoblash mashinalarini (EHM), raqamli-programmali boshqariladigan stanoklar va qurilmalar, sanoat robotlari va ishlab chiqarish modullarini ishlab chiqarishni ko’paytirish va keng miqyosda tatbiq etishni talab etadi. Avtomatlashtirishning asosiy quroli bo’lib, o’zining algoritmik va programma ta’minotiga ega bo’lgan kompyuterlar xizmat qiladi. Dvigatel va robotlarning kashf qilinishi jismoniy mehnatni avtomatlashtirish asrini ochgan bo’lsa, kompyuter va sun’iy intellekt vositalarning paydo bo’lishi inson aqliy faoliyatida xuddi shunday yangi davrni boshlab berdi. Aхborot teхnologiyalari jahonda jadal sur'atlar bilan rivojlanib, takomillashib borayotgan sohadir. Bu sohaning rivoji uchun bizning buyuk ajdodlarimizning ilmiy kashfiyotlari asos bo’lib хizmat qilmoqda. Bu haqda Prezidentimiz I.A.Karimov o’zining "Yuksak ma'naviyat - yengilmas kuch" asarida quyidagi fikrlarni keltirib o’tadi: "Shu nuqtai nazardan qaraganda, zaminimizda yashab o’tgan buyuk allomalarimiz, mutafakkir bobolarimizning ibratli hayoti va faoliyati, bemisl ilmiy-ijodiy kashfiyotlari bugun ham jahon ahlini hayratga solayotganini g’urur bilan ta'kidlash lozim‖. Xususiy kompyuterlarning paydo bo’lishi informatikani tatbiq etish va "kompyuter bo’yicha savodsizlik"ni tugatishni tezlatishga asosiy turtki bo’ldi. Hozirgi zamon kompyuterlariga bo’lgan qiziqish shuning uchun ham oshdiki, ular masalani yechishda mehnat unumdorligini keskin oshirdi. Bu integral sxemalar yangi kompyuterlarda qo’llanishini hisobga olsak, kompyuterlarning mukammallashib borishi juda tez yuz berishi va yaqin orada juda ham mukammal kompyuterlar yaratilishi kutilishiga umid qilishimiz mumkin. Qadimgi Xitoyda qatron va talaş aralashmasidan tayyorlangan tugallangan tayoqchalar signal soati sifatida ishlatilgan bo'lib, unga og'irlik ip bilan bog'langan. Tayoqni yoqib yuborishdi va u teriga qadar yoqilganda, og'irlik metall tayanchga tushdi. [818 kun ko'rsatilmagan manba] Qadimgi Yunonistonda shunga o'xshash qurilmalar suv soatlariga tatbiq etilgan. [Manba aniqlanmagan 818 kun] Sanoat inqilobi davrida haqiqiy odamlar budilnik sifatida ishladilar - bu kasb "nokker-up" deb nomlangan. [Manba 818 kun ko'rsatilmagan] Mexanik budilnik 1787 yilda amerikalik Levi Xattins [1] tomonidan qurilgan. Qurilma faqat soat 4:00 da jiringladi. Istalgan vaqtda o'rnatilishi mumkin bo'lgan budilnik 1847 yilda frantsuz Antuan Redier tomonidan patentlangan. Analog sozlamali budilnik radiosi Westclox [ru] [2] Big Ben uyg'otuvchi soatini 1908 yilda taklif qilgan [3]. Unda soatning butun tanasi qo'ng'iroq rolini o'ynagan, shuning uchun budilnikning ovozi juda baland bo'lgan. Qo'shma Shtatlarda Ikkinchi Jahon urushi paytida budilnik soatlari juda kamchiligida bo'lgan va ishchilar ko'pincha kechikishgan [manba aniqlanmagan 818 kun]. Shu sababli, AQSh narxlarni tartibga solish idorasi 1944 yilda, istisno tariqasida, soat ishlab chiqaruvchi kompaniyalarga fuqarolik mahsulotlariga qaytishga ruxsat berdi [manbasi aniqlanmagan 818 kun]. Insonni ishonchli tarzda uyg'otadigan qurilmalar ishlab chiqarishda davom etmoqda. Ular ikkita muammoni hal qilishga urinmoqdalar: uxlab yotgan odamni qanday munosabatda bo'lish (uyqusiragan odam qo'ng'iroqni e'tiborsiz qoldirishga moyil) va signalni o'chirib, egasining yana yotishiga yo'l qo'ymaslik. Turli xil o'yinlardan foydalaniladi (budilnikni devorga uloqtiring, ishlaydigan budilnikni ushlang, jumboqni eching va hk). Ushbu qurilmalardan biri 2005 yilda Shnobel mukofotiga sazovor bo'ldi. Eng yangi ixtirolardan biri - budilnik uxlab yotgan odamning uyqu fazasini belgilaydi va odamni ma'lum bir daqiqada uyg'otadi Asosiy qism 1.1. Budilnik dasturi haqida umumiy ma’lumot Ushbu kurs ishi Budilnik dasturini yaratishga qaratilgan bo`lib, bu dasturning vazifasi vaqtni belgilash yoki biror narsani eslatishni amalga oshirish hisoblanadi. Ushbu dasturiy vositani ishlab chiqishda o’ziga hos talablar mavjud. Bu talablar quyida sanab o’tiladi. Dasturiy vositani ishlab chiqish uchun masalaning qo’yilishi haqida yoritib beramiz. Dastur kompleksi quyidagi vazifalarni bajarishi talab etiladi. Eslatmalarni amalga oshirish; Vaqtni soat bo’yicha to’g’rilash Vaqtni sekund, minut, soatlarda belgilash; Budilnik qadim zamonlardan beri keng foydalanib kelinayotgan dastur hisoblanadi. Budilnik dasturini bir necha xil vazifada ishlatish mumkin: 1.Uyg’otgich 2.Eslatma Biz asosan bundan uyg’otgich sifatida foydalanamiz. Qadim zamonlarda ham vaqtni belgilash uchun qum soatlardan foydalanishgan. Bu qum soatlari turli xil bo’lgan. Masalan, bir daqiqalik, ikki daqiqalik, bir soatlik va shunga o’xshagan turlari bo’lgan. U paytlarda hozirgidek budilniklar bo’lmaganligi tufayli shunga o’xshash soatlardan foydalanishganlar. Ilm-fan, texnika rivojlangani sayin zamonaviy soatlar ishlab chiqarila boshladi. Bu zamonaviy soatlarning deyarli hammasida budilnik mavjud. Chunki hozirgi ishlab chiqarilayotgan soatlarning budilniklari foydalanishga judayam qulay va oson hisoblanadi. Shuning uchun ham bunaqangi soatlarga hozirda talab tobora oshib bormoqda. Budilnik qadimgi Xitoyda quyosh va linza va sekin yonuvchan tayoqchadan foydalanib qo’llanilgan. Qadimgi Yunonistonda qurilmaga o’xshash suv soatlardan foydalanilgan.Mexanik soatlar sanoat inqilobi davrida 1787-yilda Amerikalik Levi Xatchins tomonidan qurilgan mexanizm faqat soat 4:00 da jiringlar edi.1847-yili esa Fransiyalik olim Antonie Radek tomonidan yaratilgan qurilma har qanday vaqtda ham jiringlar edi va u budilnik loyihasi uchun patent oldi.1908-yilda esa bu qurilmadan Londondagi Big Ben soatida qo’llash taklifi bilan chiqdilar. Bundan keyin esa elektron budilniklar ixtiro qilana boshlandi bu esa mexanik soatlarni butkul sindirish arafasida edi. Elektron budilniklarning afzal jihatlari mexanik soatlargidek 12 soatdan jiringlamay 24 soat ichida xohlagan soatda minut sekundigacha to’g’rilash mumkin edi. Bu esa insonlarda qulaylik tug’dirdi. Qiziqarli ma’lumot: Sensorwake dasturchilari uyqudan uyg’otishning noodatiy yo’lini taklif qildi. Ularning taklifiga ko’ra, endilikda ertalablari uyg’onish uchun qattiq tovush talab etilmaydi. Yangi budilnik okeanlar, jungli o’rmonlari, kofe, shokolad, yalpiz yoki hatto dollarning o’tkir hidini taratish orqali uyg’otadi. Budilnikdagi kukunlar hidi hech qanday kimyoviy reaksiyaga olib kelmaydi. Agar hid 3 daqiqa ichida uyg’ota olmasa, budilnik ovoz chiqara boshlaydi. Bunday budilnik kartrij orqali ishlaydi. Leonardo da Vinchi ixtiro qilgan budilnik uxlayotgan odamning oyoqlarini qitiqlab uyg’otgan ekan. 1.2. PyCharm community edition 2020.3 PyCharm community edition 2020.3 dasturida dasturlash o`ziga yarasha qulayliklarni yaratadi. Shuning uchun biz shu muhitda dasturlash tilini PyCharm community da dasturlashni amalga oshiramiz. Siz esa o`zingizga yoqqan muxitda, dasturlash tilida va albatta o`qituvchining talablarini inobatga olgan holda ishlashingiz mumkin. Misol uchun Turbo paskal, turbo C++, Borland Delphi 7, boorlend Delfy 2009 va boshqa dasturlash muhitida ishlashingiz mumkin. PyCharm community edition 2020.3 dasturini ishga tushiramiz va PyCharm community edition 2020.3 dasturining asosiy oynasi va bosh sahifa ochiladi PyCharm community edition 2020.3 dasturida ko`p dasturlash tillari yordamida dasturlash mumkin. Dasturlashni boshlashdan oldin yangi proyekt yoki yaratilgan proyektni ochib dasturlashimiz mumkin. Biz bu misolda yangi proyekt yaratib dasturlashni boshlaymiz. 1.3.Masalaning qo’yilishi va loyihasi Ushbu budilnik dasturini yaratishda PyCharm community edition 2020.3 dasturidan foydalangan holda yaratildi. Bu turdagi dasturlash tillarida tuzilgan dasturlar ishlashi uchun avvalo Microsoft companiyasing. Soatlarning budilniklarni ishlatish uchun uning buragichini burash orqali ma’lum bir vaqtni belgilaymiz. Biz yaratgan budilnik dasturi esa kompyuter uchun mo’ljallangan. Bu budilnik dasturni ishga tushirish uchun kompyuteringizda yuqorida aytib o’tilgan PyCharm community edition 2020.3 dasturi kerak bo`ladi kerak bo’ladi. Bu budilnik dasturini ishlab chiqishdan maqsad turli xil sohalarda qulayliklar yaratish uchun ishlab chiqildi. Budilnik dasturi quyidagi vazifalarni bajarishi lozim: 1. Eslatmalarni amalga oshirish 2. Uyqudan uyg’otish 3. Vaqtni belgilash va h.k.z Eslatmalarni amalga oshirishda esingizdan chiqishi mumkin bo’lgan barcha ma’lumotlarni yozib qo’yishingiz mumkin. Bunda o’sha budilnik dasturini ochganimizda dastur oynasi hosil bo’ladi va bu oynaning pastki qismida yozish uchun mo’ljallangan bo’shliq paydo bo’ladi. Siz esa o’sha ajratilgan joyga xohlagan narsani yozib qo’yishingiz mumkin. Uyqudan uyg’otishda ham xuddi shu kabi usullarni qo’llashingiz mumkin. Bunda ertalab o’qish yoki ishga borish uchun vaqtni belgilab qo’yishingiz mumkin. Bu vaqtni belgilashda ham xuddi shu kabi oyna hosil bo’ladi va o’sha oynada ko’rsatilgan soat, minut, sekundlari o’zingizga kerakli bo’lgan vaqtni belgilash imkonini beradi. Bunda ham eslatmalar yozishingiz mumkin. Masalan ertalab uyqudan uyg’onganingizdan keyin ish yoki o’qishingizga olib ketishingiz kerak bo’lgan narsalarni yozib qo’yish mumkin. Loyihani sozlash Kerakli modullarni / kutubxonalarni o'rnating Yaxshi, shuning uchun birinchi navbatda birinchi narsa! Ushbu loyihada biz boshqa ishlab chiquvchilar tomonidan taqdim etilgan tashqi modullardan foydalanamiz. Ushbu modullar ko'p vaqt va kuch sarflashimizga yordam beradi. Biz boshlashimiz kerak bo'lgan yagona narsa - ularni loyihamizga import qilish. Modullarni import qilish juda oddiy. Siz qilishingiz kerak bo'lgan yagona narsa bu terminaldan oddiy pip o'rnatish buyrug'ini ishga tushirish va bizning belgilangan modulimiz tizimimizga yuklab olinadi. Bizga loyihamiz uchun 2 xil modul kerak - datetime & playound. Pip install buyrug'ini ishga tushiramiz va ushbu ikkala modulni yuklab olamiz. pip o'rnatish datetime pip install datetime datetime - biz ushbu moduldan foydalanish mumkin bo'lmagan vaqtni olish uchun ushbu moduldan foydalanamiz. pip o'rnatish oynasini o'rnatish pip install playsound playound - biz ushbu moduldan budilnik chalinishi bilan signal ohangini ijro etish uchun foydalanamiz. Signal qo'ng'irog'ini yuklab oling Biz deyarli u erdamiz! Loyihamizni boshlashdan oldin so'nggi bir narsa, biz qo'ng'iroq signalini o'chirganda qo'ng'iroq ohangini yuklab olishimiz kerak. Budilnikni shu yerdan yuklab olishingiz mumkin. Ushbu loyiha uchun nafaqat signal ohanglari, balki sizga yoqadigan har qanday musiqadan foydalanishingiz mumkin. Siz qilishingiz kerak bo'lgan narsa - audiofaylning kengaytmasi .wav ekanligiga ishonch hosil qilish. Ishonch hosil qilish uchun yana bir narsa - audio faylni kodingiz bilan bir xil papkada saqlashga harakat qiling. from datetime import datetime from playsound import playsound Ikkala modulimiz ham hozir foydalanishga tayyor. from tkinter import * import datetime from tkinter.messagebox import * from tkinter.ttk import * import winsound obj=Tk() obj=Tk() obj.geometry("500x200") def alarm(): if c1.get() == "AM": x=int(e1.get()) y=int(e2.get()) if c1.get() == "PM": x=int(e1.get())+12 y=int(e2.get()) showinfo("notification","alarm has been set") while True: if x == datetime.datetime.now().hour and y == datetime.datetime.now().minute: for i in range(0,50): winsound.Beep(10000,100) break l1=Label(obj,text='HOURS:') l2=Label(obj,text="MINUTES:") l1.grid(row=0,column=0) l2.grid(row=1,column=0) e1=Entry(obj) e2=Entry(obj) e1.grid(row=0,column=1) e2.grid(row=1,column=1) b1=Button(obj,text="SET ALARM",command=alarm) b1.grid(row=2,column=1) c1=Combobox(obj,values=["AM","PM"]) c1.grid(row=0,column=2) l3=Label(obj,text="AM or PM") l3.grid(row=0,column=3) obj.mainloop() XULOSA Ushbu kurs ishini ishlab chiqish natijasida budilnik dasturi haqida va uning ishlash prinsplari dasturiy vositasi ishlab chiqildi. Bu budilnik dasturi turli xil sohalarda qo’llanilishi mumkin. Budilnik dasturini yaratish uchun ― PyCharm community edition 2020.3 ‖ dasturidan foydalanildi. Hozirgi kunga kelib budilnikning turli xillari ishlab chiqarilmoqda. Bular: ovozli budilniklar, hid bilan uyg’otuvchi budilniklar va boshqa ko’plab turlari mavjud. Budilnikdan yosh-u qari birdek foydalanadi. Budilnik dasturi deyarli barcha tizimlarda mavjud. Masalan uy soatlari, qo’l soatlari, uy telefonlari, mobil telefonlar, kompyuterlar , televizorlar va boshqa ko’plab qurilmalarda uchratish mumkin. Biz bu budilnik dasturidan uyg’otgich sifatida deyarli har kuni foydalanamiz. Budilnik dasturi ko’proq yoshi kattalarga qulay hisoblanadi. Chunki yosh o’tgan sayin inson xotirasi susayib boradi va budilnik dasturiga talab yanada kuchayadi. Budilnik dasturi esa barcha esingizdan chiqadigan barcha narsalarni eslatib turadi. Bu dasturni ishga tushirish juda oddiy va qulay hisoblanadi. Bu budilnik dasturini ishlab chiqishdan maqsad turli xil sohalarda qulayliklar yaratish uchun ishlab chiqildi. Budilnik dasturi quyidagi vazifalarni bajarishi lozim: 1. Eslatmalarni amalga oshirish 2. Uyqudan uyg’otish 3. Vaqtni belgilash va h.k.z Eslatmalarni amalga oshirishda esingizdan chiqishi mumkin bo’lgan barcha ma’lumotlarni yozib qo’ysangiz bo’ladi. Ertalab o’qish yoki ishga borish uchun vaqtni belgilab qo’yishingiz mumkin. Bunda ham eslatmalar yozishingiz mumkin. Masalan ertalab uyqudan uyg’onganingizdan keyin ish yoki o’qishingizga olib ketishingiz kerak bo’lgan narsalarni yozib qo’yish mumkin. FOYDALANILGAN ADABIYOTLAR 1. Karimov I.A. Yuksak ma'naviyat-engilmas kuch.-T.: "Ma'naviyat", 2008 y. 2. Г.Р.Громов Основы информацион технология . 3. Алимов К. Создание новых информационных компьютерных технологий и систем. 1993. 4. О.Ефимов, В.Морозов, Н.Угрипович. «Курс компьютерной технологии с основами информатики», М., 1999 г. 5. www.google.com 6. www.w3school.com