• Kirish
  • Foydalanilgan adabiyotlar ro’yhati
  • O’zbekiston Respublikasi Transport Vazirligi Toshkent Davlat Transport Universiteti




    Download 2,7 Mb.
    Sana21.08.2024
    Hajmi2,7 Mb.
    #269768
    Bog'liq
    dasturlash


    O’zbekiston Respublikasi Transport Vazirligi
    Toshkent Davlat Transport Universiteti

    “Transportda axborot tizimlari va texnologiyalari” kafedrasi


    “Dasturlash tili va texnologiyalari” fanidan

    KURS ISHI

    Mavzu: Tanlangan sanalarda yuz bergan muhim voqealar haqida ma’lumot beruvchi dastur ishlab chiqish.


    Bajardi: MIT-1 guruh talabasi


    Saidov Abbos
    Tekshirdi: Abdullayev E.S
    Toshkent - 2024

    TOSHKENT DAVLAT TRANSPORT UNIVERSITETI



    Transportda axborot tizimlari va texnologiyalari” kafedrasi
    “Algoritmlar va ma’lumotlar tuzilmalari” fanidan
    KURS ISHI TOPSHIRIGʻI

    MIT-1 guruh talabasi: Saidov Abbos


    Kurs ishi topshirig’i mavzusi:Graflar uchun qidiruv algoritmlarini ish jarayoni va farqli jihatlarini aniqlash




    Kurs ishini rasmiylashirishda qo’yiladigan talablar:
    Kirish Bu qismda ma’lumotlar tuzilmasi va algoritmlar fanining rivojlanishi, zaruriyligi, dasturlash sohasidagi ahamiyati yoritiladi va 1-2 bet hajmda bo’ladi.
    Asosiy qism Bu qism kurs ishining asosini tashkil etadi. Hamda bu qismda, mavzu doirasidagi umumiy ma’lumotlar, masalani hal etish usullari, algoritm va strukturaviy chizmalari, biron-bir dasturlash tilida dasturiy ta’minot keltiriladi. Ushbu qismning hajmi kurs ishining 85-90% qismnini tashkil etadi.
    Xulosa Bu qismda olingan bilim, ko’nikma va texnologiyalar haqida ma’lumotlar beriladi. Shuningdek, hal etilgan masalaning dasturlashdagi ahamiyati bayon etiladi.
    Foydalanilgan adabiyotlar ro’yhati Bu qismda kurs ishini tayyorlash jarayonida foydalanilgan adabiyotlar keltiriladi va tartib raqamlar bilan raqamlanadi. Hamda foydalanilgan adabiyotlarning tartib raqamlari kurs ishining matni tarkibida ababiyotdan foydalanilgan qismida keltiriladi. Kurs ishi tarkibida barcha ababiyotlarga iqtiboslar keltirilishi talab etiadi, aks holda adabiyotlar foydalanilgan adabiyot sifatida qayd etilmaydi va foydalanilgan adabiyotlar ro’yxatidan olib tashlash talab etiladi.
    Har bir bo'limda muammoning izohi, qisqacha nazariy izohi, dastlabki ma'lumotlar, grafik tasvirlar (agar kerak va mavjud bo'lsa) bo'lishi kerak.. Kurs ishi yakunida kurs ishi topshirig’i kurs ishining 2-varag’i sifatida kurs ishi bilan birga topshiriladi.

    Kurs topshirig’ini tayyorlash shartlari qatorlar oralig‘i — 1 sm; yuqori va pastki hoshiya 2 sm, satr boshi: chap tomondan 3 sm, o‘ng tomondan 2 sm; xatboshi — 1 sm; Microsoft Word matnli redaktorida Times New Roman shriftida 14 o’lchamda yoziladi; Matn ikki tomondan tekislanadi. Barcha rasmlar va jadvallar boblar kesimida nomerlanadi. Rasm va grafiklarni nomerlash rasmning pastki qismida rasm nomeri va nomi bilan 12 o’lchamda izohlanadi. Jadvallar esa jadval yuqori qismida o’ng tomonda jadval nomeri va nomi bilan 12 o’lchamda ko’rsatilishi shart. Barcha jadval va rasmlarga matn qismida iqtiboslar keltirilishi lozim.


    Topshiriq berilgan sana: 6.10.2024


    Topshiriqning topshirilish sanasi: 14-hafta
    Kurs topshirig’i beruvchi: E.S. Abdullayev
    Kafedra mudiri: M.M. Rasulmuxamedov

    Mundarija


    Kirish..................................................................................................................4



    1. Nazariy qism.

    1.1.Python dasturlash tili haqida..............................................................5
    1.2.Python dasturlash muhitini kompyuterga o’rnatish...........................6

    1. Asosiy qism.

    2.1. Berilgan dasturning dizayni va kodi.................................................8
    2.2. Dasturni ishga tushirish..................................................................14

    1. Xulosa.

    2. Foydalanilgan adabiyotlar.





    1. Kirish

    Dasturlash tili - bu belgilar, grammatika va qoidalar to'plami, qaysi biri yordam beradi algoritmlarni kompyuter tomonidan bajariladigan dasturlarga tarjima qila oladi. Dasturchi dasturlash tillari yordamida mashina bilan muloqot qiladi. Ko'pgina dasturlarda mavjud yuqori darajada tuzilgan qoidalar to'plami. Dasturlash tillarining asosiy tasniflari quyidagilardir: Mashina tillari. Assambleya Tillar. Yuqori darajadagi tillar.
    Mashina tili - bu kompyuter o'qiydigan va sharhlaydigan ikkilik raqamlar yoki bitlar to'plami. Mashina tili - bu kompyuter tushunishi mumkin bo'lgan yagona til. Mashina darajasi til dasturlashning mashina tomonini qo'llab-quvvatlaydigan yoki ta'minlamaydigan tildir dasturlashning insoniy tomoni. U (ikkilik) nol va birlardan iborat. Har bir ko'rsatma dastur raqamli kod bilan ifodalanadi va raqamli manzillar butun dasturda ishlatiladi kompyuter xotirasidagi xotira joylariga murojaat qilish uchun dastur. Mikrokod ruxsat beradi ba'zi kuchliroq mashina darajasidagi ko'rsatmalarning asosiy ma'lumotlar to'plami nuqtai nazaridan ifodalanishi mashina ko'rsatmalari.
    Assembly tilidan foydalanish mashina tiliga qaraganda osonroq. Assembler aniqlash uchun foydalidir dasturlash xatolari. Dasturchilar ma'lumotlar elementlarining mutlaq manziliga ega emaslar. Assambleya til modulli dasturlashni rag'batlantiradi.
    Yuqori darajadagi til - bu insoniy va amaliy tomonlarini qo'llab-quvvatlaydigan til dasturlash. Til - bu operatsiyalar ketma-ketligini belgilashning mashinadan mustaqil usuli vazifani bajarish uchun zarur. Yuqori darajadagi tildagi chiziq kuchli operatsiyalarni bajarishi mumkin, va mashina darajasida o'nlab yoki yuzlab ko'rsatmalarga mos keladi. Natijada ko'proq dasturlash endi yuqori darajadagi tillarda amalga oshiriladi. Yuqori darajadagi tillarga BASIC, FORTRAN va boshqalar.
    Kompilyator dasturi yuqori darajadagi til ko'rsatmalarini mashina darajasiga tarjima qiladi til. Har bir yuqori darajadagi til uchun alohida kompilyator talab qilinadi. Yuqori darajadagi til oddiygina dasturchining qulayligi va ularning manbasida bajarilmaydi. Haqiqiy yuqori - darajadagi dastur manba dastur deyiladi. U mashina darajasidagi tilga kompilyatsiya qilingan (tarjima qilingan). kompilyator tomonidan ushbu mashina uchun ob'ekt dasturi deb ataladigan dastur. Bunday kompilyatorlar mustaqil kompilyatorlar deb ataladi. Kompilyator to'liq dasturni tuzadi va oxirida xatolar haqida xabar beradi.
    C ni kompilyatsiya qilish va bajarish jarayonini bir necha bosqichlarga bo'lish mumkin:
     C manba kodini kengaytirilgan shaklga aylantirish uchun Preprocessor dasturi yordamida oldindan ishlov berish manba kodi. "#include" va "#define" iboralari amalda qayta ishlanadi va almashtiriladi bu bosqichda manba kodlari.
     Kompilyatsiya C kengaytirilgan manbani assambleyaga aylantirish uchun kompilyator dasturidan foydalanish manba kodi.
     Assambleya Assembler dasturidan foydalanib, assambleyaning manba kodini obyekt kodiga aylantirish.
     Ob'ekt kodini bajariladigan kodga aylantirish uchun Linker dasturidan foydalanish. Bir nechta
    Ushbu bosqichda ob'ekt kodlari birliklari bir-biriga bog'langan.
     Loading Loader dasturi yordamida bajariladigan kodni bajarish uchun CPU ga yuklash.
    Jamlama

    Barcha fayllar kompilyatsiya qilingandan so'ng, bitta fayl yaratish uchun ularni "birlashtirish" kerak foydalanuvchi dasturni ishga tushirish uchun foydalanadigan bajariladigan fayl.
     C tilida kompilyatsiya qilingan dasturlarning aksariyati faqat qandaydir standart yordamida natijalar beradi kompyuterda joylashgan kutubxona fayllari deb nomlanuvchi dasturlar. Bu jarayon deyiladi bog'lash.
     Bog‘lanishdan so‘ng olingan natija bajariladigan fayl deb ataladi.
     Bog‘lovchining asosiy vazifasi ramziy nomlarni xotira manzillari bilan bog‘lashdan iborat.
     Buning uchun avval fayllarni skanerdan o‘tkazadi va tegishli fayl bo‘limlarini birlashtiradi katta fayl. Keyin, ramz nomlarini real bilan bog'lash uchun olingan faylga ikkinchi o'tishni amalga oshiradi xotira manzillari.
     Yuklash - bajarilgunga qadar bajariladigan faylni xotiraga yuklash.
     Bog‘lanishning ikki turi mavjud: Statik bog‘lanish. Dinamik ulanish.
     Statik bog'lanish kompilyatsiya vaqtida sodir bo'ladi, shuning uchun u dasturni yuklashdan oldin sodir bo'ladi; Dastur tomonidan ishlatiladigan tashqi belgilarni statik bog'lash bilan (masalan, funktsiya nomlar) kompilyatsiya vaqtida hal qilinadi.
     Dinamik bog‘lanish ish vaqtida sodir bo‘ladi, shuning uchun u yuklangandan keyin yoki yuklangan vaqtda sodir bo‘ladi. dastur. Dinamik ulanishda belgilar yuklash vaqtida yoki ishga tushirilganda hal qilinadi belgiga kirish vaqti (dangasa bog'lash).
    Fayllar kompilyatsiya qilingandan va bog'langandan so'ng, bajariladigan fayl kompyuterga yuklanadi yuklovchi tomonidan bajarish uchun xotira. Bu jarayon yuklash deb ataladi.
     Dasturni yuklash asosan dasturni ikkilamchi xotiradan asosiyga nusxalashdir xotira, shuning uchun u ishlashga tayyor.
     Ba'zi hollarda bizni yuklash shunchaki diskdan xotiraga ma'lumotlarni nusxalash emas, balki sozlash himoya bitlari yoki virtual xotira xaritasi virtual manzillarini disk sahifalariga joylashtirish.

    I. Nazariy qism.


    1.1.Python dasturlash tili haqida
    Ushbu dasturlash tili bo'yicha Python qo'llanmasi yangi boshlanuvchilar va tajribali dasturchilar uchun juda mos keladi. Ushbu maxsus ishlab chiqilgan bepul Python qo'llanmasi sizga Python dasturlashni eng samarali o'rganishga yordam beradi, asosiy mavzulardan tortib to ilg'orgacha (masalan, Web-scraping, Django, Learning va boshqalar) misollar bilan.
    Python yuqori darajali, umumiy maqsadli va juda mashhur dasturlash tilidir. Python dasturlash tili (so'nggi Python 3) dasturiy ta'minot sanoatidagi barcha ilg'or texnologiyalar bilan bir qatorda veb-ishlab chiqishda va Machine Learning ilovalarida qo'llaniladi. Python tili deyarli barcha texnologik gigantlar tomonidan qo'llaniladi - Google, Amazon, Facebook, Instagram, Dropbox, Uber va boshqalar.
    Python dasturingizni ikkita usulda bajarishingiz mumkin:
    Birinchidan, biz faylga dastur yozamiz va uni bir marta ishga tushiramiz.
    Ikkinchidan, kodni satr bo'yicha bajaring.
    Bu yerda biz Python 3 versiyasining soʻnggi kompilyatorini taqdim etdik, unda siz RUN tugmasini bir marta bosish orqali yozma kodingizni tahrirlashingiz va kompilyatsiya qilishingiz mumkin. Shunday qilib, Python birinchi mashqlari bilan o'zingizni sinab ko'ring.
    Python sizga ma'lumotlarni aniqlik va moslashuvchanlik bilan manipulyatsiya qilish va boshqarish imkonini beruvchi taklif qiladi. Bundan tashqari, biz translatsiya yordamida ma'lumotlarni o'zgartirishning dinamik dunyosini o'rganamiz va keyin Python taqdim etadigan ko'p qirrali to'plamlarni, jumladan ro'yxatlar, kortejlar, to'plamlar, lug'atlar va massivlarni o'rganishga o'tamiz.

    1.1.1 - rasm. Pythondagi ma’lumotlar turlari

    Ushbu bo'lim oxirida siz Python ma'lumotlar turlarining mohiyatini tushunibgina qolmay, balki dasturlashning ko'plab muammolarini ishonchli tarzda hal qilish uchun ulardan mohirona foydalanasiz.


    Asosiy arifmetik amallarni bajarishdan tortib murakkab mantiqiy ifodalarni baholashgacha, biz hammasini yoritamiz. Biz shartlar asosida qaror qabul qilish uchun taqqoslash operatorlarini ko'rib chiqamiz va keyin ikkilik ma'lumotlarni past darajadagi manipulyatsiya qilish uchun bitli operatorlarni o'rganamiz. Bundan tashqari, biz o'zgaruvchilarni samarali belgilash va yangilash uchun tayinlash operatorlarining nozik tomonlarini ochib beramiz. Nihoyat, biz aʼzolik va identifikatsiya operatorlarini, masalan, mavjud va hozirda, toʻplamlarga aʼzolikni sinab koʻrish va obʼyekt identifikatorlarini ishonchli tarzda solishtirish imkonini beruvchi maʼlumotlarni oshkor qilamiz.
    Ushbu bayonotlar dasturlashda muhim ahamiyatga ega bo'lib, dinamik qarorlar qabul qilish va kodlarni tarmoqqa ajratish imkonini beradi. Python o‘quv qo‘llanmasining ushbu bo‘limida biz Pythonning shartli mantig‘ini, asosiy if…else iboralaridan tortib, ichki o‘rnatilgan shartlar va qisqacha uchlik operatorigacha o‘rganamiz. Shuningdek, biz Python 3.10 da yangi, kuchli mos keluvchi holat bayonini taqdim etamiz. Oxir-oqibat, siz ushbu konstruksiyalarni o'zlashtirasiz, bu sizga turli stsenariylarga oqilona javob beradigan aniq va samarali kod yozish imkonini beradi. Keling, Python-ning shartli bayonotlarining potentsialini ochib ko'raylik.
    Bu yerda biz Python-ning sikl konstruksiyalarini, jumladan, for va while davrlarini, shuningdek, sindirish, davom ettirish va o‘tish kabi muhim tsiklni boshqarish iboralarini o‘rganamiz. Bundan tashqari, biz ma'lumotlarni samarali boshqarish uchun ro'yxat va lug'at tushunchalarining qisqacha nafisligini ochib beramiz. Ushbu tsikl usullarini o'zlashtirib, siz o'qish va ishlashni yaxshilash uchun kodingizni soddalashtirasiz.
    Funktsiyalar Python-da uyushgan va samarali kodning asosidir. Bu erda biz ularning sintaksisi, parametrlarni qayta ishlash, qaytarish qiymatlari va o'zgaruvchilar doirasini o'rganamiz. Asosiy tushunchalardan tortib yopilish va dekorativlar kabi ilg'or texnikalargacha. Yo'l davomida biz diapazon() kabi ko'p qirrali funktsiyalarni va moslashuvchan parametrlarni boshqarish uchun *args va **kwargs kabi kuchli vositalarni taqdim etamiz. Bundan tashqari, biz xarita, filtr va lambda funktsiyalari bilan funktsional dasturlashni ko'rib chiqamiz.
    Ushbu segmentda biz Python-da ob'ektga yo'naltirilgan dasturlashning (OOP) asosiy tamoyillarini o'rganamiz. Inkapsulyatsiyadan tortib merosga, polimorfizmga, mavhum sinflarga va iteratorlarga qadar biz modulli, qayta ishlatilishi mumkin bo'lgan va kengaytiriladigan kodni yaratishga imkon beradigan asosiy tushunchalarni ko'rib chiqamiz.
    Python o‘quv qo‘llanmasining ushbu bo‘limida biz Python kutilmagan xatolar bilan qanday kurashishini ko‘rib chiqamiz, bu sizga mustahkam va xatoga chidamli kod yozish imkonini beradi. Biz fayllarni qayta ishlash, jumladan, fayldan o'qish va fayllarga yozishni sinab ko'rish va istisno bloklari bilan istisnolar bilan ishlashni ko'rib chiqamiz. Shuningdek, siz foydalanuvchi tomonidan belgilangan istisnolar va Python-ning o'rnatilgan istisno turlari haqida bilib olasiz.
    Pythonning eng katta kuchi quyidagilar uchun ishlatilishi mumkin bo'lgan standart kutubxonalarning ulkan to'plamidir.
    Bu erda biz Python to'plamlari moduli tomonidan taqdim etilgan asosiy ma'lumotlar tuzilmalarini o'rganamiz. Hisoblagichlar bilan hodisalarni hisoblashdan Deque bilan samarali navbat operatsiyalarigacha, biz hammasini qamrab olamiz. Ushbu to'plamlarni o'zlashtirish orqali siz Python-da ma'lumotlarni boshqarish vazifalarini soddalashtirasiz.
    Python keng ekotizimga ega bo'lgan ko'p qirrali va keng qo'llaniladigan dasturlash tilidir. Python tez-tez ishlatiladigan ba'zi joylar:
    Veb-ishlab chiqish: Python Django, Flask va Pyramid kabi ramkalar yordamida veb-ilovalarni yaratish uchun ishlatiladi. Ushbu ramkalar veb-so'rovlarni boshqarish, ma'lumotlar bazalarini boshqarish va boshqalar uchun vositalar va kutubxonalarni taqdim etadi.
    Ma'lumotlar fanlari va mashinalarni o'rganish: Python NumPy, pandas, Matplotlib va ​​scikit-learn kabi kutubxonalar tufayli ma'lumotlar fanida va mashina o'rganishda mashhur. Ushbu kutubxonalar ma'lumotlarni manipulyatsiya qilish, tahlil qilish, vizualizatsiya qilish va mashinani o'rganish algoritmlari uchun vositalarni taqdim etadi.
    Sun'iy intellekt va tabiiy tilni qayta ishlash: Python AI va NLP dasturlarida keng qo'llaniladi. TensorFlow, Keras, PyTorch va NLTK kabi kutubxonalar neyron tarmoqlarni qurish va o'qitish, tabiiy tilni qayta ishlash va boshqalar uchun vositalarni taqdim etadi.
    O'yinni ishlab chiqish: Python Pygame va Panda3D kabi kutubxonalar yordamida o'yin ishlab chiqish uchun ishlatilishi mumkin. Bu kutubxonalar 2D va 3D oʻyinlar yaratish, grafiklarni qayta ishlash va boshqalar uchun vositalarni taqdim etadi.
    Ish stoli ilovalari: Python Tkinter, PyQt va wxPython kabi kutubxonalar yordamida ish stoli ilovalarini yaratish uchun ishlatilishi mumkin. Bu kutubxonalar foydalanuvchining grafik interfeyslarini (GUI) yaratish, foydalanuvchi maʼlumotlarini qayta ishlash va boshqalar uchun vositalarni taqdim etadi.
    Skript va avtomatlashtirish: Python oddiyligi va o'qilishi mumkinligi tufayli odatda skript va avtomatlashtirish vazifalari uchun ishlatiladi. U takroriy vazifalarni avtomatlashtirish, fayllar va kataloglarni boshqarish va boshqalar uchun ishlatilishi mumkin.
    Web Scraping va Crawling: Python BeautifulSoup va Scrapy kabi kutubxonalar yordamida veb-qirqish va skanerlash uchun keng qo'llaniladi. Ushbu kutubxonalar veb-saytlardan ma'lumotlarni olish, HTML va XML-ni tahlil qilish va boshqalar uchun vositalarni taqdim etadi.
    Ta'lim va tadqiqot: Python soddaligi va o'qilishi mumkinligi tufayli ta'lim va tadqiqotda keng qo'llaniladi. Ko'pgina universitetlar va ilmiy muassasalar Python'dan dasturlashni o'rgatish va turli sohalarda tadqiqot olib borish uchun foydalanadilar.
    Hamjamiyat va ekotizim: Python katta va faol hamjamiyatga ega, bu uning ekotizimiga hissa qo'shadi. Turli maqsadlar uchun ko'plab uchinchi tomon kutubxonalari va ramkalari mavjud bo'lib, Python ko'plab ilovalar uchun ko'p qirrali tilga aylanadi.
    Kross-platforma: Python o'zaro platforma tili bo'lib, Python kodi o'zgartirishlarsiz turli xil operatsion tizimlarda ishlashi mumkinligini anglatadi. Bu Python ilovalarini turli platformalarda ishlab chiqish va joylashtirishni osonlashtiradi.
    Python yaqinda Python 3.12 ni 2023 yil oktyabr oyida chiqardi va bu bo'limda biz Python 3.12 taklif qiladigan barcha xususiyatlarni aytib o'tdik. Shu bilan birga biz davom etgan tendentsiyalarni ham aytib o'tdik.

    Xavfsizlikni tuzatish: potentsial zaifliklarni ko'rib chiqadigan muhim xavfsizlik tuzatmasi (tafsilotlar ommaga oshkor etilmagan).


    SBOM (Software Bill of Materials) Hujjatlari: CPython uchun SBOM hujjatlarining mavjudligi, dasturiy ta'minotni etkazib berish zanjirida shaffoflikni oshirish.
    Python 3.13 ning kutilayotgan xususiyatlari
    Pattern Matching (PEP 635): Shaklni moslashtirish uchun kuchli yangi sintaksis, potentsial ravishda Ruby kabi tillarda topilgan xususiyatlarga o'xshash. Bu kodning o'qilishi va barqarorligini sezilarli darajada yaxshilashi mumkin.
    Union Typing Enhancements (PEP 647): Birlashmalar uchun turdagi izohlarni kengaytirish, aniqroq turdagi ta'riflar va statik turni tekshirishni yaxshilash imkonini beradi.
    Yaxshilangan istisno guruhlari (PEP 653): Tegishli istisnolarni guruhlashning yangi mexanizmi, xatolarni tartibga solish va foydalanuvchilarga qulayroq qilish.

    1.1.2 - rasm. Python logotipi.
    1.2.Python dasturlash muhitini kompyuterga o’rnatish.
    Python-ni qanday yuklab olish va Python-ni o'rnatishni tushunish uchun siz Python nima ekanligini va u tizimingizda qayerda o'rnatilganligini bilishingiz kerak. Keling, bir nechta fikrlarni ko'rib chiqaylik:
    Python keng qo'llaniladigan umumiy maqsadli, yuqori darajadagi dasturlash tilidir.
    Python-ning har bir versiyasi ochiq manba hisoblanadi. Python relizlari General Public License (GPL) bilan ham mos keladi.
    Pythonning istalgan versiyasini Python Software Foundation veb-saytidan python.org saytidan yuklab olish mumkin.
    Ko'pgina tillar, xususan, Linux paketlar menejerini taqdim etadi, bu orqali siz Python-ni operatsion tizimingizga to'g'ridan-to'g'ri o'rnatishingiz mumkin.
    Windows oldindan o'rnatilgan Python bilan ta'minlanmaganligi sababli, uni aniq o'rnatish kerak. Bu erda biz Python-ni Windows-ga qanday o'rnatish bo'yicha bosqichma-bosqich qo'llanmani aniqlaymiz. Quyidagi amallarni bajaring:
    Windows 10-da Python-ni yuklab olish bosqichlari
    1-qadam: Python veb-saytiga tashrif buyuring va Yuklashlar bo'limiga o'ting
    Birinchi va asosiy qadam brauzerni ochish va Python yuklab olish yoki havolani joylashtirish (https://www.python.org/downloads/)

    2-qadam: Python versiyasini tanlang


    Yuklab olmoqchi bo'lgan versiyani bosing. – Python 3.12.3 (hozirgi eng so‘nggi barqaror versiya Python 3.12.3).

    1.2.1 - rasm. Pythonning rasmiy sayti.
    3-qadam: Python o'rnatuvchisini yuklab oling
    Yuklab olish tugallangach, o'rnatish dasturini ishga tushiring. Windows tizimida u odatda .exe fayli, macOS da .pkg fayli, Linuxda esa .tar.gz fayli bo'ladi.
    Windows yuklamalar papkasida Python-ni qanday o'rnatishni bilish uchun Python Installer dasturini ishga tushiring
    Python-ni PATH-ga qo'shish-ni belgilaganingizga ishonch hosil qiling, aks holda buni aniq bajarishingiz kerak bo'ladi. U Windows-ga Python-ni o'rnatishni boshlaydi.

    1.2.2 - rasm. Pythonni Windows OS ga yuklash jarayoni.
    O'rnatish tugallangandan so'ng Yopish tugmasini bosing. Bingo..!! Python o'rnatilgan. Endi Windows-ga o'ting va IDLE yozing.

    1.2.3 - rasm. IDLE Shell oynasi.
    Bu Python Interpreter, shuningdek, Python Shell deb ataladi. Salom geeks chop qildim, python muammosiz ishlaydi.
    >>> dan uchta kattaroq belgi Python buyruq satri deb ataladi, bu erda biz dasturimizni yozamiz va bitta kiritish tugmasi bilan u darhol natijalarni beradi.

    MacOS ga Python o’rnatish


    Python-ni o'rnatish uchun "Ilova" -> "Utilities" dan Terminal ilovasini oching va quyidagi buyruqni kiriting.

    brew install python3


    Buyruqlarni qayta ishlash tugallangandan so'ng, Python-ning 3-versiyasi Mac-ga o'rnatiladi.

    1.2.4 - rasm. MacOS terminal oynasi.

    O'rnatishni tekshirish uchun Terminal ilovangizga quyidagi buyruqlarni kiriting.



    python3 --version



    1.2.5 - rasm. Python versiyasi.

    Linuxga Pythonni o’rnatish.


    Ko'pgina Linux operatsion tizimlarida Python oldindan o'rnatilgan. Qurilmangiz Python bilan oldindan oʻrnatilgan yoki yoʻqligini tekshirish uchun Ctrl+Alt+T tugmalaridan foydalanib terminalga oʻting, har bir Linux tizimida, shu jumladan quyidagi operatsion tizimda:
    Ubuntu
    Linux Mint
    Debian
    openSUSE
    CentOS
    Fedora
    Siz allaqachon o'rnatilgan Python-ni topasiz. Uni terminaldan quyidagi buyruq yordamida tekshirishingiz mumkin.

    $ python --version


    Python 3.x.x ning oxirgi versiyasini tekshirish uchun:

    $ python3 --version


    Linuxda Python-ni yangilash va yangilash
    Shubhasiz, bu Pythonning so'nggi versiyasi bo'lmaydi. Python-ni Linux tayanch tizimiga o'rnatishning bir necha usullari bo'lishi mumkin va barchasi Linux tizimingizga bog'liq. Deyarli har bir Linux tizimi uchun quyidagi buyruqlar aniq ishlaydi.
    PPA qo'shish uchun zaruriy shartni o'rnating
    Ushbu buyruq dastur-properties-umumiy paketini o'rnatadi, bu esa add-apt-repository deb nomlangan vositani taqdim etadi. Ushbu vosita tizimingiz manbalari ro'yxatiga yangi paketlar omborlarini (masalan, o'lik ilon PPA) qo'shish uchun ishlatiladi.

    sudo apt install software-properties-common -y

    $ sudo add-apt-repository ppa:deadsnakes/ppa


    $ sudo apt-get update
    $ sudo apt-get install python3.13


    1.2.6 - rasm. Linux terminali.
    Linuxda python3.13 o'rnatilishini tekshirish
    Linuxda python3.13 o'rnatilganligini tekshirish uchun biz quyida keltirilgan buyruq yordamida python3.13 versiyasini ko'rsatishimiz mumkin.

    python3.13 --version



    1.2.7 - rasm. Python versiyasi.

    II. Asosiy qism.





    Kurs ishini tayyorlovchi haqida ma’lumot

    F.I.SH: Saidov Abbos


    Tug’ilgan yili: 14.02.2005
    Lavozimi: Talaba


    2.1. Berilgan dasturning dizayni va kodi


    Tanlangan sanalardagi muhim voqealar haqida ma'lumot beruvchi Python dasturini yaratish uchun siz tkinter kabi kutubxona bilan grafik foydalanuvchi interfeysidan (GUI) foydalanishingiz mumkin. Voqealarni saqlash uchun lug'atdan foydalanishingiz mumkin. Buni qanday amalga oshirishingiz mumkinligiga oddiy misol:
    Tkinterni o'rnating (u odatda Python bilan birga keladi, lekin kerak bo'lsa, uni pip yordamida o'rnatishingiz mumkin).
    Kodni yozing:
    import tkinter as tk
    from tkinter import messagebox

    # Sample data: Dictionary of events


    events = {
    "July 28": [
    "1914: World War I begins with the declaration of war by Austria-Hungary on Serbia.",
    "1951: The film 'Alice in Wonderland' is released in the United States.",
    "2005: The first Live 8 concert is held in London to help fight global poverty."
    ],
    "August 15": [
    "1945: Japan announces its surrender in World War II, ending the conflict.",
    "1969: The Woodstock Music and Art Fair opens in Bethel, New York.",
    "1971: The United States ends the convertibility of the dollar to gold."
    ]
    }

    # Function to show events on the selected date


    def show_events():
    date = date_entry.get()
    events_on_date = events.get(date, None)
    if events_on_date:
    event_list = "\n".join(events_on_date)
    messagebox.showinfo("Events on " + date, event_list)
    else:
    messagebox.showinfo("No Events", f"No events found for {date}.")

    # Setting up the GUI


    root = tk.Tk()
    root.title("Historical Events")

    frame = tk.Frame(root)


    frame.pack(padx=10, pady=10)

    date_label = tk.Label(frame, text="Enter Date (e.g., July 28):")


    date_label.grid(row=0, column=0, padx=5, pady=5)

    date_entry = tk.Entry(frame)


    date_entry.grid(row=0, column=1, padx=5, pady=5)

    button = tk.Button(frame, text="Show Events", command=show_events)


    button.grid(row=1, columnspan=2, pady=10)

    root.mainloop()

    Lug'at voqealari: Sanalarni kalit sifatida, voqealar ro'yxatini qiymat sifatida saqlaydi.
    Show_events funktsiyasi: foydalanuvchi kiritgan sana uchun voqealarni oladi va ko'rsatadi.
    GUI komponentlari: Sana uchun kirish oynasi va voqealarni ko'rsatish tugmasi bo'lgan oddiy tkinter oynasi.


    2.1.1 - rasm. Dasturni PyCharm muhitida yozilgan qismi.

    2.1.2 - rasm. Dasturni PyCharm muhitida yozilgan qismi.

    2.2. Dasturni ishga tushirish


    Kodni ishga tushirish jarayoni:

    2.2.1 - rasm. Kodni ishga tushirgandagi birinchi holat.


    2.2.2 - rasm. Kodni natijasi.


    2.2.3 - rasm. Kodni natijasi.


    2.2.4 - rasm. Ma’lumotlar bazasida mavjud bo’lmagan sana kiritilgandagi natija.

    III. Xulosa


    Dasturlash sohasining hayotimizdagi o‘rni nihoyatda katta va kundan-kunga ortib bormoqda. Bu soha zamonaviy texnologiyalar, sanoat, tibbiyot, ta'lim va kundalik hayotimizning deyarli barcha jabhalarida muhim rol o‘ynaydi. Quyida dasturlash sohasining hayotimizdagi ba'zi asosiy o‘rinlarini ko‘rib chiqamiz:
    1. Texnologiya va Raqamli Dunyoda Innovatsiyalar
    Dasturlash texnologik taraqqiyotning asosiy dvigateli hisoblanadi. Smartfonlar, kompyuterlar, internet, ijtimoiy tarmoqlar, ilovalar va ko‘plab raqamli xizmatlar dasturlash orqali yaratiladi va boshqariladi.
    2. Sanoat va Avtomatlashtirish
    Ko‘plab ishlab chiqarish jarayonlari dasturlash yordamida avtomatlashtirilgan. Robotlar, avtomatlashtirilgan tizimlar va sanoat texnologiyalari ishlab chiqarish samaradorligini oshiradi va inson xatolarini kamaytiradi.
    3. Tibbiyot va Sog‘liqni Saqlash
    Tibbiyot sohasida dasturlash diagnostika tizimlari, tibbiy uskunalar, elektron sog‘liqni saqlash kartalari va hatto sun'iy intellekt yordamida kasalliklarni aniqlash va davolashda muhim rol o‘ynaydi.
    4. Ta'lim va O‘qitish
    Ta'lim sohasida dasturlash elektron o‘quv materiallari, onlayn kurslar, virtual laboratoriyalar va o‘quv dasturlarini yaratishda ishlatiladi. Bu ta'lim jarayonini interaktiv va qiziqarli qiladi.
    5. Moliyaviy Texnologiyalar va Banking
    Moliyaviy texnologiyalar (FinTech) dasturlash yordamida rivojlanadi. Onlayn to‘lov tizimlari, kriptovalyutalar, moliyaviy tahlil va boshqaruv dasturlari kundalik moliyaviy operatsiyalarni osonlashtiradi.
    6. O‘yinlar va Ko‘ngilochar Sanoat
    O‘yinlar, filmlar, musiqa va boshqa ko‘ngilochar mahsulotlar dasturlash yordamida yaratiladi va boshqariladi. Virtual haqiqat (VR) va kengaytirilgan haqiqat (AR) texnologiyalari ham dasturlashning mahsuli.
    7. Transport va Logistika
    Avtomobillar, poyezdlar, samolyotlar va kemalar dasturlash orqali boshqariladi. Navigatsiya tizimlari, yo‘l-transport boshqaruv tizimlari va logistika tizimlari transport samaradorligini oshiradi.
    8. Sun'iy Intellekt va Ma'lumotlar Tahlili
    Sun'iy intellekt (AI) va katta ma'lumotlar (Big Data) sohalari dasturlash yordamida rivojlanmoqda. Bu texnologiyalar orqali katta hajmdagi ma'lumotlarni tahlil qilish va bashorat qilish imkoniyati yaratiladi.
    9. Kundalik Hayotimizda
    Smartfonlar, aqlli uy qurilmalari, shaxsiy yordamchilar (masalan, Siri yoki Alexa) kabi ko‘plab qurilmalar dasturlash orqali ishlaydi va kundalik hayotimizni osonlashtiradi.
    Dasturlash sohasining hayotimizdagi ahamiyati ortib bormoqda va bu sohada yangiliklar qilish imkoniyati cheksizdir. Dasturchilar nafaqat texnologik taraqqiyotga hissa qo‘shadi, balki jamiyatimizning turli sohalarini rivojlantirishda ham muhim rol o‘ynaydi. Bu esa kelajakda dasturlash sohasining ahamiyati yanada ortishini ko‘rsatadi.

    IV. Foydalanilgan adabiyotlar.


    1.https://www.geeksforgeeks.org/
    2. “Python Crash Course”- Eric Matthes (2015)

    3. “Python for Data Analysis”-Wes Mckinney (2017)
    4. http://azkurs//com
    5. http://Python.org
    6. http://www.fayllar.or




    Download 2,7 Mb.




    Download 2,7 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O’zbekiston Respublikasi Transport Vazirligi Toshkent Davlat Transport Universiteti

    Download 2,7 Mb.