|
Pyhtonda mantiqiy ma’lumotlar turlari, mantiqiy amallar va shart operatori
|
bet | 2/2 | Sana | 27.01.2024 | Hajmi | 32,52 Kb. | | #146833 |
Bog'liq Amaliy topshiriq-2 dasturlash tillari 2 Shamiyeva .D
Ma’lumotlar turini o’zgartirish
O’zgaruvchi tarkibida ixtiyoriy turdagi ma’lumot saqlanishi mumkin. Ma’lumotlar turini o’zgartirish uchun mos ma’lumotlar turi buyruqlaridan foydalaniladi. input() operatori yordamida kiritilgan ma’lumotlar satrli ko’rinishda bo’ladi.
Sintaksisi:
input(kiruvchi ma’lumot)
|
input–
operator(yoki funksiya);
kiruvchi ma’lumot
– bu o‘zgaruvchi yoki vergul bilan ajratilgan
o‘zgaruvchilar ketma-ketligi.
|
Butun son turidagi ma’lumotlarni kiritish uchun
int(input()) ko‘rinishida ishlatish lozim.
Yoki kiritilgan ma’lumot turini int() funksiyasi
yordamida o‘zgartirish kerak.
Python dasturlash tilida matematik funksiyalar Python dasturlash tili tarkibida mavjud bo‘lgan matematik funksiyalar standart funksiyalar deb ataladi. Ifodalar tarkibidagi funksiyalarni Python dasturlash tilida ifodalash uchun satandart funksiyalardan foydalaniladi. Funksiyalarni python dasturlash tilida ifodalash uchun ularni argumentlarini albatta qavsga olib yozish kerak. Python dasturlash tilida matematik funksiyalardan foydalanish uchun albatta python tili tarkibidagi matematik funksiyalar kutubxonasiga murojat qilish kerak. Matematik funksiyalar kutubxonasiga murojat qilish quyidagicha. from math import* Python dasturlash tili tarkibidagi matematik funksiyalar yozilishi quyidagi ro‘yxat asosida amalga oshiriladi. № Python dasturlash tilida ifodalanishi Matematik ifodalanishi 1 trunc(x) Sonning butun qismi trunc(5.8)=5, trunc(- 5.8)=-5 2 sqrt(x) x ning kvadrat ildiz 3 log(x), log2(x), log10(x) x x x 2 10 ln , log , log 40 4 log(x,a) x a log 5 sin(x), cos(x), tan(x) Sinx, cosx, tgx trigonametrik funksiyalar 6 asin(x), acos(x), atan(x) Arcsinx, arccosx, arctgx teskari trigonametrik funksiyalar 7 atan2(x,y) 8 degrees(x) Radiandan gradusga o‘tkazish funksiyasi 9 radians(x) Gradusdan radianga o‘tkazish funksiyasi 10 sinh(x), cosh(x), tanh(x) Giperbolik Sinx, cosx ,tgx trigonametrik funksiyalar 11 asinh(x), acosh(x), atanh(x) Giperbolik Arcsinx, arccosx, arctgx teskari trigonametrik funksiyalar 12 hypot(x,y) Katetlari x va y bo‘lgan to‘g‘ri burchakli uchburchakning getatinuzasini topish 13 factorial(x) X faktorialni hisoblash funksiyasi 14 gamma x ning gamma funksiyasi 15 pi π soni π=3.1415… 16 e Eksponentsial funksiaya e=2.71… Matematik funksiyalarning bajarilish jarayoni, matematikada qanday bo‘lsa python dasturlash tilida ham xuddi shunday amalga oshiriladi. Matematik funksiyalarni ishlash jarayoni tushunarli bo‘lishi uchun, ularni interaktiv rejimda sinab ko‘ramiz. Chunki interaktiv rejim bir vaqtning uzida natija qaytaradi. Misol. Matematik funksiyalarni bajarilishi dasturlash tilida standart kutubxona tarkibida ketma ketliklar ustida bir nechta maximum, minimum, summa kabi funksiyalar aniqlangan. Boshqa dasturlash tillarida bu funksiyalar alohida algoritmlar yordamida tuzib olinadi, python dasturlash tilida esa bu funksiyalar tayyor holda saqlanadi. Qo‘shimcha funksiyalar quyidagi jadval ko‘rinishida amalga oshiriladi. 42 № Python dasturlash tilida ifodalanishi Matematik ifodalanishi 1 max(a,b,…) Sonlar yoki kortej ichidan eng kattasini topish. max(2,-8)=2 2 min(a,b,…) Sonlar yoki kortej ichidan eng kichigini topish. min(2,-8)=-8 3 sum(a,b,…) Sonlar yoki kortej yig‘indisini topish. sum(2,- 8)=-6 4 sorted(a,b,…) Sonlarni tartiblash. sorted(3,12,-9)=(-9,3,12) Qo‘shimcha funksiyalarni ishlash jarayoni tushunarli bo‘lishi uchun, ularni interaktiv rejimda sinab ko‘ramiz. Chunki interaktiv rejim bir vaqtning uzida natija qaytaradi. Misol. Qo‘shimcha funksiyalarni bajarilishi Type "help", "copyright", "credits" or "license()" for more information. >>> max(12,5,-8,7) 12 >>> min(12,5,-8,7) -8 >>> a=(1,2,3,0,-12,123) >>> a (1, 2, 3, 0, -12, 123) >>> max(a), min(a), sum(a) (123, -12, 117) >>> sorted(a) [-12, 0, 1, 2, 3, 123] >>> Misol. Quyidagi ifodalarni python tilida ifodalash. 43 Matematik ifodasi y = (x + sinx) 3 − cos2 x + 1 + logax √t − x 2 Python tilida ifodalanishi y=pow((x+sin(x)),3)+sqr(cos(x))+(1+log(x,a))/(sqrt(t-x**2)); Misol. Quyidagi ifodalarni Python tilida ifodalash. Matematik ifodasi y = |x − 2| + sinx − | 4 √t − x 2 | Python tilida ifodalanishi y=abs(x-2)+sin(x)-abs(4/sqrt(t-x**2));
Python dasturlash tili tarkibida dastur tuziladigan vaqtda albatta matematik ifodalar, amal ishoralar va mantiqiy amallar ishtirok etishi mumkin. Dastur dasturlash tillarida amallar matematikadan yozilishi bilan farq qiladi. Dasturlash asoslarida amallarni ikki turga ajratamiz: -arifmetik amallar; -mantiqiy amallar; Arifmetik amallar Berilganlarni qayta ishlash uchun dasturlash tillarida amallarning juda keng majmuasi aniqlangan. Amal - bu qandaydir harakat bo‘lib, u bitta (unar) yoki ikkita (binar) operandlar ustida bajariladi, hisob natijasi uning qaytaruvchi qiymati hisoblanadi. Tayanch arifmetik amallar dasturlash tilida quyidagicha yoziladi.
Dasturlash asoslarida arifmetik amallar matematikadagi amallarni yozilishi bir oz farq qiluvchi holatlari ham mavjud. Amallarni ishlash jarayoni tushunarli bo‘lishi uchun, ularni interaktiv rejimda sinab ko‘ramiz.
Yuqoridagi misollarga e’tibor bersangiz // butun bo‘lish amali bo‘luvchi va bo‘linuvchi butun son bo‘lsa natija ham butun bo‘ladi. Agar bo‘luvchi va bo‘linuvchining kamida bittasi haqiqiy son bo‘lsa ham natija haqiqy bo‘ladi. Python dasturlash tilida amallarni funksiyalar orqai ham amalga oshirish imkoniyati mavjud
Round(x) funksiya sonning butun qismigacha yaxlitlaydi, round(x,n) funksiyasi sonning n – xonasigacha yaxlitlaydi, pow(x,y)=x**y ga teng kuchli va a,b=divmod(x,y) funksiyasi bir vaqtda x ni y ga bo‘lib butun va qoldiq qismlarini oladi. Funksiyali amallarni ishlash jarayoni tushunarli bo‘lishi uchun, ularni interaktiv rejimda sinab ko‘ramiz.
Ta’minlash operatori Ma’lum bir ifodaning natijasi biror o‘zgaruvchiga ta’minlash uchun Python dasturlash tilida “=” belgisi bilan ishlatiladi va uning umumiy ko‘rinishi quyidagicha: =; Python dasturlash tilida taminlash operatori amallar yordamida ham ishlatiladi. Qo‘shish qiymat berish bilan (+=); ayirish qiymat berish bilan (-=); ko‘paytirish, qiymat berish bilan (*=); bo‘lish qiymat berish bilan (/=); bo‘lish qoldig‘ini olish qiymat berish bilan (%=) va boshqalar. Bu holatlarning umumiy ko‘rinishi: =; s+=x; ning ma’nosi s=s+x;
Masalalarni echishda eng muhim elementlardan biri bu "shart" deb nomlangan va bu "agar to'g'ri borsang, boshingni yo'qotasan, to'g'ri ketasan va otingni yo'qotasan..." yoki ko'proq oddiygina vaziyat "agar... bo'lsa"... aks holda... Agar "Shart" blokida ko'rsatilgan shart bajarilsa, "YES shart" ga (YES amallar) mos keladigan amallar bajariladi, aks holda "YO'Q shart" (NO amallari) ga mos keladigan harakatlar bajariladi. Shartlarni shunday qo’yish kerakki, har qanday holatni natijasi tekshirishda ikki holarda bo’lsin - shart bajarilgan yoki bajarilmagan. AGAR bitta tanlov barcha variantlarni qamrab olmasa, "o'rnatilgan" shartlar qo'llaniladi. Shartlar bir-biriga ichma-ich kiritilishi mumkin (joylashish darajasi cheklanmagan). Ushbu holat "tanlov" deb ham nomlanadi. shartni tekshirishni ta'minlash uchun dasturlash tillarida IF("agar") ning maxsus aralashmasi ishlatiladi. Ushbu operatorda tekshirilishi kerak bo'lgan shartlar va YES va NO tarmoq uchun amallar ko'rsatilgan. IF operatori qanday ishlashini tushunish uchun odatiy shartlarni tekshirish va tanlash vazifalarini ko'rib chiqaylik. 1 topshiriq. Havo harorati uchun dastur tuzing va Agar daraja bo’lsa “Yaxshi ob-havo!" matnni aks ettirish va agar "yomon havo" matnni. Masalani qo’yilishi: Boshlang'ich ma'lumotlar qiymati t, s satrni shakllantirish kerak. Agar da s = 'Ob-havo yaxshi!' aks holda s = 'Yomon ob-havo!'. Dasturning matni: kirish t agar (t >10) bo'lsa s = 'Ob-havo yaxshi!' aks holda s = 'Yomon ob-havo!' agar tamom chiqish s Pythonda dastur matni : Image not found or type unknown Haroratni darajalarda kiritingOb-havo yaxshi ! Dasturning har bir "tarmoq" ning boshi " : " belgisi bilan ko'rsatilgan. IF (agar) operatorida shart qavsga olinmagan. Shunday qilib, IF operatorining oxiri yo'q. Pythonning fikriga ko'ra, keyingi operator yozuvsiz, satrda boshlanadi. Shunday qilib, Python-da belgilarni ajratish muhim rol o'ynaydi. Dastur davomida bir nechta shartni tekshirish talab qilinishi mumkin. Bunday holatda biz if-elif-else ketma-ketligidan foydalanamiz. elif - else va if so'zalrining jamlanmasi bo'lib, "aks holda, agar" deb tarjima qilinadi. Bunday if bilan boshlangan ketma-ketlik bir nechta elif lardan iborat bo'lishi mumkin. Python avval if shartini tekshiradi, shart bajarilmasa elif ga o'tadi, birinchi elif sharti bajarilmasa keyingi elif ga o'tadi va hokazo davom etaveradi. 2 topshiriq (xuddi shu manba). P bahoni chiqarish dasturini tuzing. Agar P=5 bo’lsa, “Ofarin!”, P=4 bo’lsa, “Yaxshi!” va P≤3 bo’lsa, “Ish yoqmas!” matnlari chiqarsin. Masalani qo’yilishi: P natural son berilgan bo’lsin va 5 dan oshmaydigan qiymat berilgan holda qiymatga qarab, P shartda ko'rsatilgan qoidalarga muvofiq s satrni hosil qilishingiz kerak. P qiymatni ketma-ket ikki marta tekshirish kerak. Dasturning matni: kiritish P agar (P = 5) bo'lsa s = 'Ofarin! » aks holda agar (P = 4) s = 'Yaxshi!' aks holda s = 'Ish yoqmas!' agar tamom chiqish s Python dasturi: Image not found or type unknown Sizning bahoingiz? 4 Yaxshi ! Yuqorida aytganimizdek, if-elif-else zanjirida shartlarning biri bajarilishi bilan, Python qolgan shartlarni tekshirmaydi va ularni bajarmaydi. Lekin ba'zida biz 2 yoki undan ko'p shartlarni tekshirishni talab qilishimiz mumkin, buing uchun AND va OR operatorlaridan foydalanamiz. OR operatori OR ingliz tilidan "yoki" deb tarjima qilinadi, va ikki va undan ko'p shartlardan biri bajarilishini tekshirishda ishlatiladi. 3 topshiriq. Hafta kuni berilgan bo’lsin, agar shanba yoki yakshanba bo’lsa bugun dam olish kuni, aks holda ish kuni degan xabarni chiqarsin. Masalani qo’yilishi. Ixtiyoril hafta o’zgaruvchisini tekshirsin, agar shanba yoki yakshanba bo’lsa dam olish kuni yozuvini chiqasin aks holda ish kuni. Python dasturi: Image not found or type unknown Hafta kunini kiriting? yakshDam olish kuni ! AND OPERATORI AND ingliz tilidan "va" deb tarjima qilinadi, va ikki va undan ko'p shartlarning barchasi bajarilishini tekshirishda ishlatiladi. AND operatori bilan yozilgan shartlarning barchasi bajarilgandagina TRUE qiymati qaytadi, agar shartlardan biri bajarilmay qolsa ham FALSE qiymati qaytadi. 4 topshiriq. Butun tipga tegishli x o‘zgaruvchi berilgan. Uning qiymatiga mos keluvchi f funksiyaning butun qiymati hisoblansin. Image not found or type unknown Python dasturi: Image not found or type unknown x ga qiymat kiriting: 3 f(x)= 6 5 topshiriq. Ikkita haqiqiy son berilgan. Agar ularning birinchisi ikkinchisidan kichik bo‘lsa, uni nol bilan, aks holda berilgan sonlarning o‘rta arifmetigi bilan almashtiring. Python dasturi: Image not found or type unknown Ikkita haqiqiy son kiriting a=9 b=2 Birinchi son katta = 5.5 6 topshiriq. Ikkita haqiqiy son berilgan. Bu sonlarning kichigini yarim yig‘indisi bilan, kattasini esa ko‘paytmasi bilan almashtiring. Python dasturi: Image not found or type unknown Ikkita haqiqiy son kiriting a=9 b=5 Kichik son b = 7.0 Katta son a = 45.0 7 topshiriq. Uchta o‘zaro har xil sonlarning yig‘indisi birdan kichik bo‘lsa, berilgan sonlarning eng kichigi, aks holda eng kattasi topilsin. Python dasturi: Image not found or type unknown Uchta haqiqiy son kiriting a=6 b=8 b=9 Kichik son = 6.0 8 topshiriq. Uchta a, b va c haqiqiy sonlar berilgan bo‘lsin. Tomonlari shu sonlarga teng uchburchak mavjudmi? Mavjud bo‘lsa, uning perimetri va yuzi topilsin. Python dasturi: Image not found or type unknown Uchta haqiqiy son kiriting a=7 b=8 c=9 Uchburchak mavjud Uchburchak perimetri= 24.0 Uchburchak yuzi= 26.832815Eslatma. Ildizlar va logarifmlarni hisoblashda, math modulning sqrt() va log() funksiyalaridan foydalaning. math.pi modulidan pi() o’zgarmas aniqlanadi.
|
| |