for i:= n downto 1 do
qolgan operatorlar esa o`z o`rnida o`zgarmay qoladi.
Programmada parametrli takrorlash operatoridan foydalanish jarayonida, tsikl parametrining qiymatini tsikl tanasi ichida o`zgartirmaslik lozim, aks holda operatorning ish ritmi buzilishi mumkin. Buni quyidagi misollarda ko`rish mukin:
To`g`ri tuzilgan programma qismi
|
Noto`g`ri tuzilgan programma qismi
|
for i:1 to 10 do
Begin
s:i*i;
writeln(s);
end;
|
for i:1 to 10 do
Begin
s:i*i;
writeln(s);
i:i3
end;
|
Ma`lum bir jarayonlarning takrorlash parametrlari haqiqiy qiymatlar qabul qilishi mumkin, bu holda parametrli takrorlash operatoridan to`g`ridan-to`g`ri foydalanib bo`lmaydi. +uyidagi misolda bunday takrorlashlarni qanday tashkil qilish mumkinligini ko`ramiz:
Misol: yex funktsiyasini [-2,2] oraliqdagi «x» lar uchun hisoblash programmasini tuzing («x» ning o`zgarish qadami 0,5 ga teng deb hisoblansin).
Funktsiyani necha marta hisoblash kerakligini N
formula bilan aniqlaymiz.
program Function;
Var x:real;
y:real;
i:integer;
begin
x: -2;
for i:1 to 9 do
begin
y:ex`(x);
writeln(x,y);
x:x0.5
end
end.
2. Re`eat takrorlash operatori
Yuqorida aytib o`tganimizdek, tsikldagi takrorlanishlar soni oldindan ma`lum bo`lsa, parametrli (for) tsikl operatori foydalanish uchun juda qulay. Lekin, ko`pgina hollarda, takrorlanuvchi jarayonlardagi takrorlanishlar soni oldindan ma`lum bo`lmaydi, tsikldan chiqish esa ma`lum bir shartning bajarilishi yoki bajarilmasligiga bog`lik holda bo`ladi. Bu hollarda re`eat yoki while tsikl operatorlaridan foydalanish zarur. Agar tsikldan chiqish sharti, takrorlanuvchi jarayonning oxirida joylashgan bo`lsa re`eat operatoridan, bosh qicmida joylashgan bo`lsa while operatoridan foydalanish maqsadga muvofiqdir.
Do'stlaringiz bilan baham: |