Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
inf2.doc
Скачиваний:
18
Добавлен:
15.04.2015
Размер:
603.14 Кб
Скачать

Управление выбором действий

Для реализации необходимых действий в зависимости от выполнения некоторого условия используют блок выбора (альтернативы), которому в языке соответствует оператор условного переходаIF:

IF <логическое выражение>

ДА Условие НЕТ THEN <Оператор 1>

ELSE <Оператор 2>;

Условие в операторе записывается в виде логического выражения. Если последнее принимает значение true, то выполняется оператор 1, в противном случае - оператор 2. В качестве операторов могут быть использованы любые операторы языка, в том числе и другой оператор IF. Если необходимо выполнение нескольких действий в ветви, то используют составной оператор - группу операторов, заключенных в операторные скобки beginend. Оператор IF предполагает возможность использования краткой его формы:

IF <Условие> THEN <Оператор>;

Пример 1:y y = x

Установить принадлежность точки (x,y)

области на плоскости XY между прямой

y=x и параболой . 0 x

program tochka;

var x,y : real;

begin

writeln(‘Введите через пробел координаты x и y точки’) ;

readln(x,y);

if (y<=x) and (y>=x*x)

then writeln(‘Точка принадлежит указанной области’)

else writeln(‘Точка вне области’)

end.

Для организации в программе вариативных действий используют блок варианта и реализующий его оператор CASE - OF - END:

Селектор варианта

Список

значений 1 Сп. знач. 2 Сп. знач. i Иначе

Вариант Вариант Вариант Вариант действий

действий 1 действий 2 действий i для значений вне

списков

Case <переменная-селектор > of

z1_1, z1_2, …, z1_n : <Оператор 1>;

z2_1, z2_2, …, z2_k : <Оператор 2>;

. . .

zi_1, zi_2, … , zi_m : <Оператор i>

[ else <оператор> ] end;

Переменная, используемая в операторе в качестве селектора, может быть любого порядкового типа. В соответствии с принимаемым ею до оператора CASE значением (z1_1 … zi_m) выполняется один из операторов (1 … i). Если селектор принимает значение, не указанное ни в одном из списков, то выполняется оператор, следующий за служебным словом ELSE. Последняя часть конструкции может отсутствовать, в этом случае никаких альтернативных действий не производится.

Пример 2. Смоделировать работу калькулятора для четырех действий.

program calc;

var o1,o2,rez : real; {операнды и результат выполнения операции}

d : char; {выполняемое арифметическое действие}

begin

writeln(‘Введите через пробел два операнда’);

readln(o1,o2);

writeln(‘Введите выполняемое действие’);

readln(d);

case d of

‘+’ : begin rez:= o1+o2; writeln(‘Сумма = ’,rez) end;

‘-’ : begin rez:= o1-o2; writeln(‘Разность = ’,rez) end;

‘*’ : begin rez:= o1*o2; writeln(‘Произведение = ’,rez) end;

‘/’ : begin rez:= o1/o2; writeln(‘Частное = ’,rez) end

else writeln(‘Введен неверный символ операции’) end;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]