Ўтиш (шартсиз) оператори. Паскаль тилида дастурнинг бажарилишнинг табиий тартиби қабул қилинган, яъни операторлар бирин кетин ёзилган тартибда бажарилади. Бироқ масалаларни программалаштириш тажрибасидан операторларнинг кетма-кет бажарилиш тартибини бузишга тўғри келади. Масалан, программанинг бирор бўлагини ташлаб ўтишга ва керак бўлганда унга яъна қайтиш мумкин бўлсин. Бунинг учун ўтиш оператори мўлжалланган бўлиб, унинг қўриниши қуйдагича: GOTO белги;
Белги сифатида 1дан 9999 гача бўлган сонлар ёки харф ва сонлар бўлиши мумкин. Бу белги ўтиш керак бўлган оператор олдига қўйилади ва у оператордан икки нуқта билан ажратилади, яъни
GOTO 32 ;
10 : A :=2;
...
32 : У :=X/Z ;
Бу ерда GOTO 32 операторидан сўнг 32 белгили оператор бажарилади. Эслатиб ўтиш керакки, GOTO ўтиш операторидан кейин турган оператор xам албатта белгига эга бўлиши керак. Акс холда GOTO ва 32 белгили операторлар орасидаги операторлар ортиқча бўлиб қолади, чунки уларга ўтишнинг бошқа йўли бўлмайди ва улар бажарилмай қолиб кетади.
Ўтиш оператори оддий операторлар қаторига киради, чунки унинг таркибида бошқа операторлар қатнашмайди.
Белгилар албатта белгиларни зълон қилиш бўлимида эълон қилиниши керак. Белгиларни эълон қилиш қуйдагича
LABEL белги;
Шунингдек бир нечта белги бир йўла эълон қилиниши мумкин :
LABEL белги 1, белги 2, ... , белги n ;
Юқорида кўрилган мисол учун белгиларни эълон қилиш қуйдагича бўлади:
LABEL 10, 32 ;
Агар дастурда шартсиз ўтиш оператори GOTO ишлатиладиган бўлса, албатта дастур бошида барча белгилар LABEL бўлимида эълон қилиниши шарт.
LABEL қуйидаги тартибда келтирилади:
рrogram <идентификатор>;
uses crt;
label <белги>;
const <ўзгармаслар>;
var <ўзгарувчилар>: тоифаси;
Begin
.........
end.
Масалан:
Label a1,a2;
Var x,s:rael;
Begin
s:=0; x:=10;
a1: s:=s+x;
x:=x-1;
IF x<5.5 then goto a2;
Goto a1;
2:writeln(‘s=’,s:5:2);
writeln(‘x=’,x:5:2);
end.
Изоҳ: бу дастурда иккита белгили ўзгарувчи келтирилган (а1,а2).
Дастурни ишлаш тартиби:
1-қадамда: s=0; s=0+10=10
x=10; x=10-1=9
9<5.5 бажарилмади
2-қадам: s=10; s=10+9=19
x=9; x=9-1=8
8<5.5 бажарилмади
3-қадам: s=19; s=19+8=27
x=8; x=8-1=7
7<5.5 бажарилмади
4-қадам: s=27; s=27+7=34
x=7; x=7-1=6
6<5.5 бажарилмади
5-қадам: s=34; s=34+6=40
x=6; x=6-1=5
5<5.5 бажарилиш тўхтатилади.
Натижа: s=40, x=5 кўринишда бўлади.
Паскал тилида FOR , While, Repeat операторларини бажариш учун 2та хизматчи сўз мавжуд:
Break- бу циклдан дарҳол чиқиб кетиш процедураси бўлиб, яни процедуранинг харакати цикл аргументи охирида турган операторга бошқаришни узатади.
Continue- бу циклнинг навбатдаги ўтишини муддатидан олдин тугашини таъминлайди ва бошқаришни узатиш эквиваленти цикл операторининг оҳирида туради.
Назорат саволлари:
1. Тармоқланувчи алгоритм деб нима тушунилади
2. Шартли ўтиш операторларининг тўлиқ ва қисқа
кўринишлари.
Шартсиз ўтиш оператори ва уни дастурда қўллаш
Шартсиз операторни қўллашда натижа тахлили
Танлаш оператори ва уни дастурда қўллаш усуллари
13-маъруза.
Do'stlaringiz bilan baham: |