Мустахкамлаш учун саволлар
1. case фармойишнинг бичими қандай ёзилади?
2. Фармойишда else ёзилмаса дастурнинг бажарилиш кетмакетлиги қандай амалга оширилади?
Таянч тушунчалар: case, of, ифода, else.
Адабиётлар: [1],[2],[3],[5],[6],[7],[8],[9],[10].
Repeat … until цикл фармойиши
Режа:
1. Repeat … until фармойишлари
2. Repeat … until фармойишига мисол.
1. Repeat … until фармойиши такрорланиш фармойиши бўлиб, улар фармойишлар жуфтлиги дейилади. Бу фармойиш орасига бирор шартга кўра такрорланиши зарур бўлган фармойишлар кетмакетлиги ёзилади.
Бичими:
Repeat
фармойиш 1
………
фармойиш n
until a b
Бунда repeat такрорлаш фармойиш номи; фармойиш 1, …, фармойиш n такрорий бажарилиши зарур бўлган фармойишлар кетмакетлиги; until гача фармойиши номи; ab муносабат; a ва b катталиклар; муносабат белгиси.
Бу ҳолда фармойишлар кетма-кетлиги бажарилади. Сўнгра муносабат қийматининг чинлиги (true, false) текширилади. Агар муносабат true – чин бўлса, цикл такрорланади, false – ёлғон бўлса, until дан кейинги фармойишлар бажарилади.
2. Масалалар.
1-масала. Парол қўйиш дастури тузилсин.
program par;
var parol, qiymat: string;
begin
parol:='evrika'
repeat
writeln('Паролни киритинг'); readln(qiymat);
if parol<>qiymat then writeln('Сиз фойдаланувчи эмассиз')
else writeln('Парол тўғри');
until parol<>qiymat
end.
2-масала. Киритилаётган белгининг мазмунини аниқлаш дастурини тузинг.
program mazmun;
const lat='Лотин ҳарфи'; raq='рақам';
kiril='Кирилл ҳарфи'; tin='Тиниш белгиси';
graf='Псевдографик белги'; boshqa='Бошқа белги';
var b, x:char;
begin
repeat write('Белгини киритинг - '); readln(b);
case ord(b) of
64..90,97..122: writeln(lat);
48..57: writeln(raq);
128..175, 224..239: writeln(kiril);
33, 34, 38, 44, 46, 58, 59, 63: writeln(tin);
176..223: writeln(graf) else writeln (boshqa);
end;
write('Такрорлайсизми (y/n) - ? '); readln(x);
until (x<>'y');
Do'stlaringiz bilan baham: |