Общий вид условного оператора:
а) полный вид:
if <условие > then <оп.1> else <оп.2>;
б) усечённый вид: if <условие> then <оп.1>;
где <условие> - некоторое выражение логического типа,
<оп.1> и <оп.2> - некоторые операторы языка Паскаль.
Действие условного оператора:
а) Полный вид: сначала вычисляется выражение <условие>. Если результат есть истина (true), то выполняется <оп.1>, если результат есть ложь (false), то выполняется <оп.2>.
Блок-схема:
б) Усечённый вид: вычисляется <условие>. Если результат есть истина, то выполняется <оп.1>. Если результат есть ложь, то никакого действия не происходит .
Блок схема:
Замечание 1. В качестве <оп. 1> и <оп. 2> по синтаксису языка Паскаль может присутствовать только один оператор. Если же при выполнении (или невыполнении) заданного условия надо выполнить сразу несколько операторов, то они должны быть объединены в один составной оператор (блок операторов) посредством операторных скобок begin и end:
begin
<последовательность операторов,
отделенных друг от друга точкой с запятой>
end;
Замечание 2: Операторы <оп.1> и <оп.2> сами могут включать в себя условные операторы. В этом случае любая встретившаяся часть else соответствует ближайшей к ней слева части then.
Пример. Дана область D (см. рисунок).
Даны два вещественных числа x и y, рассматриваемые как координаты точки на плоскости. Вычислить величины u и v по следующему праввилу:u=1, v=0, если точка (x,y) принадлежит D;u=0, v=1, если точка (x,y) не принадлежит D.
Решение. Основное в данной задаче – правильно записать условие принадлежности точки области D. Разобьём область D на две части D1 и D2, то есть D=D1ÈD2.
…
Тогда условие “(x,y) принадлежит D” можно записать как “(x,y) принадлежит D1” либо “(x,y) принадлежит D2”, где “(x,y) принадлежит D1” означает что:
1) (x,y) лежит внутри окружности с центром в начале коордиат радиусом 1;
2) (x,y) лежит левее оси Y;
3) (x,y) лежит выше оси X.
Это эквивалентно системе неравенств:
которая на языке Паскаль записывается так:
(x*x+y*y<=1) and (x<=0) and (y>=0).
Аналогично, условие “(x,y) принадлежит D2” означает, что:
1) (x,y) лежит ниже гипотенузы прямоугольного треугольника D2;
2) (x,y) лежит правее оси Y;
3) (x,y) лежит выше оси X,
что эквивалентно системе неравенств
которая на языке Паскаль записывается так:
(y<=1-x) and (x>=0) and (y>=0)
Окончательно, условие “(x,y) принадлежит D” записывается так:
((x*x+y*y<=1)and(x<=0)and(y>=0))or
((y<=1-x)and(x>=0)and(y>=0))
Программа:
program pr1;
var x,y:real;
u,v:integer;
Begin
writeln(¢введите x,y¢);
read(x,y);
if ((x*x+y*y<=1) and (x<=0) and (y>=0)) or
((y<=1-x) and (x>=0) and (y>=0)) then
Begin
u:=1;
v:=0
End else
Begin
u:=0;
v:=1
end;
writeln(¢u=¢,u,¢_v=¢,v)
End.
Циклы
Операторами цикла называются операторы, многократно повторяющие одни и те же действия.
Дата добавления: 2016-09-06; просмотров: 4325;