Оператор перехода. Метки

Оператор перехода служит для изменения последовательного порядка выполнения операторов.

Оператор перехода имеет следующий вид:

 
 


GOTO метка;

где метка - это натуральное число от 0 до 9999 или имя.

Метка ставится перед оператором,на который осуществляется переход:

метка: оператор;


Примеры:

123: a:=3; goto konec;

..........

..........

goto 123; konec:end.

Используемые в программах метки обязательно описываются в разделе описания меток LABEL следующим образом:

 
 


LABEL метка1,метка2,...,метка _n;

Порядок следования меток значения не имеет.

Задача.. Составить программу по следующему алгоритму:

1) ввести 2 числа

2) если первое число больше второго,то вычислить их среднее арифметическое и закончить работу

3) в противном случае вычислить произведение этих чисел и перейти на п.1

Решение _. program prim;

var a,b,c:real;

label 1;

begin

1: writeln('введи 2 числа');

readln(a,b);

if a>b then begin

c:=(a+b)/2;

writeln('среднее арифметическое=',c);

end

else begin

c:=a*b;

writeln('произведение=',c);

goto 1;

end;

end.

В этой программе фраза "и закончить работу" не реализовывалась никакими операторами,т.к. если верно условие "а>b",то выполняются действия после THEN,а затем работу начинают операторы,стоящие после условного,а это оператор END.

Можно осуществлять переход на конец программы и через оператор GOTO:

program prim;

var a,b,c:real;

label 1,2;

begin

1: writeln('введи 2 числа');

readln(a,b);

if a>b then begin

c:=(a+b)/2;

writeln('среднее арифметическое=',c);

goto 2;

end

else begin

c:=a*b;

writeln('произведение=',c);

goto 1;

end;

2: end.

Вообще, большое количество операторов GOTO в программе считается плохим стилем программирования.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: