Ветвление

Материал из IOC
Версия от 14:39, 21 декабря 2016; Золотов В.О. (обсуждение | вклад) (Новая страница: «Алгоритм ветвления используется для решения задач, в которых выполнение каких-либо дейс…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Алгоритм ветвления используется для решения задач, в которых выполнение каких-либо действий зависит от значения исходных данных.
Для реализации алгоритма ветвления в алгоритмическом языке применяется оператор выбора (или условный оператор) ЕСЛИ.

Общий вид оператора если:

если <условие>
то

<оператор1>

иначе

<оператор2>

все

<условие> - это логическое выражение, которое может содержать операции сравнения и логические операции:

Операции сравненияЛогические операции
> большеоперация И
< меньшеоперация ИЛИ
= равнооперация НЕ
>= больше или равно
<= меньше или равно
<> не равно

Логическое выражение может принимать только два значения да (истина, когда условие верно) и нет (ложь, когда условие не верно).
Например.
Если переменным присвоены следующие значения
X:=5; Y:=-7; Z:=23;

X<Y результат – Нет
X>Y результат – Да
X + Y = Z результат – Нет
X + Y <> Z результат – Да
Z <= X + 4*Y результат – Нет
Z >= X + 4*Y результат – Да
(X > Y) и (Z > Y) результат – Да
(X > Y) или (Z > Y) результат – Да
(X < Y) и (Z > Y) результат – Нет
(X < Y) или (Z > Y) результат – Да
<оператор1> и <оператор2> - это любые операторы, включая вложенные операторы ЕСЛИ.
Оператор ЕСЛИ работает следующим образом:
Проверяется <условие>, и если оно верно (т.е. равно Да), то будет выполняться <оператор1>, иначе (если оно не верно, т.е. равно Нет) будет выполняться <оператор2>.
Часть оператора если, начинающаяся со слова иначе, может отсутствовать. В этом случае, если <условие> не верно, не будет выполняться никаких действий.
Примеры.
Если переменным присвоены следующие значения
X:=5; Y:=-7; Z:=23;
1. если X<Y то
вывод "X меньше Y"
иначе
вывод "X не меньше Y"
все
т.к. условие не выполняется, на экран будет выведена вторая надпись
2. если Z >= X + 4*Y то
вывод "Z=", Z
иначе
вывод "Значение X в квадрате равно", X*X
все
т.к. условие выполняется, на экран будет выведена первая надпись
3. если (X < Y) или (Z > Y) то
вывод "Одно из условий выполнено"
все
т.к. одно из условий выполняется (Z >Y), надпись будет выведена экран.
4. если (X < Y) и (Z > Y) то
вывод "Одно из условий выполнено"
все
т.к. одно из условий не выполняется (X<Y), надпись не будет выведена экран.
Если по условию задачи вместо <оператора1> или <оператора2> (см. общий вид) необходимо чтобы выполнилось не одно, а несколько действий (операторов), то эти операторы записываются на отдельных строчках или разделяются точкой с запятой:
Например так:
если X>Y то
X:=Y+Z
вывод 'Значение X изменилось и стало равно ', X
все
или так:
если X>Y то
X:=Y+Z; вывод 'Значение X изменилось и стало равно ', X
все
Пример решения задачи с использованием оператора выбора ЕСЛИ.
If.jpg
Решение.
В зависимости от того, какое условие мы будем проверять первым, могут быть различные варианты решения, хотя результат работы программы будет один и тот же. Выбор варианта последовательности проверки условий определяется наилучшей компактностью записи и проверкой меньшего количества условий.
вещ X, F
алг
нач
вывод "Вычисление значения функции при любых Х", нс
вывод "Введите значение Х", нс
ввод X
если X<=0
то
F:=5*X**3-8*X+1
иначе
F:=sqrt(X)
все
вывод "Значение функции при Х=", X, " равно ", F
кон
Презентация с поясняющим примером
Задания для тренировки
Категория: Алгоритмизация