1- dars. Mavzu Masalalarni kompyuterda yechish bosqichlari Dars
3- misol. Tasodifiy sonlar generator! (Random) dan foydalanib, ekranga har xil rangda «A» harfini chiqaruvchi dastur tuzing. Qizil rangli «A» belgisi chiqishi bilan dastur ishi yakunlansin.
78
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) 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 avval 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 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 qo'llash maqsadga muvofiq.