
- •Программирование линейных вычислительных процессов
- •Типы данных
- •Варианты задания.
- •Цель работы
- •Управление выбором действий
- •Контрольные вопросы
- •Варианты задания
- •Программирование циклических процессов с использованием оператора repeat - until
- •Контрольные вопросы
- •Варианты задания
- •Программирование циклических процессов с известным числом повторений цикла
- •Контрольные вопросы
- •Варианты задания
- •Уточнение корня уравнения
- •Контрольные вопросы
- •Варианты задания
- •Программирование вложенных циклических вычислительных процессов
- •Контрольные вопросы
- •Варианты задания
- •Библиографический список
- •Содержание
Управление выбором действий
Для
реализации необходимых действий в
зависимости от выполнения некоторого
условия используют блок выбора
(альтернативы), которому в языке
соответствует оператор условного
переходаIF:
IF
<логическое выражение>
ДА Условие НЕТ THEN <Оператор 1>
ELSE <Оператор 2>;
Условие в операторе записывается в виде логического выражения. Если последнее принимает значение true, то выполняется оператор 1, в противном случае - оператор 2. В качестве операторов могут быть использованы любые операторы языка, в том числе и другой оператор IF. Если необходимо выполнение нескольких действий в ветви, то используют составной оператор - группу операторов, заключенных в операторные скобки begin … end. Оператор 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.