Darsning mavzusi: Payton dasturlash tilining ma’lumot turlari. Darsning maqsadi: O’quvchilarga dastur tuzish jarayonida ma’lumotlar bilan ishlashga to’g’ri kelganda ular ustida xatolikga yo’l qo’ymaslik. Ta’limiy: bilim

Darsning mavzusi: Payton dasturlash tilining ma’lumot turlari.
Darsning maqsadi: O’quvchilarga dastur tuzish jarayonida ma’lumotlar bilan ishlashga to’g’ri kelganda ular ustida xatolikga yo’l qo’ymaslik.
Ta’limiy:
bilim: o’quvchilarga ma’lumotlar turi haqida ma’lumot berish va ular ustida amallar bajarish.
ko’nikma: o’quvchilar bilan birgalikda dastur tuzib ko’rish va ko’nikmaga ega bo’lish.
tarbiyaviy maqsad: o’quvchilarni vaqtini behuda ketqazishni oldini olish va zamonaviy kasblarga qiziqtirish IT yo’nalishlariga mehr qo’yish.
rivojlantiruvchi maqsad: o’quvchilar bilan hamkorlikda ishlash va ularni kamchiliklarini to’g’rlash.
Dars turi: Yangi bilim berish.
Darsda foydalaniladigan jihozlar: Doska, proyektor, kompyuter, slaydlar.
Darsning rejasi:
Tashkiliy qisim 10 daqiqa
Uyga berilgan vazifalarni tekshirish 20 daqiqa
Yangi mavzuni tushuntirish 35 daqiqa
Yangi mavzuni mustahkamlash 35 daqiqa
O’quvchilarni baholash 10 daqiqa
Uyga vazifa 10 daqiqa
Darsning borishi:
Tashkiliy qisim:
Tashkiliy qism.
O’quvchilarni kompyuterlarini sozlaymiz darsimizni boshlash uchun kerakli dasturlarni ishga tushurib olamiz. Kompyuter oldidagi texnik nosozliklar bo’lsa ularni bartaraf qilamiz.
Uyga berilgan vazifani tekshirish.
Uyga berilgan vazifa quydagidan iborat:
O’quvchilar uylarida ma’lumotlar turi haqida ma’lumotlar to’plab kelishi
Ma’lumotlarni turlarini aniqlashni bilishi.
Yangi mavzuni tushuntirish.
Payton dasturlash tilida ma’lumot turlari bilan tanishamiz!
Qanday ma’lumot turlari bor?
Raqamlar bilan ishlash uchun INTEGER ma’lumot turidan foydalanamiz. Biz ushbu ma’lumot turining ustida matematik amallar bajaramiz.
Quyidagi bo'limlar tarjimonga o'rnatilgan standart turlarni tavsiflaydi.
Asosiy o'rnatilgan turlar raqamlar, ketma-ketliklar, xaritalar, sinflar, misollar va istisnolardir.
Ba'zi yig'ish sinflari o'zgaruvchan. A'zolarini joyiga qo'shadigan, ayiradigan yoki qayta joylashtiradigan va ma'lum bir elementni qaytarmaydigan usullar hech qachon to'plam misolining o'zini qaytarmaydi, lekin Yo'q.
Ba'zi operatsiyalar bir nechta ob'ekt turlari tomonidan qo'llab-quvvatlanadi; xususan, amalda barcha ob'ektlar tenglik uchun solishtirilishi, haqiqat qiymati uchun sinovdan o'tkazilishi va satrga aylantirilishi mumkin (repr() funktsiyasi yoki biroz boshqacha str() funktsiyasi bilan). Oxirgi funktsiya ob'ekt print() funksiyasi tomonidan yozilganda bilvosita ishlatiladi.
Haqiqat qiymati sinovi
Har qanday ob'ekt haqiqat qiymati uchun, if yoki while holatida yoki quyidagi mantiqiy operatsiyalar operandisi sifatida foydalanish uchun sinovdan o'tkazilishi mumkin.
Odatiy bo'lib, agar uning klassi False qaytaruvchi __bool__() usulini yoki ob'ekt bilan chaqirilganda nol qaytaruvchi __len__() usulini belgilamasa, ob'ekt rost deb hisoblanadi. 1 O'rnatilgan ob'ektlarning aksariyati noto'g'ri deb hisoblanadi:
yolg'on deb belgilangan konstantalar: None va False.
har qanday raqamli turdagi nol: 0, 0.0, 0j, oʻnlik(0), kasr(0, 1)
bo'sh ketma-ketliklar va to'plamlar: '', (), [], {}, set(), interval(0)
Mantiqiy natijaga ega bo'lgan amallar va o'rnatilgan funktsiyalar, agar boshqacha ko'rsatilmagan bo'lsa, har doim noto'g'ri uchun 0 yoki False, rost uchun 1 yoki True qaytaradi. (Muhim istisno: mantiqiy operatsiyalar yoki va va har doim ularning operandlaridan birini qaytaradi.)
Eslatmalar:
Bu qisqa tutashuv operatori, shuning uchun u faqat birinchisi noto'g'ri bo'lsa, ikkinchi argumentni baholaydi.
Bu qisqa tutashuv operatori, shuning uchun u faqat birinchisi to'g'ri bo'lsa, ikkinchi argumentni baholaydi.
not mantiqiy bo'lmagan operatorlarga qaraganda pastroq ustuvorlikka ega, shuning uchun not a == b not (a == b) deb talqin etilmaydi va a == not b - sintaksis xatosi.
Raqamli turlar - int, float, kompleks
Raqamning uchta turi mavjud: butun sonlar, suzuvchi nuqtali sonlar va murakkab sonlar. Bundan tashqari, mantiqiylar butun sonlarning kichik turidir. Butun sonlar cheksiz aniqlikka ega. Suzuvchi nuqta raqamlari odatda C da double yordamida amalga oshiriladi; Dasturingiz ishlayotgan mashina uchun suzuvchi nuqta raqamlarining aniqligi va ichki ko'rinishi haqida ma'lumot sys.float_info da mavjud. Murakkab sonlar haqiqiy va xayoliy qismga ega bo'lib, ularning har biri suzuvchi nuqta sonlaridir. Bu qismlarni z kompleks sonidan ajratib olish uchun z.real va z.imag dan foydalaning. (Standart kutubxona qoʻshimcha raqamli turdagi kasrlarni oʻz ichiga oladi. Ratsionallar uchun kasr va foydalanuvchi aniqlaydigan aniqlikdagi suzuvchi nuqtali raqamlar uchun oʻnlik kasr.)
Raqamlar raqamli harflar yordamida yoki o'rnatilgan funksiyalar va operatorlar natijasida yaratiladi. Bezaksiz butun sonli harflar (shu jumladan oltilik, sakkizlik va ikkilik raqamlar) butun sonlarni beradi. Kasr yoki ko'rsatkich belgisini o'z ichiga olgan raqamli harflar suzuvchi nuqta raqamlarini beradi. Raqamli harfga “j” yoki “J” qo‘shilsa, xayoliy son (haqiqiy qismi nol bo‘lgan kompleks son) hosil bo‘ladi, uni butun songa qo‘shishingiz yoki haqiqiy va xayoliy qismlarga ega kompleks sonni olishingiz mumkin.
Python aralash arifmetikani to'liq qo'llab-quvvatlaydi: agar ikkilik arifmetik operatorda turli xil raqamli operandlar mavjud bo'lsa, "torroq" turdagi operand boshqasinikiga kengaytiriladi, bunda butun son suzuvchi nuqtadan torroq, murakkabdan torroqdir. Turli xil raqamlar o'rtasidagi taqqoslash xuddi shu raqamlarning aniq qiymatlari taqqoslanayotgandek harakat qiladi. 2
Int(), float() va kompleks() konstruktorlari muayyan turdagi raqamlarni ishlab chiqarish uchun ishlatilishi mumkin.
Barcha raqamli turlar (murakkabdan tashqari) quyidagi operatsiyalarni qo'llab-quvvatlaydi (operatsiyalar ustuvorligi uchun Operator ustuvorligiga qarang):
Eslatmalar:
Butun sonli bo'linish deb ham ataladi. Natijaning turi int bo'lishi shart emas, natijada olingan qiymat butun sondir. Natija har doim minus cheksizlikka yaxlitlanadi: 1//2 0, (-1)//2 -1, 1//(-2) -1 va (-1)//(-2) 0.
Murakkab raqamlar uchun emas. Buning o'rniga, agar kerak bo'lsa, abs() yordamida floatga aylantiring.
Suzuvchi nuqtadan butun songa aylantirish C dagi kabi yaxlitlanishi yoki qisqarishi mumkin; aniq belgilangan konvertatsiyalar uchun math.floor() va math.ceil() funksiyalariga qarang.
float shuningdek, "nan" va "inf" qatorlarini Raqam emas (NaN) uchun ixtiyoriy "+" yoki "-" prefiksi va ijobiy yoki salbiy cheksizlik bilan qabul qiladi.
Python dasturlash tillari uchun odatiy hol bo'lganidek, pow(0, 0) va 0 ** 0 ni 1 deb belgilaydi.
Qabul qilingan raqamli harflar 0 dan 9 gacha bo'lgan raqamlarni yoki har qanday Unicode ekvivalentini (Nd xususiyatiga ega kod nuqtalarini) o'z ichiga oladi.
Nd xususiyatiga ega kod nuqtalarining toʻliq roʻyxatini https://www.unicode.org/Public/14.0.0/ucd/extracted/DerivedNumericType.txt ga qarang.
Barcha raqamlar.Real turlari (int va float) quyidagi amallarni ham o'z ichiga oladi:
Butun sonlar turlari bo'yicha bitli amallar
Bitli operatsiyalar faqat butun sonlar uchun mantiqiy. Bit bo'yicha operatsiyalar natijasi cheksiz sonli belgi bitlari bilan ikkita to'ldiruvchida bajarilgandek hisoblanadi.
Ikkilik bitli operatsiyalarning ustuvorliklari soni operatsiyalardan past va taqqoslashlardan yuqori; birlik operatsiya ~ boshqa unar raqamli amallar (+ va -) bilan bir xil ustuvorlikka ega.
Ushbu jadvalda ortib borayotgan ustuvorlikda tartiblangan bit bo'yicha operatsiyalar ro'yxati keltirilgan:
Yangi mavzuni mustahkamlash
O’quvchilar bilan birgalikda mavzumizdagi ma’lumot turlariga misollar keltiramiz va mavzumizni mustahkamlaymiz.
|