|
|
Строка 105: |
Строка 105: |
| | | |
| | | |
− | Категория: Алгоритмизация | + | [[Категория: Алгоритмизация]] |
Версия 13:55, 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
все
Пример решения задачи с использованием оператора выбора ЕСЛИ.
Решение.
В зависимости от того, какое условие мы будем проверять первым, могут быть различные варианты решения, хотя результат работы программы будет один и тот же. Выбор варианта последовательности проверки условий определяется наилучшей компактностью записи и проверкой меньшего количества условий.
вещ X, F
алг
нач
- вывод "Вычисление значения функции при любых Х", нс
- вывод "Введите значение Х", нс
- ввод X
- если X<=0
- то
- F:=5*X**3-8*X+1
- иначе
- F:=sqrt(X)
- все
- вывод "Значение функции при Х=", X, " равно ", F
кон
Презентация с поясняющим примером
Задания для тренировки