Barcha dasturlash tillari kabi Python dasturlash tili ham rivojlanib, zamonga va talabga qarab ishlab chiqaruvchilar tomonidan o’zgarishlar kiritib borilmoqda



Download 4,22 Mb.
bet23/52
Sana23.12.2022
Hajmi4,22 Mb.
#894684
1   ...   19   20   21   22   23   24   25   26   ...   52
Bog'liq
Python дастурлаш тили Lotin yangi

Tarkibli (qo’shma) operatorlar
Boshqa dasturlash tillarida ham if operatorida shartning bajarilishi yoki bajarilmasligiga qarab faqat bitta operator ishlatilar edi. Agar dastur kodining bu qismida bir nechta operatordan foydalanish zarurati tug’ilsa bu operatorlar tarkibli (qo’shma) operatorlar deb yuritilib Delphi tilida begin va end orasida, C++ tilida { } lar orasida yozilar edi.
Python dasturlash tilida biroz farq qiladi. Ya’ni if operatorida tekshirilayotgan shartdan so’ng bir nechta operator, ya’ni tarkibli operatorlarni yozish zarurati bo’lsa ular keyingi satrdan boshlab kamida bitta probel tashlangan holda har bir satr aloxida-aloxida yoziladi. Masalan:

  1. if e1  e2:

operator1
operator2
. . .
operatorN



  1. if e1  e2:

operator1
operator2
. . .
operatorN
else:
operatorM



  1. if e1  e2:

operator11
operator12
. . .
operator1N
elif e3  e4:
operator21
operator22
. . .
operator2N
elif e5  e6:
operator31
operator32
. . .
Operator3N
. . .
else: operatorM

Python dasturlash tilida tarkibli operatorlarni yozish qoidasi dasturlashning boshqa operatorlarida ham tadbiq qilinadi.


Masala. Kvadrat tenglamaning ildizlarini aniqlash dasturi tuzilsin.
ax2 + bx + c = 0 ko’irinishidagi tenglamalar kvadrat tenglamalar deb yuritilib, a, b, c – kvadrat tenglamaning koeffitsientlari, d = b2 – 4ac diskriminant bo’lib, uning qiymatining ishorasiga qarab dasturning bajarilish tartibi o’zgarar edi. Ya’ni agar d > 0 bo’lsa ikkita ildizga, d = 0 yagona ildizga va agar d < 0 haqiqiy ildizlari mavjud bo’lmaydi.

# Kvadrat tenglam ildizlarini xisoblash


import math
print('Kvadrat tenglamani echamiz')
a = input('a = ')
a = float(a)
b = input('b = ')
b = float(b)
c = input('c = ')
c = float(c)
d = b**2 - 4*a*c
print('Diskriminant = ' + str(d))
if d > 0:
print('Ikkita xakikiy ildizga ega')
x1 = (-b + d ** 0.5) / (2 * a)
x2 = (-b - d ** 0.5) / (2 * a)
print('x1 = ' + str(x1))
print('x2 = ' + str(x2))
elif d == 0:
print ('Yagona ildizga ega')
x = -b / (2 * a)
print('x = ' + str(x))
else:
print('Tenglama izdizi mavjud emas')

Dasturni kiritib, o’zgaruvchilarga mos ravishda 2; 3.7 va 1.1 qiymatlarini kiritsak, d > 0 bo’ladi. Tenglama ikkita haqiqiy ildizga ega bo’ladi va natijani oynaga chiqaradi. Boshqarish, ya’ni dasturning bajarilish ketma-ketligi else operatoridan keyingi satrga uzatiladi. else operatoridan so’ng xech qanday bajariladigan operatorlar yo’q bo’lganligi uchun dastur bajarilishi to’xtatiladi.


Agar d > 0 shart bajarilsa, qolgan shartlar bajarilmaydi. Dasturda d > 0 shart bajarilmasa d == 0 shartning bajarilishi tekshiriladi. Shart bajarilsa elif (aks holda agar) sharti bo’limidagi operatorlar bajariladi, agar bu shart ham bajarilmasa, else yordamchi so’zi operatorlari bajariladi. Ushbu dasturda uchala shartdan bittasi albatta bajariladi.
Birinchi holda:
Kvadrat tenglamani echamiz
a = 2
b = 3.7
c = 1.1
Diskriminant = 4.890000000000001
Ikkita xakikiy ildizga ega
x1 = -0.37216639031260046
x2 = -1.4778336096873996

