logo search
2012_METODICh_POSOBIE_PASCAL

Составной оператор.

Во многих программах, в зависимости от некоторого условия, часто требуется выполнить не одно, а последовательность действий. Однако оператор IF в Turbo Pascal обеспечивает выполнение единственного оператора, присутствующего после зарезервированного слова THEN или ELSE.Выйти из положения можно, применив составные операторы.

Составной оператор представляет собой последовательность некоторых операторов, которые выполняются в том порядке, в каком они содержаться в тексте программы. При этом зарезервированные слова BEGIN и END являются так называемыми операторными скобками, в которые заключены операторы, входящие в составной оператор.

Когда, в зависимости от определённого условия, требуется обеспечить последовательное выполнение некоторого набора операторов, без составного оператора не обойтись.

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

Оператор IF с составными операторами выглядит так:

if p then begin

S1; S2; … Sn

end

else begin

V1; V2; … Vn

end;

Операторы S1; S2; … Sn принадлежат к ветви «да», а операторы V1; V2; … Vn

принадлежат к ветви «нет».

Частный случай составного оператора—тело любой программы. Составной оператор может включать другие составные операторы (т.е. составным может быть любой из операторов S1; S2; … Sn или V1; V2; … Vn), причём допускается любое число уровней вложенности.

Рассмотрим подробно составление алгоритма разветвленной структуры для решения следующей задачи.

Задача 2.

Задать значение роста человека (в см) и его веса (в кг). Вычислить оптимальное значение веса для данного роста и сравнить его с реальным. Вывести соответствующее сообщение.

Математическая формулировка задачи:

Определить оптимальное значение веса можно по формуле: Рост(см)-100. Очевидно, что реальный вес может равняться оптимальному, быть меньше него или превышать. Нужно сравнить оптимальное значение веса с реальным и вывести соответствующее сообщение.

Текст программы к задаче 3:

Program Ex_3;

Uses Crt;

Var

w: real; { вес }

h: real; { рост }

opt: real; { оптимальный вес }

d: real; { отклонение от оптимального веса }

Begin

ClrScr;

Writeln(‘Введите вес и рост через пробел ’);

Readln(w, h);

opt:=h-100;

d:=Abs(w-opt);

If w=opt then Writeln(‘Ваш вес оптимален!’)

Else

If w<opt then

Writeln(‘Вам надо поправится на ’,d:5:2,’ кг ‘)

Else

Writeln(‘Вам надо похудеть на ‘, d:5:2, ‘ кг ‘);

Readln;

End.

Алгоритм решения задачи 3.