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.
|
misol. Tasodifiy sonlar generatori (Random) dan foydalanib, ekranga har xil rangda «А» harfini chiqaruvchi dastur tuzing. Qizil rangli «А» belgisi chiqishi bilan dastur ishi yakunlansin.
Yechish. Paskalda ranglar 0 dan 15 gacha butun sonlar bilan kodlanishi ina’lum. Tasodifiy sonlar generatori boigan Random(x) funksiyasi [0, x) oraliqdan tasodifiy sonlarni olib beradi. Shuning uchun [0, 15] oraliqdagi butun sonlarni tasodifan olish uchun Random(16) funksiyasi qo‘llaniladi.
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 awal yozilishi kerak. Qizil rang kodi 4 ga tengligini hisobga olib, quyidagi dastur tuziladi:
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 awaldan 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 awal shart tekshirilishi zarur. Shu sababli unda While operatoridan foydalanildi. 3-misolda esa awal 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 boiadi. Ammo dastur «chiroyli» va «tushunarli» ko‘rinishga ega boiishi uchun While va Repeat operatorlarini °‘z o'rnida qo‘llash maqsadga muvofiq.
Do'stlaringiz bilan baham: |