Ikkinchi holda:


Kvadrat tenglamani echamiz
a = 2
b = 4
c = 2
Diskriminant = 0.0
Yagona ildizga ega
x = -1.0

Uchinchi holda:


Kvadrat tenglamani echamiz


a = 4
b = 1.3
c = 2.4
Diskriminant = -36.71
Tenglama izdizi mavjud emas

Yuqoridagilardan, shartli o’tish operatori ham shartning bajarilishi yoki bajarilmasligiga qarab bir marta bajariladi.


Yuqoridagi dasturdagi o’zgaruvchilarga qiymat berish qismini yanada ixcham ko’rinishida tuzish mumkin edi. Bu esa dastur satrlarinin kamayishiga olib keladi. Ya’ni:
a = float(input('a= '))
b = float(input('b= '))
c = float(input('c= '))

Python dasturlash tilida murakkab shartlardan foydalanish imkoni ham mavjud, ya’ni tekshirilayotgan shartlar mantiqiy amallar yordamida tartiblanishi mumkin.


Masala. A nuqta o’zining x va y koordinatalari bilan berilgan. Shu nuqtaning 11-rasmdagi tekislikka tegishli yoki tegishli emasligini aniqlash dasturi tuzilsin.
Kiritilgan A(x,y) nuqta shu figuraga tegishli bo’lishi uchun nuqtaning koordinatalari quyidagi sistemani qanoatlantirishi kerak.

Dastur kodini tuzishda shartlarni and (mantiqiy va) amali yordamida birlashtiramiz.

# Nuktaning berilgan figuraga tegishliligini aniklash


x = float(input('x= '))
y = float(input('y= '))
if ( x>= 0) and (y >= 0) and (x + y <= 1): print('A(',x,',',y,') nukta figuraga tegishli')
else: print('A(',x,',',y,') nukta figuraga tegishli emas')

Dasturni kiritib quyidagi natijalarga erishamiz.


================= RESTART: E:/PYTHON/Figura.py ================
x= 0.4
y= 0.1
A( 0.4 , 0.1 ) nukta figuraga tegishli

================= RESTART: E:/PYTHON/Figura.py ================


x= 1.1
y= 0.8
A( 1.1 , 0.8 ) nukta figuraga tegishli emas

Yuqorida aytib o’tganimizdek, Python dasturlash tilida boshqa dasturlash tillaridan farqli ravishda bir nechta kattaliklarni taqqoslash mumkin va dastur tuzishda bevosita foydalanish mumkin bo’ladi. Bunday imkoniyatni quyidagi masalada ko’rib o’taylik.


Masala. Quyidagi shartlarni qanoatlantiruvchi y funksiyasining qiymatlarini hisoblang.

Masala shartiga ko’ra, agar -5 <= x < 2 bajarilsa, y = x2 + 5x funksiyasining qiymatlarini hisoblaymiz, aks holda y = 3x + 4 funksiyasining qiymati hisoblanadi. Albatta bu shartlar bir-birini inkor qiladi, ya’ni birinchi shart bajarilmasa albatta ikkinchi (x < -5 yoki x >= 2) shart bajariladi.
Dastur kodi bilan tanishib chiqamiz:
x = float(input('x= '))
if -5 <= x < 2 :
y = x*x + 5*x
print('y=',y)
else:
y = 3*x + 4
print('y=',y)

Dasturda x = -2 bo’lsa, y = -6 ga; x = -6 bo’lsa, y = -14 ga, x = 5 bo’lsa, y = 19 qiymatlarga ega bo’lamiz. Tekshirib ko’ring.


Dasturlashda biror sonning juft yoki toqligini tekshirish uchrab turadi. Bunday holda berilgan sonni ikkiga bo’lib uning qoldig’ini tekshirish qulay bo’ladi. Agar qoldiq 0 ga teng bo’lsa (n % 2 == 0), berilgan son juft, aks holda toq bo’ladi. Agar ikkita n va m sonlarini juftligini tekshirish uchun ularning ikkalasini chinligini tekshirish kerak bo’ladi. Bunday holda ularni yuqoridagi misolimiz kabi and (mantiqiy va) operatori bilan birlashtiriladi. Masalan, n % 2 == 0 and m % 2 == 0.



Download 4,22 Mb.

Do'stlaringiz bilan baham:
1   ...   19   20   21   22   23   24   25   26   ...   52




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish