Yechish: Chop etiladigan sonlarni son, takrorlash parametrini i deb belgilaymiz.
Program Sonlar;
Var i,son : Integer;
Begin
son:=101;
For i:=1 to 100 Do Begin son:=son–1; 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 ishlatiladi. 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 ishlatish 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. Indekslarni toqligini tekshirish uchun Odd(x) funksiyasidan foydalanish qulay.
Program Summ;
Var s: word; i: byte;
Begin
S:=0;
For i:=1 to 21 Do If odd(i) then S:=S+i;
WriteLn(‘S= ‘, S);
End.
5–misol. Berilgan A[1..21] massivni juft indeksli elementlari yig’indisini hisoblash dasturini tuzing.
Yechish: Massivni kiritish va indekslarini qarab chiqish uchun yana takrorlash operatori parametridan, indekslarni juftligini tekshirish uchun NOT(Odd(x)) dan foydalanamiz.
Program Massiv;
Var i: Integer; s: real;
a: array[1..21] of real;
Begin
For i:=1 to 21 Do Begin WriteLn(‘a[‘, i, ‘]= ‘); readln(a[i]); end;
S:=0;
For i:=1 to 21 Do If NOT(odd(i)) then S:=S+a[i];
WriteLn(‘S= ‘, S); readln;
End.
Ko’rib turganingizdek, massivlarni kiritish, chiqarish va ularni indekslarini sanash kabi vazifalarni bajarish uchun parametrli takrorlash operatori juda qulaydir.
IV. Mustahkamlsh.
Parametrli takrorlash operatorining ko‘rinishi qanday?
Takrorlash parametri qanday qiymatlarni qabul qiladi?
Parametrli takrorlash operatorining boshlang’ich va oxirgi qiymatlarini izohlang.
Takrorlash parametrining qiymatlari chegaralanganmi?
Takrorlash operatorini ishlashini tushuntiring.
Qanday vaziyatda To o’rniga Downto xizmatchi so‘zi ishlatiladi?
Mashqlar
1. Quyidagi operatorlardagi takrorlanishlar sonini aniqlang.
a) for i:=1 to 88 do b:=1; b) for i:=73 to 161 do m:=2; d) for i:= -21 to 0 do a:=3;
88-1+1=88 marta 161-73+1=89 marta 0-(-21)+1=22 marta
e) a:=5; b:=34; for i:=a+7 to b-1 do s:=s+1;
b-1-(a+7)+1=b-1-a-7+1=b-a-7=34-5-7=22 marta.
3. funksiyaning qiymatini x ning [–15;5] oraliqdagi butun qiymatlarida hisoblash dasturini tuzing.
Program funksiya;
Var x,y: integer;
Begin
For x:-15 to 5 do begin y:=23*x; writeln(‘x=’,x,’ da y=‘,y); end;
Readln; end.
4. A[1..17] massiv berilgan. Massivning nolga teng elementlarini indeksini chiqaruvchi dastur tuzing.
5. funksiyaning qiymatini x ning [0, 10] oraliqda 0.25 qadam bilan hisoblash dasturini tuzing (yo’llanma: i=0 da x=0; i=1 da x=0,25; …; i=40 da x=10).
Program funksiya;
Var i: intejer;
x,y: real;
begin
for i:=1 to 40 do begin x:=0,25*i; y:=2*x+19; writeln(‘x=’,x,’ da y=‘,y); end;
readln; end.
Do'stlaringiz bilan baham: |