Tasdiqlayman” Qo`shtepa ixtisoslashtirilgan maktabi mmibdo` S.
While yordamida
Repeat yordamida
Program Summ_real;
Var J, S: real;
Begin S:=0; J:=1.1;
While J<= 45.5 do begin
S:=S+J; J:=J+0.4; end;
WriteLn(‘S= ‘, S);
End.
Program Summ_real;
Var J, S: real;
Begin S:=0; J:=1.1;
Repeat S:=S+J; J:=J+0.4;
Until J>= 45.5;
WriteLn(‘S= ‘, S);
End.
3–misol. Tasodifiy sonlar generatori (Random) dan foydalanib, ekranga har xil rangda “A” harfini chiqaruvchi dastur tuzing. Qizil rangli “A” chiqishi bilan dastur ishi yakunlasin.
Yechish. Paskalda ranglar 0 dan 15 gacha butun sonlar bilan kodlanishi ma’lum. Tasodifiy sonlar generatori bo‘lgan Random(x) funksiyasi [0, x) oraliqdan tasodifiy sonlarni olib beradi. Shuning uchun [0, 15] oraliqdagi butun sonlarni tasodifan olish uchun Random(16) funksiyasini qo’llaymiz.
Shuni ta’kidlash lozimki, Random(x) funksiyasi har safar dastur ishga tushirilganda bir xil sonlar ketma-ketligini hosil qiladi. Turli sonlarni hosil qilish uchun Randomize operatoridan foydalaniladi. Bu operator dasturda Random funksiyasidan avval yozilishi kerak. Qizil rang kodi 4 ga tengligini hisobga olib, quyidagi dasturni tuzamiz:
Program Rangli_harflar;
Uses Crt;
Var rang : Integer;
Begin Randomize;
Repeat
rang:= Random(15); TextColor(rang); Write(‘A‘);
Until rang=4; {rang=4 (qizil) bo‘lsa takrorlash operatoridan chiqiladi}
End. Repeat operatorining While operatoridan birinchi farqi shundaki, While operatorida shart takrorlash boshida tekshirilsa, Repeat operatorida shart takrorlash oxirida tekshiriladi. Shu sababli While operatorida takrorlash tanasini tashkil etuvchi operatorlar bir marta ham bajarilmasligi mumkin (shart avvaldan bajarilmasa), Repeat operatorida esa hech bo‘lmaganda bir marta bajariladi. Ikkinchi farqi While operatorida takrorlanish shart bajarilmaganda (“yolg‘on” qiymat qabul qilganda) yakunlansa, Repeat operatorida takrorlanish shart bajarilganda (“rost” qiymat qabul qilganda) yakunlanadi.
Yuqoridagi 1-misolda avval shart tekshirilishi zarur. Shu sababli unda While operatoridan foydalanildi. 3-misolda esa avval rang qiymati aniqlanib, keyin shart tekshirilishi kerak. Shu bois unda Repeat operatori qo‘llanildi. Umuman olganda, 1-misolda Repeat operatoridan, 3-misolda esa While operatoridan foydalansa ham bo‘ladi. Faqat bu holda dasturga ba’zi qo‘shimcha operatorlar kiritish lozim bo‘ladi. Ammo dastur “chiroyli” va “tushunarli” ko‘rinishga ega bo‘lishi uchun While va Repeat operatorlarini o‘z o‘rnida ishlatish maqsadga muvofiq.