10.6. Parametrli sikl operatori (FOR). Operatorning umumiy ko‘rinishi va bajarilish tartibi
Ko‘pgina masalalarni echishda hisoblash jarayonlari siklik(takrorlanuvchi) xarakterga ega bo‘ladi. Bu holda biror bir operatorlar bo‘limi butun turga tegishli o‘zgaruvchining har xil qiymatlari uchun takroran bir necha marta bajariladi. Sikl operatorining qo‘llanilishi dasturni qisqa tuzish va tuzatish vaqtlarini tejash imkonini beradi.
Paskal tilida maxsus 3 xil turdagi sikl operatorlari qo‘llaniladi:
1. Parametrli sikl operatori.
2. SHarti oldin qo‘yilgan sikl operatori.
3. SHarti keyin qo‘yilgan sikl operatori.
Sikl operatori murakkab operatorlar turkumiga kiradi, ya’ni o‘z tarkibida boshqa operatorlarni saqlaydi. Siklga kirish faqat uning boshlanishi orqali amalga oshiriladi. Sikl operatoridagi barcha o‘zgaruvchilar siklik jarayongacha aniqlangan bo‘lishi kerak. Sikldan chiqish ikki xil yo‘l: yoki o‘tish operatori orqali, yoki siklik jarayon to‘liq bajarilgandan keyin, ya’ni tabiiy yo‘l bilan amalga oshiriladi.
Parametrli sikl operatorining umumiy ko‘rinishi quyidagicha:
for v:=n1 to n2 do S;
Bunda for (uchun), to (gacha), do(bajar)-xizmatchi so‘zlar, v-sikl parametri, n1 va n2 - mos ravishda sikl parametrining boshlang‘ich va oxirgi qiymatlari, S-sikl tanasini tashkil qiluvchi operatorlar ketma-ketligi bo‘lib, agar ular bir nechta bo‘lsa, albatta begin va end so‘zlarining ichiga olib yoziladi. Agar S bitta operatordan iborat bo‘lsa, begin va end yozilishi shart emas.
Parametrli sikl operatori quyidagicha bajariladi: dastlab n1 va n2 ning qiymatlari hisoblanadi. v-sikl parametri boshlang‘ich qiymati n1 ni qabul qiladi va oxirgi qiymati n2 bilan taqqoslanadi. Agar sikl parametrining qiymati oxirgi qiymatidan ortib ketmasa, u holda sikl tanasini tashkil qiluvchi operatorlar ketma-ketligi bajariladi. So‘ngra sikl parametri o‘zining qiymatini bir birlik orttiradi va yuqoridagi jarayon takrorlanadi. Agar sikl parametri o‘zining oxirgi qiymatidan ortib ketsa, siklik jarayon tugaydi. Sikl parametri sikl ichida o‘zgarishi mumkin emas.
Masalan:
1) for i:=1 to 6 do x:=sqr(5*i);
2) for n:=1 to 5 do begin s:=s+sqr(n); q:=q*n; end.
Paskal tilida parametrli sikl operatorini kamayib boruvchi shaklda ham ifodalash mumkin.
Uning ko‘rinishi quyidagicha bo‘ladi:
for v:=n2 downto n1 do S; bunda downto (gacha kamayadigan) xizmatchi so‘z. Bu operatorda parametr v oxirgi qiymat n2 dan n1 gacha bo‘lgan qiymatlarni -1 qadam bilan qabul qiladi.
Masalan:
1) for i:=6 downto 1 do x:=sqr (5*i);
2) for n:=5 downto 1 do begin s:=s+sqr(n):q:=q*n end;
Misol. ifodaning qiymatini hisoblash dasturini tuzing.
1. program summa(input,output);
var i,n:integer; S,S1:real;
begin
S:=0; S1:=0;
for n:=1 to 5 do S:=S+Sqr (n);
for i:=1 to 12 do S1:=S1+i*i*i;
S:=S+S1;
writeln('summa=',S);
end.
2. program summa(input,output);
var i,n:integer; S,S1:real;
begin
S:=0; S1:=0;
for n:=5 downto 1 do S:=S+Sqr(n);
for i:=12 downto 1 do S1:=S1+i*i*i;
S:=S+S1;
writeln('summa=',S);
end.
Do'stlaringiz bilan baham: |