V. Uyga vazifa
Mustahkamlash
Qabul qildi : MMIDO` _________S.Egamov
Sana:__________________
Mavzu: Chiziqli dasturlar tuzish
Maqsad:
1) ta’limiy: o`quvchilarga chiziqli dasturlar tuzishni o`rgatish;
2) tarbiyaviy: o`quvchilarga estetik tarbiya berish;
3) rivojlantiruvchi: o`quvchilarning dasturlash ko`nikmalarini rivojlantirish.
1. Axborotlarni izlash va elektron vositalarda yig‘ish kompetensiyasi
Axborotlar ustida bajariladigan amallarga oid vazifalarni bajara oladi;
2. Axborotlarni elektron vositalarda qayta ishlash va saqlash kompetensiyasi
axborot hajmi, uzatish tezligi bilan bog‘liq masalalarni, axborotlarni qayta ishlashni mustaqil bajara oladi;
3. Axborotlarni elektron vositalar orqali uzatish kompetensiyasi
Axborot o‘lchov birliklari va uzatish tezligi imkoniyatlarini hisobga olgan holda uzatiladigan va olinadigan axborotlar hajmini hisoblay oladi;
DTS: Chiziqli algoritmlarni dastur ko`rinishida yoza olish.
Darsning borishi
I. Tashkiliy davr
II. Takrorlash
Paskalda matn holatida ekran bilan ishlash uchun qanday moduldan foydalaniladi?
Paskalda asosan necha xil rang ishlatilishi mumkin?
Matn rangini qanday operator orqali o‘zgartiriladi?
Matn foni rangini qanday operator orqali o‘zgartiriladi?
ClrScr operatori qanday maqsadlarda qo’llaniladi? Javobingizni misollar bilan izohlang.
Ekran matn holatida necha satr va ustundan iborat?
Matnni ekranning istalgan joyiga chiqarish mumkinmi? Javobingizni izohlang.
III. Yangi mavzuni o`rganish
Odatda, chiziqli algoritmlarning dastur shaklida yozilishi chiziqli dastur deb ataladi. Demak, chiziqli dasturdagi barcha operatorlar ketma-ket kelish tartibida bajariladi va xech qanday shart tekshirilmaydi.
1–misol. Radiusi R bo‘lgan aylananing uzunligini hisoblash dasturi tuzilsin va R=9 birlik qiymat uchun bajarilsin.
Yechish: Aylananing uzunligini hisoblash formulasini esga olamiz: L=2πR. Paskal dasturlash tilida u S := 2*pi*R ko‘rinishga yoziladi. Dasturda bitta o’zgarmas pi va ikkita o‘zgaruvchi R va L qatnashadi. Masala shartiga ko‘ra R=9, ya’ni butun son. Shu sababli R o‘zgaruvchi turini Integer deb olamiz. Aylananing uzunligi L esa ko‘paytmada π qatnashgani uchun, albatta haqiqiy (Real) turli bo‘ladi. Aytilganlarni hisobga olib quyidagi dasturni tuzamiz:
Program aylana_uzunligi;
Var R:Integer; L:Real;
Begin
r := 9; L := 2*pi*R; WriteLn(‘L=‘,L,‘ birlik.‘); readln;
End.
Dastur ishga tushirilgach (Ctrl+F9 klavishalar juftligi bosilgach yoki Run menyusidan Run bandi tanlangach), ekranda quyidagi natija hosil bo‘ladi: L= 5.6548667765E+01 birlik.
Dasturda L – real turli bo‘lgani uchun natija eksponensial ko‘rinishda chiqdi. Agar chiqarish operatorida L:7:2 formatidan foydalansak radiusi 9 birlik bo‘lgan aylananing uzunligi 56,54 birlikka tengligi ko’rinadi.
Bu dastur yordamida ixtiyoriy butun radiusli aylananing uzunligini hisoblash mumkin. Faqat har safar dasturdagi R ning qiymatini o‘zgartirib turish lozim. Dasturga har safar o‘zgartirish kiritmaslik uchun R ning qiymatini kiritish operatori yordamida beramiz. Radiusning qiymati doim butun son bo‘lavermasligini inobatga olib, uni Real turdagi o‘zgaruvchi sifatida tavsiflaymiz. Bularni hisobga olib quyidagi dasturni tuzamiz:
Dasturi
|
Ekrandagi natija
|
Program aylana_uzunligi;
Var r, L : Real;
Begin
Write(‘Radiusni kiriting : ‘); ReadLn(r);
L := 2*pi*r; WriteLn(‘L= ‘,L,‘birlik.‘); readln;
End.
|
Radiusni kiriting : 9
L= 5.6548667765E+01 birlik
|
Bu dastur ishga tushirilgach, ekranga “Radiusni kiriting : ” yozuvi chiqadi va yurgich shu satrda qoladi. ReadLn operatori dastur bajarilishini to‘xtatib, R o‘zgaruvchiga qiymat berilishini kutadi. Klaviatura orqali radiusning sonli qiymati 9 ni kiritib Enter klavishi bosilsa, R o‘zgaruvchining qiymati 9 ga teng deb olinib dastur bajarilishda davom etadi. Natijada kompyuter ekranida izlangan natija hosil bo‘ladi. Dasturni qayta-qayta ishlatib, turli radiusli aylanalar uzunligini hisoblashni tashkil etishimiz mumkin.
2–misol. Tomonlari mos ravishda a, b, c bo‘lgan ixtiyoriy uchburchakning yuzini Geron formulasi orqali hisoblash dasturini tuzing va a=3, b=4, c=5 qiymatlarda hisoblang.
I usul
|
II usul
|
Program Uchburchak_yuzi;
Var a,b,c:Integer; {uchburchak tomonlari}
yp,s:Real; {yp-yarim perimetr, s-yuza}
Begin
a:=3; b:=4; c:=5; yp:=(a+b+c)/2;
s:=sqrt(yp*(yp-a)*(yp-b)*(yp-c));
WriteLn(‘S= ‘,s,‘ kvadrat birlik‘);
Readln;
End.
|
Program Uchburchak_yuzi;
Var a,b,c:Integer; {uchburchak tomonlari}
yp,s:Real; {yp-yarim perimetr, s-yuza}
Begin
Write(‘a,b,c ning qiymatlari kiritilsin ‘);
ReadLn(a,b,c); yp:=(a+b+c)/2;
s:=sqrt(yp*(yp-a)*(yp-b)*(yp-c));
WriteLn(‘S=‘,s:2:2,‘ kvadrat birlik‘); readln;
End.
|
S = 6.0000000000E+00 kvadrat birlik
|
a,b,c ning qiymatlari kiritilsin 3 4 5
S = 6.00 kvadrat birlik
|
3–misol. Tomonlari R bo‘lgan teng tomonli uchburchak, kvadrat va radiusi R ga teng doiraning yuzini hisoblash dasturini tuzing va R= 4 da hisoblang.
Dasturi
|
Ekrandagi natija
|
Program Yuzalar_hisoblash;
var r: Integer; s1,s2,s3:Real;
begin
Write(‘R ning qiymatini kiriting :‘); ReadLn(r);
s1:=sqr(r)*sqrt(3)/4; s2:=sqr(r); s3:=pi*sqr(r);
WriteLn(‘Uchburchak yuzi = ‘,s1);
WriteLn(‘Kvadrat yuzi = ‘,s2);
WriteLn(‘Doira yuzi = ‘,s3); readln;
end.
|
R ning qiymati kiritilsin 4
Uchburchak yuzi = 6.9282032303E+00
Kvadrat yuzi = 1.6000000000E+01
Doira yuzi = 5.0265482457E+01
|
Ushbu dasturni o‘zlashtirish operatori yordamida o‘zgartirib natija olishni mustaqil ish sifatida qoldiramiz.
Dostları ilə paylaş: |