Darsning borishi va vaqt taqsimoti
|
Dars bosqichlari
|
Vaqt
|
1
|
Tashkiliy qism
|
3 daqiqa
|
2
|
O'tilganlarni takrorlash
|
7 daqiqa
|
3
|
Yangi mavzu ustida ishlash
|
14 daqiqa
|
4
|
Yangi mavzuni mustahkamlash
|
13 daqiqa
|
5
|
Uyga vazifa
|
3 daqiqa
|
O’tilgan mavzuni takrorlash.
1. Tarmoqlanish operatorining qisqa va to'liq shakllari orasida qanday farq bor?
2. Paskalda qanday mantiqiy amallar qo'llaniladi?
3. Paskalda murakkab mantiqiy shartlarga misollar keltiring.
4. Mantiqiy ifodada amallarning bajarilish tartibini tushuntirib bering.
5. Mantiqiy ifodada qachon qavslar qo'llaniladi?
Yangi mavzu bayoni.
Aksariyat masalalarni yechishda ma'lum amallar ketma-ketligini bir necha marta takrorlash zarur boTadi. Awalgi bobda bu kabi masalalar bilan tanishildi va ularni hal qilish uchun takrorlanuvchi algoritmlar tuzdingiz. Endi takrorlanuvchi dasturlar tuzish usullari ko'rib chiqiladi.
Takrorlanuvchi dasturlar tuzish uchun takrorlash operatorlaridan foydalaniladi. Paskalda ular uchta boTib, bu darsda ulardan bittasi — parametrli takrorlash operatori o'rganib chiqiladi. Mazkur opera- toming umumiy ko'rinishi quyidagicha:
For I: = NI To N2 Do ; bu yerda For (uchun), To (gacha) va Do (bajar) Paskalning xizmatchi so'zlari; I — butun turli ixtiyoriy o'zgaruvchi bo'lib, u takrorlash parametri deyiladi; NI — takrorlash parametrining qabul qiladigan boshlang'ich qiymati; N2 — takrorlash parametrining qabul qiladigan oxirgi qiymati; — takrorlanishi lozim bo'lgan
operator yoki operatorlar ketma-ketligi. Takrorlanish tanasini operatorlar ketma-ketligi tashkil etgan bo'lsa, ular albatta begin ko'rsatmasi bilan boshlanib, end; ko'rsatmasi bilan tugallanadi. Takrorlash parametrining boshlang'ich va oxirgi qiymatlari o'zgarmas, o'zgaruvchi yoki ifoda ko'rinishida bo'lishi mumkin.
Mazkur operator quyidagicha ishlaydi:
1.Avval takrorlash parametri boshlang'ich qiymatni qabul qiladi;
2.Agar takrorlash parametrining qiymati oxirgi qiymatdan katta bo'lmasa, takrorlash tanasini tashkil etuvchi operatorlar bajariladi, aks holda takrorlanish to'xtatiladi va boshqarish navbatdagi operatorga uzatiladi;
3.Takrorlash parametrining qiymati bittaga ortadi (unga 1 qo'shiladi) va 2-bandga o'tiladi.
For operatori, asosan, takrorlanishlar soni avvaldan ma'lum
bo'lganda qo'llaniladi.
1- misol. «0'zbekiston — vatanim manim!» matnini ekranga 20 marta chiqaruvchi dastur tuzing.
Yechish. Shartga ko'ra ekranga «0'zbekiston — vatanim manim!» matni 20 marta chiqarilishi kerak. Ya'ni WriteLn('Ozbekiston — vatanim manim!') operatori 20 marta takrorlanishi lozim. Quyidagicha dastur tuziladi.
Program Takrorlash;
Var I : Integer;
Begin
For I:=l To 20 Do
WriteLn('0'zbekiston — vatanim manim!');
End.
Ushbu dasturda takrorlash parametri I ning boshlang'ich qiymati 1 ga, oxirgi qiymati 20 ga tengdir. Takrorlash tanasi bitta — WriteLn('0'zbekiston — vatanim manim!') operatoridan iborat. Dastur bajarilganda takrorlash parametri navbat bilan 1, 2, 3,..., 20 qiymatlarni qabul qiladi va har safar WriteLn('0'zbekiston — vatanim manim!'); operatori bajariladi. Natijada ekranga «0'zbekiston — vatanim manim!» matni 20 marta yangi satrdan chiqariladi. Dasturda takrorlash parametrining boshlang'ich qiymatini 41 va oxirgi qiymatini 60 ga o'zgartirilsa ham natija shunday bo'ladi, chunki takrorlanishlar soni 60-41 + 1=20 ta.
2- misol. Ekranga 1 dan 20 gacha bo'lgan butun sonlarni o'sish tartibida chiqaruvchi dastur tuzing.
Program Ketma_ketlik;
Var I, S : Integer;
Begin
S:=0;
For I:=l To 20 Do begin S:=S+1; WriteLn(S); end;
End.
Umuman, takrorlash parametrini takrorlash tanasida ishlatish ham mumkin. Lekin uning qiymatini o'zgartirib bo'lmaydi. 2-misol dasturini tahlil qilib, takrorlanish davomida S o'zgaruvchi I bilan bir xil qiymatlar qabul qilayotganligini ko'rish mumkin. Shunday ekan, ekranga S ning o'rniga I ni chiqarish ham mumkin. U holda dasturda S o'zgaruvchini qo'llashga hojat qolmaydi. Bularni inobatga olib, dastur quyidagicha o'zgartiriladi:
Program Ketma_ketlik;
Var I : Integer;
Begin
For I:=l To 20 Do WriteLn(I);
End.
3- misol. 1 dan 100 gacha bo'lgan butun sonlarni kamayish tartibida chop etuvchi dastur tuzing.
Yechish. Chop etiladigan sonlarni son takrorlash parametri i deb belgilanadi.
Program Sonlar;
Var i,son : Integer;
Begin
son:=101;
For i:=l to 100 Do Begin son:=son~l; WriteLn(son); end;
End.
For operatorida takrorlash parametri katta qiymatdan kichik qiymatga qarab kamayib borishi ham mumkin. Buning uchun To xizmatchi so'zi o'rniga Downto xizmatchi so'zi qo'llaniladi. Buni hisobga olib yuqoridagi dasturni quyidagicha soddalashtirish mumkin:
Program Sonlar;
Var i : Integer;
Begin
For i:= 100 Downto 1 Do WriteLn(i);
End.
4-misol. 1 dan 21 gacha bo'lgan toq sonlar yig'indisini hisoblash dasturini tuzing.
Yechish. 1 dan 21 gacha bo'lgan sonlarni qarab chiqish uchun takrorlash operatori parametrini qo'llash mumkin. S= 1+2+3+...+21 yig'indidagi qo'shiluvchilar 255 dan katta emas, demak, bu holda parametr uchun byte, S butun va manfiy bo'lmagani uchun word turini tanlash mumkin. Indekslarning toqligini tekshirish uchun Odd(x) funksiyasidan foydalanish qulay.
Program Summ;
Var s: word; i: byte;
Begin S:=0;
For i:=l to 21 Do If odd(i) then S:=S+i;
WriteLn('S= S); End.
5-misol. Berilgan A[1..21] massivning juft indeksli elementlari yig'in- disini hisoblash dasturini tuzing.
Yechish. Massivni kiritish va indekslarini qarab chiqish uchun yana takrorlash operatori parametridan, indekslarning juftligini tekshirish uchun NOT(Odd(x)) dan foydalaniladi. Program Massiv; Var i: Integer; s: real; a: array[1..21] of real; Begin
For i:=l to 21 Do Begin WriteLn('a[', i, ']= '); readln(a[i]); end; S:=0;
For i:=l to 21 Do If NOT(odd(i)) then S:=S+a[i];
WriteLn('S= S); readln; End.
Ko'rib turganingizdek, massivlarni kiritish, chiqarish va ularning indekslarini sanash kabi vazifalarni bajarish uchun parametrli takrorlash operatori juda qulaydir.
|