Разветвляющимися называется такой алгоритм, в котором выбирается один из нескольких возможных вариантов вычислительного процесса. каждый подобный путь называет "ветвью алгоритма".
признаком разветвляющегося алгоритма является наличие операций проверки условия. различают два вида условий – простые и составные.
простым условием (отношением) называется выражение, составленное из двух арифметических выражений или двух текстовых величин (иначе их еще ), связанных одним из знаков:
< - меньше,
> - больше,
< = - меньше, или равно
> = - больше, или равно
< > - не равно
= - равно
например, простыми отношениями являются следующие:
1. var a:integer; begin write('Введите число: '); readln(a); if a>0 then a:=a-10 else a:=a+10; writeln('a = ',a); end.
Пример: Введите число: 5 a = -5
2. var a,b,p:integer; begin writeln('Введите два числа: '); readln(a,b); if a*b<0 then p:=-2*a*b else p:=3*a*b; writeln('p = ',p); end.
Пример: Введите два числа: -3 -8 p = 72
3. var a,b,r:integer; begin writeln('Введите два числа: '); readln(a,b); if a>b then r:=a-b else r:=b-a; writeln('r = ',r); end.
Пример: Введите два числа: 25 48 r = 23
4. var r:integer; begin writeln('Введите рост: '); readln(r); if r>180 then writeln('высокий') else if r=180 then writeln('нормальный') else writeln('низкий'); end.
признаком разветвляющегося алгоритма является наличие операций проверки условия. различают два вида условий – простые и составные.
простым условием (отношением) называется выражение, составленное из двух арифметических выражений или двух текстовых величин (иначе их еще ), связанных одним из знаков:
< - меньше,
> - больше,
< = - меньше, или равно
> = - больше, или равно
< > - не равно
= - равно
например, простыми отношениями являются следующие:
x-y> 10; k< =sqr(c)+abs(a+b); 9< > 11; ‘мама’< > ‘папа’.
в примерах первые два отношения включают в себя переменные, поэтому о верности этих отношений можно судить только при подстановке некоторых значений:
если х=25, у=3, то отношение x-y> 10 будет верным, т.к. 25-3> 10
если х=5, у=30, то отношение x-y> 10 будет неверным, т.к. 5-30< 10
проверьте верность второго отношения при подстановке следующих значений:
а) k=5, a=1, b=-3, c=-8
b) k=65, a=10, b=-3, c=2
var a:integer;
begin
write('Введите число: ');
readln(a);
if a>0 then a:=a-10 else a:=a+10;
writeln('a = ',a);
end.
Пример:
Введите число: 5
a = -5
2.
var a,b,p:integer;
begin
writeln('Введите два числа: ');
readln(a,b);
if a*b<0 then p:=-2*a*b else p:=3*a*b;
writeln('p = ',p);
end.
Пример:
Введите два числа:
-3 -8
p = 72
3.
var a,b,r:integer;
begin
writeln('Введите два числа: ');
readln(a,b);
if a>b then r:=a-b else r:=b-a;
writeln('r = ',r);
end.
Пример:
Введите два числа:
25 48
r = 23
4.
var r:integer;
begin
writeln('Введите рост: ');
readln(r);
if r>180
then writeln('высокий')
else if r=180 then writeln('нормальный') else writeln('низкий');
end.
Пример:
Введите рост:
160
низкий