logo

Pyhonda chiziqli, tarmoqlanuvchi va takrorlanuvchi jarayonlarni hisoblash lab

Yuklangan vaqt:

11.11.2024

Ko'chirishlar soni:

0

Hajmi:

585.939453125 KB
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" ) Dastur natijasi:
n   =   int ( input ())
m   =   int ( input ())
if   n   ==   m :
        print ( "Teng " )
else :
        print ( "Teng emas" )
Dastur natijasi:
a   =   int ( input ())
switch   (a) :
        case   1 :  print ( "Dushanba" ) 
        case   2 :  print ( "Seshanba" )
        case   3 :  print ( "Chorshanba" )
        case   4 :  print ( "Payshanba" )
        case   5 :  print ( "Juma" )
        case   6 :  print ( "Shanba" )
        case   7 :  print ( "Yakshanba" )
Dastur natijasi: 3.Takrorlanuvchi jarayon ikki qismdan iborat bo’ladi bular jarayonlar soni aniq va 
aniqmas. Siklda jarayonlar soni aniq bo’lsa  for  operatori orqali bajariladi va soni 
aniq bo’lmasa  while  operatori orqali amalga oshiriladi.
Dastur – 1:
def   main ( n ):
        ls = []
        for   i   in   range ( n ):
                ls . append ( i )
        return   ls
print ( main ( 5 ))
Dastur natijasi:
def   main ( n ):
        s = ""
        for   i   in   range ( 0 , n ):
                s += str ( i ) + ","
        return   '"' +   s [ 0 : len ( s ) - 1 ]  +   '"'
print ( main ( 5 ))
Dastur natijasi: def   main ( k , n ):
        ls = []
        for   i   in   range ( n ):
                ls . append ( k )
        return   ls
print ( main ( 5 , 3 ))
Dastur natijasi:
def   main ( A , B ):
 
        ls = []
        for   i   in   range ( A , B + 1 ):
                ls . append ( i )
        return   ls
print ( main ( 3 , 7 ))
Dastur natijasi:
Dastur -5: def   main ( s ):
        c = 0
        a = 0
        while   a < len ( s ):
                if   s [ a ].isdigit():
                        c += 1
                a += 1
        return   c
print ( main ( "python 2022" ))
print ( main ( "e324xE" ))
Dastur natijasi:
Dastur -6:
def   main ( s ):
       
        a = 0
        c = 0
        k = ""
        while   a < len ( s ):
                if   s [ a ].islower():
                        k += s [ a ]
                        c += 1
                a += 1
        return   k , c
print ( main ( "CodeschoolUz" ))
Dastur natijasi : Mavzu: Python dasturlash tilida sinflar va dasturlar
Reja:
1. Sinf tushunchasi 
2. Python dasturlash tilida sinflar orqali dastur tuzish
Python   ob'ektga   yo'naltirilgan   dasturlash   paradigmasini   qo'llab-quvvatlaydi,
ya'nibiz dastur komponentlarini sinflar sifatida belgilashimiz mumkin. 
Sinf   shablon   yoki   ob'ektning   rasmiy   tavsifi   bo'lib,   ob'ekt   esa
ushbusinfningnamunasini,   uning   haqiqiy   bajarilishini   ifodalaydi.   Biz   quyidagi
o'xshashliknikeltirishimiz   mumkin:   hammamiz   inson   haqida   qandaydir
tasavvurgaegamiz-ikkita   qo'l,   ikki   oyoq,   bosh,   ovqat   hazm   qilish   tizimi,   asab
tizimi,   miyavaboshqalar   mavjudligi.   Ba'zi   shablon   mavjud   -   bu   shablonni   sinf
debatashmumkin.Haqiqatan   ham   mavjud   bo'lgan   shaxs   (aslida   ushbu   sinfning
namunasi) businfningob'ektidir.
Kod   nuqtai   nazaridan   sinf   ma'lum   bir   vazifani   bajaradigan
funktsiyalarvao'zgaruvchilar   to'plamini   birlashtiradi.   Sinf   funksiyalari   metodlar
debhamataladi.Ular   sinfning   xatti-harakatlarini   belgilaydi.   Va   sinf   o'zgaruvchilari
atributlardebataladi - ular sinf holatini saqlaydi 
Sinf class kalit so'zi yordamida aniqlanadi: 
class klass_nomi: klass_usullari
Sintaksis ob'ektini yaratish uchun quyidagi sintaksisdan foydalaniladi: 
ob'ekt_nomi = sinf_nomi ([parametrlar]) class   Person :
        def   __init__ ( self , name ):
                self . name   =   name
x   =   Person ( "Shiorxon" )
print(x.name)
Person   nomli   class   yaratildi.   Class   ichida   funksiya   yaratildi.   Funksiyaga   name
nomli   parameter   berildi.   Classdan   tashqarida   x   nomli   obyekt   yaratildi   va   unga
name = “Shiorxon” nomli qiymat berildi.
Natija:
class   Person  :
        def   __init__ ( self , name : str , age : int ):
                self . name   =   name
                self . age   =   age  
data   =   Person ( "Xakimov Allamurod" , 18 )
print ( data . name , data . age )
Person nomli class yaratildi va uning ichida qabul qiladigan ikkita parametrga ega
funksiya yaratildi name, age nomli va funksiya ichida konstruktor amali bajarildi.
Data nomli obyekt yaratildi unga ikkita qiymat berildi. 
Natija : class   Name :
        def  _ _init__ ( self , firsname : str , lastname : str , phone : int ):
                self . firsname   =   firsname
                self . lastname   =   lastname
                self . phone   =   phone
               
        def   fullname ( self )-> str :
                return   f "Ism :  { self . firsname }  Familya :  { self . lastname }  Telafon 
raqam :  { self . phone } "
name   =   Name ( "Xakimov" , "Allamurod" , 998938554640 )
print ( name . fullname ())
Name   nomli   class   yaratildi   va   uning   ichida   ikkita   funksiya   yozildi   birinchisi
standart funksiya konstruktor vazifasini bajarmoqda, ikkinchisi natija qaytaryapti
Natija: class   Tortburchak :
        def   __init__ ( self ,  a :  int ,  b :  int  ):
                self . a   =   a
                self . b   =   b
        def   parametr ( self ):
                return   2 * ( self . a   +   self . b )
        def   yuza ( self ):
                return   self . a * self . b
       
class   Kvadrat ( Tortburchak ):
        def   __init__ ( self ,  a :  int ):
                super (). __init__ ( a ,  a )
n   =   Kvadrat ( 6 )
print ( "Parametr = " , n . parametr ())
print ( "Yuzasi = " ,  n . yuza ())
Ushbu dasturda Tortburchak nomli class  yaratildi bu class Kvadrat  nomli classga
bosh class bo’lib yaratildi ya’ni ota class bo’lib. 3-Labaratoriya ishi
Mavzu:Pythonda matn va satrlar bilan ishlash.
REJA:
1. Satrlar haqida malumot.
2. Satrlar ustida amallar.
3. Satr metodlari.
Satrlar   –   bu   belgilar   ketma-ketligi.   Ko'p   hollarda   satrlar   so'zlar   jamlanmasidan
tashkil topadi. Pythonda satrlar bilan ishlash juda qulay. Bir qancha satr literallari
mavjud.   Pythonda   satrlar   qo’shtirnoq   yoki   bittalik   tirnoqlar   bilan   ifodalanadi.
Ularni  print()  funksiyasi bilan ekranga chiqaramiz.
 print ("Salom")
 print ('Python')
  Apostrof va qo`shtirnoqdagi satrlar bir narsa. Uni ikki xil variantda keltirilishiga
sabab literallarga apostrof va qo`shtirnoq belgilarini maxsus xizmatchi belgilardan
foydalanmasdan kiritish mumkinligi deb hisoblanadi.
 Ism = "San'atbek" 
Gap = 'Men "Python dasturlash tili" nomli kitob yozdim'
 Satrni o’zgaruvchiga biriktirish  Satrni o’zgaruvchiga biriktirish uchun tenglik belgisi ishlatiladi: 
a = "Salom"
 print(a)
  Ko’p qatorli  satr  Ko’p qatorli  satrni  hosil  qilish  uchun uchtalik qo’shtirnoq yoki
tirnoqlardan   foydalaniladi.   Bunda   satr   qanday   holatda   yozilgan   bo’lsa
shundayligicha natija beradi:
 a = """ Bu 
ko'p
 qatorli satr """ 
b = ''' Bu ham
 ko'p qatorli 
satr '''
 print(a) 
print(b) 
Satr   konstantalarini   birlashtirish   uchun   ularni   yonma-yon   joylashtirishning   o'zi
kifoya. Python avtomat ularni birlashtiradi. Misol uchun: 
"Ismingiz" "kim?" avtomat "Ismingiz kim?" ga aylanadi. 
Eslatma: Bir tirnoq va qo'sh tirnoqdagi satrlar bir-biridan hech ham farq qilmaydi. 
Satr – bu massiv
Satrni   alohida   belgilar   ketma-ketligidan   tashkil   topgan   massiv   deb   hisoblash
mumkin.   Pythonda   belgini   ifodalovchi   ma’lumot   turi   yo’qligi   uchun   bitta   belgi
deb,   bitta   elementdan   tashkil   topgan   satrga   aytiladi.   Satrning   istalgan   elementiga
murojaat   qilish   mumkin.   Buning   uchun   kvadrat   qavslardan   foydalanamiz   va
elementning   satrdagi   o’rnini   kiritamiz.   Eslatma:   Elementning   satrdagi   o’rnini
ifodalash uchun sanoq o dan boshlanadi. Ya’ni satrdagi birinchi elementning o’rni 0   ga,   ikkinchi   elementning   o’rni   1   ga   teng   va   hokazo.   Quyidagi   misolimizda   biz
ikkinchi elementni ekranga chiqaramiz:
 a = "Dasturlash"
 print(a[1])
Satrlar ustida amallar
upper() metodi:
ism = 'Ahad'
familiya = 'Qayum'
# 2 va undan ortiq satrni birlahstirish uchun f-srtingdan foydalaniladi
ism_familya = f"{ism} {familiya}"
#upper() metodi matndagi har bir harfni katta harfga o'zgartiradi. 
print(ism_familya.upper())
Natija:
AHAD QAYUM
Lower()  metodi:
ism = 'Ahad'
familiya = 'Qayum'
# 2 va undan ortiq satrni birlahstirish uchun f-srtingdan foydalaniladi
ism_familya = f"{ism} {familiya}"
#upper() metodi matndagi har bir harfni kichik harfga o'zgartiradi. 
print(ism_familya.lower())
Natija:
ahad  qayum    title() va capitalize():
ism = 'Ahad'
familiya = 'Qayum'
# 2 va undan ortiq satrni birlahstirish uchun f-srtingdan foydalaniladi
ism_familya = f"{ism} {familiya}"
#capitalize() metodi matndagi  birinchi harfni katta harfga o'zgartiradi. 
print(ism_familya.capitalize())
#title() metodi matndagi so'zlarning birinchi harfni katta harfga o'zgartiradi. 
print(ism_familya.title())
Natija:
Ahad qayum
Ahad Qayum
Matnlarni qo’shish operatori(+)
ism = 'Ahad'
familiya = 'Qayum'
print(ism + familiya)
strip() ,  rstrip()  va  lstrip()  metodlari
Bu metodlar matnning boshi va oxiridagi bo'sh joylarni olib tashlaydi.
 lstrip()  — matn boshidagi bo'shliqni,
 rstrip()  – matn oxiridagi bo'shliqni,
 strip()  — matn boshi va oxiridagi bo'shliqlarni olib tashlaydi
meva = "     olma     "
print("Men " + meva.lstrip() + " yaxshi ko'raman") print("Men " + meva.rstrip() + " yaxshi ko'raman")
print("Men " + meva.strip() + " yaxshi ko'raman")
print("Men " + meva + " yaxshi ko'raman")
Natija:
Men olma    yaxshi ko'raman 
Men     olma yaxshi ko'raman 
Men olma yaxshi ko'raman 
Men   olma     yaxshi ko'raman
Labaratoriya ishi 4
Mavzu:  Tkinter, Turtle, PyQt kutubxonalari yordamida
foydalanuvchi dinamik interfeysini yaratish. 
Reja:
1) Tkinter bilan Foydalanuvchi Interfeysi 
2) Turtle bilan dastur yaratish 
3) PyQt va uning vazifalari 
Tkinter, Python dasturlash tilidagi standart GUI (Grafik Foydalanuvchi Interfeysi) 
kutubxonalaridan biridir. Ushbu kutubxona orqali, siz o'zingizning ilovangizda 
grafik foydalanuvchi interfeysini (GUI) yaratishingiz mumkin. Buning uchun 
tkinter modulini chaqirishingiz kerak. 
tkinter modulining asosiy vazifalari quyidagilar: 
O'yin yaratish:  tkinter orqali oynalar (windows) yaratish, ularni boshqarish,  vaqtincha yoki doimiy o'ynalarga o'zgartirishlar qo'shish. 
Widgetlar (tugmalar, matn maydonchalar, ro'yhatlar, kiritish maydonchalari,
vaqtincha xabar oynalari kabi qisqa elementlar) yaratish:  tkinter orqali siz 
o'zingizga mos keladigan ko'rinishdagi widgetlarni yarating. 
Biror amalni bajarish uchun hodisa (event)lar bilan ishlash: 
Foydalanuvchining tarmoq bo'yicha amalini kuzatish uchun, masalan, tugma 
bosilganda, matn kiritilganda yoki o'ynaga boshqa hodisalar bo'lganda, kerakli 
amallarni bajarish. 
Xabarlar oynasida, xato xabarlarini chiqarish:  Foydalanuvchiga yo'l qo'ymoq 
uchun xabarlar oynasini yaratish, xato xabarlarni chiqarish. 
Koordinatalar yordamida chizim qilish:  tkinter orqali siz o'zingizga mos bo'lgan
chizimlarni yaratish, yoki mavjud chizimlarni o'zgartirish uchun usullar mavjud. 
Quyidagi misol sizni boshlash uchun yaxshi ko'rsatish mumkin: 
import  tkinter  as  tk 
def  button_click (): 
label . config ( text = "Salom, "  +  entry . get ()) 
root  =  tk . Tk ()
root . title ( "Salom Tkinter" ) 
label  =  tk . Label ( root ,  text = "Ismingizni kiriting:" ) 
label . pack () 
entry  =  tk . Entry ( root ) 
entry . pack () 
button  =  tk . Button ( root ,  text = "Salom" ,  command = button_click )  button . pack () 
root . mainloop () 
# Natija:
 
Tkinter Python da grafik foydalanuvchi interfeyslarini yaratish uchun 
ishlatiladigan standart kitobxonadir. Ushbu kitobxona orqali, siz o'zingizga mos 
bo'lgan foydalanuvchi interfeysini yaratishingiz mumkin. 
Quyidagi kod ni misol sifatida ko'rsataman: 
import  tkinter  as  tk 
from  tkinter  import  messagebox 
def  button_click (): 
messagebox . showinfo ( "Salom" ,  "Assalomu alaykum!" ) 
# Asosiy oyna 
root  =  tk . Tk () 
root . title ( "Salom O'yin" ) 
# Matn kiritish uchun maydon 
label  =  tk . Label ( root ,  text = "Salom, Foydalanuvchi!" ) 
label . pack () 
# Bosish tugmasi 
button  =  tk . Button ( root ,  text = "Bosing" ,  command = button_click ) 
button . pack ()  # Oynani boshlash 
root . mainloop () #
  Natija: 
Bu tugmani bosgada esa yana quyidagi natija chiqadi: 
Bu kodda, tkinter modulidan Tk oynasini yaratamiz va uni root deb nomlaymiz. 
Keyin, oynada Label va Button qilib matn va tugma qo'shamiz. Tugma bosilganda 
button_click funksiyasi chaqiriladi va oyna mainloop() metodi orqali ishga 
tushiriladi. 
Turtle moduli, Python dasturlash tilida grafik amallarni bajarish uchun 
foydalaniladi. Ushbu modul orqali, chizimlarni yaratish, koordinatalar yordamida 
harakatlanish, ranglarni o'zgartirish va boshqa amallarni bajarish mumkin. 
Quyidagi misol sizga turtle modulini qanday ishlatishni ko'rsatadi: 
import  turtle  # Turtle obyekti yaratish 
t  =  turtle . Turtle () 
# Obyektga rang berish 
t . color ( "blue" ) 
# Qalamni olib, boshlash nuqtaga o'tish 
t . penup () 
t . goto ( - 50 ,  - 50 ) 
t . pendown () 
# Kvadratni chizish 
for  _  in  range ( 4 ): 
t . forward ( 100 ) 
t . right ( 90 ) # Dasturni tugatish 
turtle . done () 
# Natija:
 
Bu misolda, turtle modulidan foydalanib, o'rtasida kichik kvadrat chizamiz. Kodni 
izlashdan oldin, turtle oynasining chiqqanini ko'rish uchun dasturni boshqaruv  oynasining oldiga kelishingiz mumkin. 
Dasturning tugmalarini bosish orqali (turtle.done()), siz o'zingizning chizimlarini 
yaratishingiz mumkin. turtle moduli bilan ishlash oson va jiddiy grafiklar yaratish 
uchun juda qulaydir. Siz o'zingizning tajribangizni oshirish uchun boshqa 
amallarni ham qo'shishingiz mumkin. 
import  turtle 
# Turli shakllardan tashkil topgan murakkabroq 
def  draw_complex_shape (): 
for  i  in  range ( 36 ): 
turtle . forward ( 100 ) 
turtle . right ( 170 ) 
# Murakkabroqni ko'rsatish 
def  show_complex_shape (): 
for  _  in  range ( 5 ): 
draw_complex_shape () 
turtle . penup () 
turtle . forward ( 120 ) 
turtle . pendown () 
# Asosiy oyna 
turtle . speed ( 20 ) 
show_complex_shape () 
# Dasturni tugatish 
turtle . done ()  Bu misolda, draw_complex_shape funksiyasi bizga murakkabroqni tuzish uchun 
kerak bo'lgan kodni beradi. Keyin esa, show_complex_shape funksiyasi turli 
shakllardan tashkil topgan murakkabroqni ko'rsatadi. U har bir murakkabroqni 
chizib turib, keyin yana birinchi turdagi murakkabroqni boshidan boshlash uchun 
turtle.penup(), turtle.forward(120), va turtle.pendown() buyruqlaridan 
foydalaniladi. Va quyiodagi natija hosil bo’ladi.PyQt, Python dasturlash tilidagi bir
kutubxona (library) bo'lib, GUI (Grafik 
Foydalanuvchi Interfeysi) yaratish uchun ishlatiladi. U bu, Qt toolkit'ini Python 
tiliga integratsiyalashdiradi va keng qo'llaniladigan bir dastur yaratish uchun qulay 
imkoniyatlar taqdim etadi. PyQt, PyQt5 va PyQt6 kabi versiyalari mavjud bo'lib, 
har biri Qt toolkit'ini o'z ichiga oladi. 
PyQt kutubxonasi quyidagi vazifalarni bajarish uchun ishlatiladi: 
Foydalanuvchi interfeysi (UI) yaratish : PyQt orqali siz o'zingizning 
ilovangizning foydalanuvchi interfeysini, yani GUI oynasini yaratishingiz mumkin.
Bu, tugmalar, matn maydonchalari, ro'yhatlar, tashqi fayllar oynasi, tasvir oynasi 
va boshqa GUI komponentlarini o'z ichiga oladi. 
Hodisalarga javob bermoq : Foydalanuvchi bilan amalni bajarish, masalan, tugma
bosilganda, matn kiritilganda yoki ro'yhatdan tanlanganda qanday amal bajarish 
kerakligini belgilash.  Ranglarni boshqarish : PyQt orqali siz o'zingizning ilovangizda chizish va 
ranglarni boshqarish uchun imkoniyatlardan foydalanishingiz mumkin. 
Foydalanuvchi interfeysini boshqarish: Oyning o'lchamini o'zgartirish, oynani 
kengaytirish, oynani boshqarish va boshqa interfeysni o'zgartirish imkoniyatlari 
mavjud. 
Taqdimotlar va malumotlar bazalari bilan ishlash : PyQt orqali siz ma'lumotlar 
bazasidan malumotlar olish, o'zgartirish va o'zgartirilgan malumotlarni ko'rsatish 
uchun imkoniyatlardan foydalanishingiz mumkin. 
Quyidagi kod misoli, PyQt kutubxonasi orqali o'zining ilovasining oynasini 
yaratishni ko'rsatadi: 
from   PyQt5 . QtWidgets   import   QApplication ,   QWidget ,   QPushButton ,
QVBoxLayout 
class  MyWindow ( QWidget ): 
def  __init__ ( self ): 
super (). __init__ () # Asosiy oyna xususiyatlarini o'rnating 
self . setWindowTitle ( "PyQt Misol" ) 
self . setGeometry ( 100 ,  100 ,  300 ,  200 ) 
# Tugma yaratish 
self . button  =  QPushButton ( "Salom, PyQt!" ,  self ) 
# Tugmani bosishga oid hodisa (event) 
self . button . clicked . connect ( self . show_message ) 
# Oynani tuzish 
layout  =  QVBoxLayout ( self ) 
layout . addWidget ( self . button )  # Tugma bosilganda chiqadigan xabar 
def  show_message ( self ): 
print ( "Salom, PyQt!" ) 
if  __name__  ==  "__main__" : 
app  =  QApplication ([]) 
window  =  MyWindow () 
window . show () 
app . exec_ () 
Bu kod misoli, PyQt orqali o'zining ilovasining oynasini yaratadi va o'z ichiga 
olgan QPushButton (tugma) komponentini oynaga joylashtiradi. Tugma bosilganda
show_message metodiga oid hodisa (event) chaqiriladi, va konsolga "Salom, 
PyQt!" xabarini chiqaradi. Quyidagi kod misoli, PyQt kutubxonasi orqali o'zining 
ilovasining oynasini yaratishni ko'rsatadi: 
Tugma bosilganda show_message metodiga oid hodisa (event) chaqiriladi, va 
konsolga "Salom, PyQt!" xabarini chiqaradi.      
Mavzu : Matplotlib dastur interfeysi grafiklar bilan ishlash
Matplotlib yordam dasturlarining aksariyati pyplot submodul ostida joylashgan, va
odatda plt taxallus: ostida import qilinadi
import matplotlib.pyplot as plt
Endi Pyplot paketini plt deb atash mumkin.
Misol:
Diagrammada (0,0) pozitsiyadan (6,250) pozitsiyaga chiziq torting:
import   matplotlib . pyplot   as   plt
import   numpy   as   np
xpoints   =   np . array ([ 0 ,  6 ])
ypoints   =   np . array ([ 0 ,  250 ])
plt . plot ( xpoints ,  ypoints )
plt . show ()
Natija: X va y nuqtalarini chizish
plot()   funksiyasi   diagrammadagi   nuqtalarni   (markerlarni)   chizish   uchun
ishlatiladi.
Sukut bo yichaʻ   plot()   funksiya nuqtadan nuqtaga chiziq chizadi.
Funktsiya diagrammadagi nuqtalarni belgilash uchun parametrlarni oladi.
1-parametr   x o‘qi dagi nuqtalarni o‘z ichiga olgan massivdir.
2-parametr   y o‘qi dagi nuqtalarni o‘z ichiga olgan massivdir. Agar (1, 3) dan (8, 10) gacha bo'lgan chiziqni chizishimiz kerak bo'lsa, biz ikkita
massivni [1, 8] va [3, 10] chizma funktsiyasiga o'tkazishimiz kerak.
Misol
Diagrammada (1, 3) pozitsiyadan (8, 10) pozitsiyaga chiziq torting:
import   matplotlib . pyplot   as   plt
import   numpy   as   np
xpoints   =   np . array ([ 5 ,  10 ])
ypoints   =   np . array ([ 4 ,  15 ])
plt . plot ( xpoints ,  ypoints )
plt . show ()
Natija: Chiziqsiz chizish
Faqat   markerlarni   chizish   uchun   siz   qisqa   yorliq   qatori   belgilanishidan   'o'
parametridan foydalanishingiz mumkin, bu 'o' ;ringlar'.
import   matplotlib . pyplot   as   plt
import   numpy   as   np
xpoints   =   np . array ([ 1 ,  8 ])
ypoints   =   np . array ([ 3 ,  10 ])
plt . plot ( xpoints ,  ypoints ,  'o' )
plt . show ()
Natija: Bir nechta nuqta
Siz   xohlagancha   ko'p   nuqta   chizishingiz   mumkin,   faqat   ikkala   o'qda   bir   xil
miqdordagi nuqtalar mavjudligiga ishonch hosil qiling.
import   matplotlib . pyplot   as   plt
import   numpy   as   np
xpoints   =   np . array ([ 1 ,  2 ,  6 ,  8 ])
ypoints   =   np . array ([ 3 ,  8 ,  1 ,  10 ])
plt . plot ( xpoints ,  ypoints )
plt . show ()
Natija: Chiziq uslubi
Siz   linestyle   yoki   undan   qisqaroq   ls   kalit   so zdan   foydalanishingiz   mumkin.ʻ
chizilgan chiziq uslubini o'zgartirish:
import   matplotlib . pyplot   as   plt
import   numpy   as   np
ypoints   =   np . array ([ 3 ,  8 ,  1 ,  10 ])
plt . plot ( ypoints ,  linestyle   =   'dotted' )
plt . show ()
Natija: Syujet uchun teglar yaratish
Pyplot   bilan   xlabel()   va   ylabel()   funksiyalaridan   x   va   y   o qlari   uchun   yorliqʻ
o rnatishingiz mumkin.	
ʻ
import   numpy   as   np
import   matplotlib . pyplot   as   plt
x   =   np . array ([ 80 ,  85 ,  90 ,  95 ,  100 ,  105 ,  110 ,  115 ,  120 ,  125 ])
y   =   np . array ([ 240 ,  250 ,  260 ,  270 ,  280 ,  290 ,  300 ,  310 ,  320 ,  330 ])
plt . plot ( x ,  y )
plt . xlabel ( "X o'qqa nisbatan" )
plt . ylabel ( "Y o'qqa nisbatan" )
plt . show () Natija:
axvline   va   axhline   cheksiz vertikal / chizish gorizontal chiziqlar, 
berilgan   x   /   y   pozitsiyalarda. Ular odatda belgilash uchun ishlatiladi maxsus 
ma'lumotlar qiymatlari, masalan. bu misolda ning markaz va chegara qiymatlari 
sigmasimon funktsiya
axline ixtiyoriy yo'nalishlarda cheksiz to'g'ri chiziqlar chizadi.
import   matplotlib . pyplot   as   plt
import   numpy   as   np
t   =   np . linspace ( - 10 ,  10 ,  100 )
sig   =   1   /  ( 1   +   np . exp ( - t ))
plt . axhline ( y = 0 ,  color = "black" ,  linestyle = "--" )
plt . axhline ( y = 0.5 ,  color = "black" ,  linestyle = ":" ) plt . axhline ( y = 1.0 ,  color = "black" ,  linestyle = "--" )
plt . axvline ( color = "grey" )
plt . axline (( 0 ,  0.5 ),  slope = 0.25 ,  color = "black" ,  linestyle = ( 0 , ( 5 ,  5 )))
plt . plot ( t ,  sig ,  linewidth = 2 )
plt . xlim ( - 10 ,  10 )
plt . xlabel ( "t" )
plt . legend ( fontsize = 14 )
plt . show ()
Natija:

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" )