Sana: Informatika-9. 61 – dars. Mavzu: Amaliy mashg’ulot
Darsning maqsadi: a) Ta’limiy: O’quvchilarda Python dasturlash tilida funksiyalar va o’zgaruvchilarga doir dastur tuzish ko’nikmasini shakllantirish;
b) Tarbiyaviy: o’quvchilarni fanga bo’lgan qiziqishini oshirish orqali ularni tartib va intizomga o’rgatish
c) Rivojlantiruvchi: o’quvchilarning kompyuterdan foydalanish haqidagi bilim va tasavvurlarini hamda mantiqiy fikrlash darajasini oshirish .
Dars turi: Bilim, ko’nikma va malakalarini rivojlantirish
Dars uslubi: Aralash
Dars shakli: Savol-javob. Jamoa va kichik guruhlarda ishlash
Dars vositasi: Elektron resurslar, darslik, plakatlar, tarqatma materiallari
Darsning blok-chizmasi
T.r
|
Darsning bosqichlari
|
Vaqt
|
1
|
Tashkiliy qism
|
3 daqiqa
|
2
|
O’tilganlarni takrorlash
|
39 daqiqa
|
3
|
Uyga vazifa
|
3 daqiqa
|
Darsning borishi
Tashkiliy qism:Davomatni aniqlash
O’tilgan mavzuni takrorlash
1. Funksiyaning parametrlari nima?
2. Funksiyaning tanasida qaysi kodlar yoziladi?
3. Lokal o‘zgaruvchi deb nimaga aytiladi?
4. Global o‘zgaruvchi deb nimaga aytiladi?
5.Lokal va global o’zgaruvchilarning farqi nimada?
Mashlar bajarish
Misol. Berilgan ikkita sonning eng katta umumiy bo‘luvchisi (EKUB)ni topish dasturini tuzing. Funksiyadan foydalaning.
Berilgan ikkita sonning eng katta umumiy bo‘luvchisi (EKUB)ni topishning eng oddiy usuli maktab darsliklarida ko‘rsatib o‘tilgan bo‘lib, bunda ikkala son tub bo‘luvchilarga ajratiladi va ulardan umumiylari ko‘paytirib chiqiladi.
60=2*2*3*5
21=3*7
EKUB(60,21)=3
|
Bu usul matematikada qulay, lekin dasturlashda undan foydalanish noqulay va sekin kechadi. Shu sababli, Yevklid algoritmidan foydalaniladi
|
Yevklid algoritmida 2 ta usuldan foydalaniladi.
1-usul. Ikkita sonning kattasidan kichigi ayirib boriladi va ayirma kichik sondan kichik bo‘lib qolsa, ularning o‘rni almashtiriladi.
1) 60–21=39; 2) 39–21=18; 3) 21–18=3. EKUB(60,21)= 3
2-usul. Qadamlar sonini kamaytirish uchun ayirish o‘rniga qoldiqli bo‘lishdan foydalanish mumkin.
1. Ikkita sonning kattasini kichigiga bo‘lib, qoldiq topiladi.
2. Ularning o‘rni almashtiriladi.
3. 1- va 2-qadamlar sonlardan biri nol bo‘lguncha davom ettiriladi.
4. Oxirida qolgan son shu ikki son uchun EKUB bo‘ladi.
60/21=2*21+ 18 qoldiq 21/18=1*18+3 qoldiq 18/3=6*3+0 qoldiq EKUB(60,21)= 3
def ekub(a, b):
|
a, b parametrlarni qabul qiluvchi ekub nomli funksiya e’lon qilindi.
|
while a != 0 and b != 0:
|
Sikl tanasi buyruqlari a va b 0 ga teng bo‘lguncha takrorlanadi:
1-sikl. a = 60; b =21
2-sikl. a = 18; b =21
3-sikl. a = 18; b =3
4-sikl a = 0; b = 3 sikldan chiqadi.
|
if a > b: a %= b
|
Agar a soni b dan katta bo‘lsa, a/b qoldig‘ini a ga o‘zlashtiradi: 1-sikl. 60>21 -> a=60%21=18
3-sikl. 18>3 -> a=18%3=0
|
else:
b %= a
|
Aks holda, b/a qoldig‘ini b ga o‘zlashtiradi:
2-sikl. 18<21 b=21%18=3
|
ekub_q=a+b
|
ekub_q=0+3=3 EKUB ni hisoblaydi.
|
return ekub_q
|
ekub_q qiymatni qaytaradi.
|
a = int(input())
b = int(input()) print(ekub(a,b))
|
a, b ga qiymat beriladi.
|
60 21
3
|
2 ta son EKUBining funksiyasi chaqirilib, ekranga natija chiqariladi.
|
1. Berilgan to‘rtta sonning eng kichigini topuvchi dastur tuzing. Buning uchun min4 (a, b, c, d) funksiyasini yarating.
from math import*
a = int(input('a='))
b = int(input('b='))
c = int(input('c='))
d = int(input('d='))
print(min(a,b,c,d))
2. Berilgan a (haqiqiy) sonining k (butun) darajasini topuvchi dastur tuzing. Buning uchun daraja (a, k) funksiyasini yarating
from math import* def daraja(a,k):
b=pow(a,k)
return b
a=int(input('a='))
k=int(input('k='))
print(daraja(a,k))
3. Inglizcha harf va raqamlardan iborat satr berilgan. Ushbu satr qancha raqamdan iboratligini hisoblovchi dastur tuzing
Kiruvchi ma’lumot
|
Chiquvchi ma’lumot
|
jdf423h4545b5213b8u58hkj2k32
|
17
|
print('Satrni kiriting:') a=input('a=')
n=len(a)
s=0
for i in range(n):
if a[i].isdigit(): s=s+1
print(s)
4. Berilgan sonni akslantiruvchi dastur tuzing. Masalan, 123 dan 321 ni hosil qiling. Funksiyadan foydalaning.
a=input('a=') print(a[::-1])
Uyga vazifa
5. 0 bilan tugaydigan sonlar ketma-ketligi berilgan. Uning raqamlari yig‘indisini sikl ishlatmagan holda hisoblash dasturini tuzing. Masalan, 1 7 9 0 = 17
a=input('a=') n=len(a)
a=int(a)
s=0
from math import*
if a%10==0:
for i in range(1,n+1):
r=a//pow(10,i-1)%10
i+=1
s=s+r
print('s=',s)
else:
print('son 0 bilan tugamaydi')
6. Tonna, kilogramm va grammlarda berilgan birlikni grammga aylantirish funksiyasini yozing.
Kiruvchi ma’lumot
|
Chiquvchi ma’lumot
|
tonna=14
kg=32
g=125
|
14032125 g
|
print("Masssani kiriting") t=int(input('tonna='))
k=int(input('kg='))
g=int(input('g='))
m=1000000*t+1000*k+g print('m=',m,'g')
Sana: Informatika-9. 62– dars. Mavzu: Python dasturlash tili kutubxonasi
Darsning maqsadi:
a) Ta’limiy: O’quvchilarga Python dasturlash tili kutubxonasidagi modular haqida ma’lumot berish;
b) Tarbiyaviy: o’quvchilarni fanga bo’lgan qiziqishini oshirish orqali ularni tartib va intizomga o’rgatish
c) Rivojlantiruvchi: o’quvchilarning kompyuterdan foydalanish haqidagi bilim va tasavvurlarini hamda mantiqiy fikrlash darajasini oshirish .
Dars turi: Aralash (nazariy va amaliy).
Dars shakli: Sinfda ishlash, guruhda ishlash, yakka tartibda ishlash.
O‘qitish metodi va texnologiyalari: Aqliy hujum, savol-javob, kichik guruhlarda ishlash,
O’qitish vositasi: Elektron resurslar, darslik, plakatlar, tarqatma materiallari
Dars vositasi:kompyuter, proyektor
Tayanch tushunchalar: modullar
Darsning blok-chizmasi
T.r
|
Darsning bosqichlari
|
Vaqt
|
1
|
Tashkiliy qism
|
3 daqiqa
|
2
|
O’tilganlarni takrorlash
|
7 daqiqa
|
3
|
Yangi mavzu ustida ishlash
|
17 daqiqa
|
4
|
Yangi mavzuni mustahkamlash
|
15 daqiqa
|
5
|
Uyga vazifa
|
3 daqiqa
|
Darsning borishi
Tashkiliy qism
Davomatni aniqlash O’tilgan mavzuni takrorlash
1. Funksiyaning parametrlari nima?
2. Funksiyaning tanasida qaysi kodlar yoziladi?
3. Lokal o‘zgaruvchi deb nimaga aytiladi?
4.Global o’zgaruvchi deb nimaga aytiladi?
5.Lokal va global o’zgaruvchilarning farqi nimada?
Yangi mavzu bayoni
21>
Do'stlaringiz bilan baham: |