Полякова
Лариса Александровна
преподаватель
информатики
Государственного
профессионального образовательного учреждения «Харцызский технологический
техникум» Государственного образовательного учреждения высшего
профессионального образования «Донецкий национальный технический университет»
Паскаль. Разветвляющийся алгоритм.
Условие (разветвление) – это
вид управляющей структуры, что предполагает возможность выбора из нескольких
вариантов, для каждого из которых в зависимости от определенного условия
выполняется своя последовательность операторов
да нет
В языке Паскаль условие реализовано с помощью
условного оператора if.
Общий
вид условного оператора if:
if < выражение> then <оператор1 > else < оператор
2 >; ,
где
< выражение> - любое выражение логического типа (что выдает в результате
True или False);
<
оператор 1 > и < оператор 2 > - операторы языка Паскаль.
Если
выражение принимает значение True, то выполняется < оператор 1 >; в
противном случае - < оператор 2 >.
Замечание 1
Служебное слово else
не является обязательным, допустимо использовать оператор if в следующем виде:
if < выражение> then < оператор 1 >;
в этом случае < оператор
1 > выполняется только тогда, когда выражение имеет значение True. В
противном случае пропускается < оператор 1 > и сразу выполняется
следующий за оператором ветвления оператор.
Замечание 2
Если необходимо выполнить более одного оператора в
случае,
когда выражение принимает значение True или False, то следует
использовать составной оператор.
Составной оператор – это
несколько операторов, которые объединены с помощью операторных скобок begin
– end;
Рассмотрим примеры реализации разветвляющихся алгоритмов.
Пример 1. Найти значения переменной z.
Y=
Z= -xy
program pr3;
var
x, y, z:real;
begin
write (‘x=’); readln
(x);
if x<0 then y:=x*x*x
else y:=x*x;
z:=-x*y;
writeln
(‘x=’,x:4:2,
‘y=’,y:6:3,
‘z=’,z:6:3);
end.
Пример 2. Найти
значение переменной t.
program f;
label m1;
var
a, b, t, z: Real;
begin
write (‘a=’); readln(a);
write(‘b=’); readln(b);
if t<0 then begin
writeln(‘z не сущ’);
goto m1; end;
if t>0 then z:=SQRT(t)
else z:=1.12;
writeln(‘a=’, a:6:2,
‘b=’, b:6:2, ‘t=’, t:8:2, ‘z=’, z:8:2);
m1:
end.
Пример 3. Найти
значение переменной t.
program ti;
var
x, y, t, z:
Real;
begin
write (‘x=’); readln(x);
write(‘y=’); readln(y);
t:=2*x*y/(x*x+y*y);
if t<0 then z:=sin(t)
else
if t>0 then
z:=ln(t) else z:= 7;
writeln(‘x=’, x:6:2, ‘y=’, y:6:2, ‘t=’, t:8:3, ‘z=’,
z:8:3);
end.
Пример 4. Найти
значения переменных х и у.
x =
program z3;
var
x, y, a, b: Real;
begin
write(‘a=’);
readln(a);
write(‘b=’); readln(b);
if (a*b = 0) or (a – b =
0) then
writeln (‘x, y no’)
else begin
x:=(a+b)/(a*b):
y:=(2*a*b)/(a-b);
writeln
(‘a=’, a:5:2,’b=’, b:5:2,
’x=’, x:7:2,’y=’, y:7:2)
end;
end.
Пример 5. Найти
значение переменной у.
Program t;
var
x, y: real;
begin
write (‘x=’); readln (x);
if x<=0 then writeln (‘y не
сущ’)
else begin
y:=sqrt (x);
writeln (‘x=’, x:6:2,
‘y=’, y:8:3);
end;
end.
Литература
- Малярчук С.Н.,
Информатика в определениях, таблицах и схемах. 10-11 классы. -7-е изд.-
Харьков: Веста: Издательство «Ранок», 2008.-112 с.- (Серия «Спасатель»).
- Епанешников А.М., Епанешников В.А.,
Программирование в среде Turbo Pascal 7.0.- М.:
«ДИАЛОГ-МИФИ», 1993.-288 с.
- Новиков В.С., Парфилова Н.И., Пылькин А.Н. –
Паскаль: Учеб.пособие для сред. спец. учеб. заведений - М.: Высш. Шк..,
1990-223 с.:ил.- (Алгоритмические языки в техникуме)
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.