7-мавзу. Шартли операторлар. Такрорлаш операторлар. Функция ва процедуралар эълон қилиш ва аниқлаш.
Режа:
Ўтиш оператори;
Шартли операторлар.
1.Ўтиш оператори
Одатда, программа ўз ишини ёзилган операторлар кетма-кетлиги бўйича амалга оширади. Операторларнинг табиий бажарилиш кетма-кетлигини бузиш учун, шартсиз ўтиш операторидан фойдаланиш мумкин. Программанинг бирор операторидан бошқаришни бошқа операторга узатиш учун, бошқарилиш узатиладиган оператор олдига тамға (метка) қўйилиши керак. Бошқаришни шартсиз узатиш оператори қуйидаги формада ёзилади :
<ўтиш оператори>::= goto <метка>
бу ерда goto - … га ўтмоқ. Бу оператор ёрдамида бошқариш кўрсатилган меткали операторга узатилади. Юқорида айтганимиздек, программада қатнашган барча меткалар, программанинг меткалар бўлимида эълон қилиниши керак.
Ўтиш операторига доир мисоллар:
1) a:= 5.75;
b:= sqr(a); goto L5;
c:= 9.76;
L5: d:= a+b;
2) L: a:=5; goto L;
3) 1: x:=0; d:=x*x; goto 1; y:=x;
программада С:=9.76 операторидан бошқа барча операторлар бажарилади;
программа a:=5 қийматни тинимсиз ҳисоблайди;
программа ҳам x:=0 ва d:=x*x ифодани қайта-қайта ҳисоблаб, y:=x ифодани ҳисоблашга навбат келмайди.
Умуман олганда, программа тузувчи иложи борича ўтиш операторида фойдаланмасликка ҳаракат қилгани маъқулдир. Чунки ўтиш операторидан фойдаланиш, программанинг ўқилишини қийинлаштириб,унинг сифатини кескин пасайтиради.
Ўтиш операторидан фойдаланишга доир қуйидаги тўлиқ программани кўриб чиқайлик:
Program m1;
Label 1;
Var a,y:real;
Begin
1: Readln (a);
If a<=0 then goto 1; {а нинг қиймати а0 шартини қаноатлантирмагунча қайтадан киритилмоқда}
y:=ln(a)
Writeln(‘y= ’,y);
end.
Do'stlaringiz bilan baham: |