Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Оператор безусловного перехода




 

Помимо операторов условного перехода существует также оператор безусловного перехода goto. Формат:

 

goto метка;

 

Оператор goto переходит при выполнении программы к определенному оператору программы, перед которым находится метка. Метка должна быть описана в разделе описания меток той программы (процедуры или функции), в которой она используется. Нельзя перейти из одной процедуры или функции в другую.

Необходимо, чтобы в программе существовал оператор, отмеченный указанной меткой. Она записывается перед оператором и отделяется от него двоеточием.

 

Пример:

label 1;

begin

...

goto 1;

...

1: WriteLn('Переход к метке 1');

end.

 

Учтите! Само понятие структурного программирования и общепринятый стиль программирования на структурных языках НЕ ПРИВЕТСТВУЕТ применение меток и операторов перехода в программах. Это затрудняет понимание программы, как автором, так и потребителями, кроме того, применение меток отрицательно сказывается на эффективности генерируемого кода.

Операторы повторений

В языке Турбо Паскаль имеются три оператора, позволяющих запрограммировать повторяющиеся фрагменты программ (циклы). Это операторы while, repeat, for.

 

Оператор цикла while-do (цикл с предусловием)

 

Общий вид записи:

 

While <условие> do

begin

<оператор 1>;

...

< оператор n>

End;

 

Запись означает «пока выполняется <условие>, делать».

Инструкция while-do означает «пока выполняется <условие>, делать» и

выполняется следующим образом: сначала проверяется условие. Если оно истинно, выполняются < оператор 1>...< оператор n> и так далее. Если же условие ложно, выполнение считается законченным, и программа переходит к обработке следующих команд. Таким образом, если условие с самого начала оказалось ложным, < оператор 1>...< оператор n> не будут выполнены ни разу. В цикле while-do <условие> - это условие выполнения цикла: пока оно истинно, программа из цикла не выйдет. В том случае, если внутри цикла стоит только один оператор, пара begin - end может отсутствовать, если операторов больше одного, то пара begin - end обязательна, так как иначе будет выполняться только один оператор, стоящий сразу после слова do.

 

Пример: Надо вычислить сумму S=1+1/2+1/3+...+1/50

 

VAR S: REAL; N:INTEGER;

BEGIN

S:=0; N:=1;

WHILE N<=50 DO

BEGIN

S:=S+1/N;

N:=N+1;

END;

WRITELN(' S=',S);

END.

 

Цикл-до repeat-until (цикл с постусловием)

 

Общий вид записи:

 

Repeat

< оператор 1>;

...

< оператор n>

until <условие>;

 

Инструкция repeat-until означает «повторять до тех пор, пока не будет выполнено <условие>» и выполняется следующим образом: сначала выполняются < оператор 1>...< оператор n>. Затем проверяется условие. Если оно ложно, происходит возврат с выполнению <оператор 1>...<оператор n>. Если условие истинно, цикл считается выполненным и программа переходит к обработке следующих команд. Таким образом, в цикле repeat-until <условие> - это условие завершения цикла: цикл повторяется, пока оно ложно.

 

Пример:

VAR S: REAL; N:INTEGER;

BEGIN

S:=0; N:=1;

REPEAT

S:=S+1/N;

N:=N+1;

UNTIL N>50;

WRITELN(' S=',S);

END.

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...