2.13-rasm. for operatori algoritmi
For operatoriga mos algoritm 2.13-rasm keltirilgan. E’tibor bering, agar hisoblagichning boshlang’ich qiymati ohirgi qiymatidan katta bo’lsa begin va end operatorlari oralig’ida yotgan buyruqlar biror marta ham bajarilmaydi.
Undan tashqari, takrorlashning tana qismi har bir bajarilishida hisoblagichning qiymati avtomatik tarzda oshib boradi.
Takrorlashning o’zgaruvchi hisoblagichidan uning tana qismida foydalanish mumkin (uning qiymatini o’zgartirmaslik kerak). Masalan, quyidagi dastur qismi bajarilishi natijasida tab1 o’zgaruvchining qiymati kvadratlar jadvalini hosil qiladi:
tab1: = '' ;
for i:=l to 5 do begin
tab1:=tabl+IntToStr(i)+' '+IntToStr(i*i)+chr(13);
end;
1+1/2+1/3+... ketma-ketlikning dastlabki 10 ta hadining yig’indisini hisoblash dasturini ko’rib chiqaylik (ketma-ketlikning i-chi elementining qiymati 1/i formula
bilan aniqlanadi). Dasturning muloqot oynasida ikkita komponent bo’lishi kerak: belgilar maydoni (Label1) va buyruqlar tugmasi (Button1).
Ketma-ketlikning yig’indisini hisoblash va natijani ekranga chiqarishni OnClick hodisa protsedurasi amalga oshiradi, dastur matni quyida keltirilgan.
procedure TForm1.ButtonlClick(Sender: TObject);
var
i:integer; { qator elementining raqami } elem:real;
{qator elementining qiymati } summ:real;
{ qator elementining yig’indisi )
begin
summ:=0; label1caption:= ' ' ;
for i:=1 to 10 do begin elem:=1/i; label1.caption:=label1.caption+
IntToStr(i)+' '+FloatToStr(elem)+#13; summ: =summ+elem;
end;
label1.caption:=label1.caption+'Qator yigindisi:'+FloatToStr(summ);
end;
agar for operatoridagi to so’zining o’rniga downto yozilsa, u holda hisoblagichning navbatdagi qiymati oshmaydi, balki kamayib boradi.
while operatori
Agar takrorlanishlar soni oldindan belgilanmay, dastur ishi davomida aniqlansa
while takrorlash operatoridan foydalaniladi.
While takrorlash operatoriga misol qilib hisoblashni berilgan aniqlikda bajarishni keltirish mumkin.
While operatori umumiy holda quyidagicha ko’rinishda yoziladi:
while shart do begin
// bir necha marta bajarilishi lozim bo’lgan
// buyruqlar ketma-ketligi
end
bu yerda shart — maniqiy ifoda bo’lib, takrorlash davom etish yoki etmaslikni aniqlaydi.
While operatori quyidagica ishlaydi:
Avval shartni ifodalovchi qiymat tekshiriladi.
Agar tekshhirilgan qiymat false (shart bajarilmasa) ga teng bo’lsa, u holda while operatorining ishi yakunlanadi.
Agar tekshhirilgan qiymat True (shart bajarilsa) ga teng bo’lsa, u holda begin
va end operatorlari orasida joylashgan operatorlar bajariladi. Bundan so’ng
shart yana tekshiriladi. Agar shart yana bajarilsa, u holda takrorlashning tanasi yana bajariladi va hokazo. Bu takrorlash toki shart bajarilmay qolgunigacha (False) davom etadi.
While operatoriga mos algoritm 2.14-rasmda keltirilgan.
Diqqat!
While takrorlanuvchi buyrug’ida Begin va End orasida joylashgan buyrug’lar xech bo’lmaganda bir marta bajarilishi uchun While buyrug’idagi shart rost bo’lishi kerak.
xa
Do'stlaringiz bilan baham: |