Оператор ветвления
Ветвление – алгоритмическая
конструкция, при которой программа в зависимости от поставленного условия
выбирает ту или иную последовательность действий.
Условие – выражение, про
которое можно сказать верно оно или нет. При программировании, как правило,
условие включает в себя один из знаков <,>,=,<>(не
равно),<=(меньше
или равно),>=(больше
или равно).
if условие then
begin
оператор1;
оператор2;
...
операторk;
end
else
begin
операторl;
...
операторz;
end;
Если условие выполняется, то выполнятся и операторы с 1 по k, если нет - с L по Z.
Внимание: перед “else”
точка с запятой никогда не ставится. Если в ветвлении необходимо
выполнять только один оператор, то операторные скобки ставить не обязательно.
Пример. Программа для решения
квадратного уравнения.
program KwUr;
var
a,b,c: integer;
d,x1,x2: real;
begin
write (‘задай коэффициенты’);
read (a,b,c);
d:=b*b-4*a*c;
if
d<0 then
writeln (‘уравнение не имеет действительных
корней’)
else
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
write (‘корни
уравнения равны’);
write
(x1:6:3,x2:6:3)
end;
end.
При составлении программ можно столкнуться с необходимостью
выполнения серии операторов только при истинности заданного условия. В таких
случаях else писать не надо. Например, фрагмент
программы для нахождения модуля числа без использования функции abs выглядит следующим
образом:
write (‘задай число’);
read (a);
if a<0 then
a:=-a;
write (‘модуль числа равен’, a);
Форма ветвления, в которой отсутствует ветка ELSE называется краткой или
не полной.
Вычисление значения функции, заданной несколькими формулами
1) If25. Для данного целого x найти значение следующей функции f, принимающей значения целого типа:
f(x) =
|
2∙x, если x < – 2 или x > 2, – 3∙x, в противном случае. |
Program if25;
Var x,y : real;
Begin
readln(x);
if x<=0 then
y:=-x
else
if x<2 then
y:=sqr(x)
else
y:=4;
writeln(y);
End.
2) If26. Для данного вещественного x найти значение
следующей функции f, принимающей вещественные значения:
f(x) =
|
–x, если x ≤ 0,
x2, если 0 < x < 2,4, если x ≥ 2. |
Program if26;
Var x,y : real;
Begin
readln(x);
if x<=0 then y:=-x;
if (x>0) and (x<2) then y:=sqr(x);
if (x>=2) then y:=4;
writeln(y);
End.
Алгоритм "Большее из трех"
Задача: найти большее из трех чисел.
1 способ:
Program BIT1;
Var a,b,c : integer;
Begin
readln(a,b,c);
if a>b then
if a>c then writeln(a) else writeln(c)
else
if b>c then writeln(b) else writeln(c);
End.
2 способ (Базовый алгоритм, выучить!):
Program BIT2;
Var a,b,c, max : integer;
Begin
readln(a,b,c);
max:=a;
if b>max then max:=b;
if c>max then max:=c;
writeln('наибольшее - ', max);
End.
Домашнее задание (к 13.02)
п.37,38,
алгоритмы БИД1, БИТ2 на с. 204 выучить,
алгоритм БИТ2 (см. выше) выучить,
решить задачи:
If10. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.
If21. Даны целочисленные координаты точки на плоскости. Если точка совпадает с началом координат, то вывести 0. Если точка не совпадает с началом координат, но лежит на оси OX или OY, то вывести соответственно 1 или 2. Если точка не лежит на координатных осях, то вывести 3.
If24. Для данного вещественного x найти значение следующей функции f, принимающей вещественные значения:
If26а. Для данного вещественного x найти значение
следующей функции f, принимающей вещественные значения:
алгоритмы БИД1, БИТ2 на с. 204 выучить,
алгоритм БИТ2 (см. выше) выучить,
решить задачи:
If10. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.
If21. Даны целочисленные координаты точки на плоскости. Если точка совпадает с началом координат, то вывести 0. Если точка не совпадает с началом координат, но лежит на оси OX или OY, то вывести соответственно 1 или 2. Если точка не лежит на координатных осях, то вывести 3.
If24. Для данного вещественного x найти значение следующей функции f, принимающей вещественные значения:
|
f(x) =
|
2∙sin(x), если x>0, 6 – x, если x ≤ 0. |
|
f(x) =
|
x2, если x ≤ 1, x, если 1 < x < 4, 2х-4, если x ≥ 4. |
Комментариев нет:
Отправить комментарий