Оқулық Қазақстан Республикасы Білім жəне ғылым министрлігі бекіткен Алматы, 2011 1


Goto операторының көмегімен орындалған нұсқа: 87



бет54/210
Дата06.01.2022
өлшемі4,42 Mb.
#16437
түріОқулық
1   ...   50   51   52   53   54   55   56   57   ...   210
Goto операторының көмегімен орындалған нұсқа:


87



5.4-сурет. Іздеу циклін ұйымдастыру нұсқалары:
а – break процедурасы көмегімен; ə – құрылымды нұсқа.
Program ex;
Var i,n:integer; x,y,a,b,h:real; Label konec; {белгіні сипаттаймыз} Begin
Write(‘ a,b,h енгізіңіз:');
ReadLn(a,b,h);
n:=round((b-a)/h+0.5); {элементтер санын
бүтін
санмен анықтаймыз}
x:=a;


88

for i:=1 to n do
begin
y:=sin(x);
if y<0 then
begin
WriteLn('y=',y:8:6,' x=',x:6:3);
goto konec; {экранға іздеген элемент
табылғандығы жайлы мəлімет шығарғаннан
кейін басқаруды программа соңына береміз}
end;
x:=x+h;
end;
WriteLn('Элемент табылған жоқ.'); konec: {басқару берілетін орын}
End.
Вreak процедурасы көмегімен орындалған нұсқа:
Program ex;
var i,n:integer; x,y,a,b,h:real; Begin
Write('a,b,h енгіз:');
ReadLn(a,b,h);
n:=round((b-a)/h+0.5); {элементтер санын бүтін санмен анықтаймыз}
x:=a;
for i:=1 to n do
begin
y:=sin(x);
if y<0 then
begin
WriteLn('y=',y:8:6,' x=',x:8:6); break; {циклден ерте шығуды орындай-
мыз }
end;
x:=x+h;
end;
{break процедурасы орындалғанда басқару


89

берілетін орын}
if y>=0 then WriteLn('Элемент табылған жоқ.'); End.
Құрылымды нұсқа:
Program ex;
var x,y,a,b,h:real;
Begin
Write(' a,b,h енгіз:');
ReadLn(a,b,h);
x:=a;
repeat
y:=sin(x);
x:=x+h;
until (x>b) or (y<0); {циклден шығудың біріктірілген шарты}
if y<0 then WriteLn(‘y=’,y:8:6,’ x=’,x:6:3) else WriteLn(‘Элемент табылған жоқ.’);

End.


Циклдің құрылымды нұсқасын жасай отырып, біз циклден шығу шартын жəне ізделіп отырған элементтің табылмағандығы жайлы шешім шығаратын нақты сипаттаманы анықтадық. Ал, goto немесе break процедурасы арқылы құрастырылған алго-ритм, құрылымсыз басқаруды беру кезіндегі кездесетін барлық жадайды ескеруді талап етеді. Сонымен бірге құрылымды түрде жазылған программа ең қарапайым жəне орындалу барысында қателер саны да аз кездесетін нұсқа болып саналады.
Continue операторын қолданатын программа мысалын қарас-тырайық.
5.2-мысал. 50-ден аспайтын 10 санның қосындысын анық-тайтын алгоритм программасын жазу керек. Теріс сан енгізілген жағдайда программа оны қабылдамай, экранға хабарлама шыға-рып, оң мəн енгізгенді күтуі тиіс.
Бұл мысалда циклдің қайталану саны белгісіз болғандықтан, санауышты циклді қолдану мүмкін емес, сондықтан итерациялық циклді, мысалы, “цикл-əзірше” түрін қолданамыз. Осы есепті шғару алгоритмі 5.5-суретте келтірілген. Бұл алгоритмді goto опе-


90

раторы, continue процедурасы немесе тармақталу операторының көмегімен іске асыруға болады. Соңғы тармақталу операторын пайдалану тəсілі құрылымды нұсқа болып табылады.





Достарыңызбен бөлісу:
1   ...   50   51   52   53   54   55   56   57   ...   210




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет