
- •5.1. Понятие алгоритма
- •5.1.1. Алгоритм и его свойства
- •5.1.2. Способы описания алгоритма
- •Изображение алгоритма в виде блок-схемы
- •Виды алгоритмов
- •Контрольные задания:
- •5.2. Компьютер как формальный исполнитель алгоритмов
- •5.2.1. Исполнитель и система команд исполнителя
- •5.2.2. Компьютер — автоматический исполнитель алгоритмов
- •Контрольные задания:
- •5.3. Алгоритмические конструкции:
- •5 Рис. 5.8. Линейный алгоритм .3.1. Линейный алгоритм
- •5.3.2. Разветвляющийся алгоритм
- •5.3.3. Циклические алгоритмы
- •5.3.3.1. Цикл со счетчиком
- •5 Рис. 5.17. Цикл с предварительным условием .3.3.2. Циклы с условием
- •Контрольные задания:
5.3.2. Разветвляющийся алгоритм
В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в алгоритмическую структуру "ветвление" входит условие, в зависимости от выполнения или невыполнения которого реализуется та или иная последовательность команд (серия).
В алгоритмической структуре "ветвление" та или иная серия команд выполняется в зависимости от истинности условия.
Будем называть условием высказывание, которое может быть либо истинным, либо ложным. Условие, записанное на формальном языке, называется условным или логическим выражением.
Условные выражения могут быть простыми и сложными. Простое условие включает в себя два числа, две переменных или два арифметических выражения, которые сравниваются между собой с использованием операций сравнения (равно, больше, меньше и пр.). Например: 5>3, 2*8 = 4*4 и т. д.
Сложное условие – это последовательность простых условий, объединенных между собой знаками логических операций. Например, 5>3 And 2*8 = 4*4.
+
-
Рис. 5.11. Алгоритмическая структура "ветвление".
Иногда у разветвляющихся алгоритмов отсутствует часть со знаком "-". Это говорит о том, что если условие не выполняется, то и не будет выполняться ни какой команды и управление процессом пойдёт далее. Такой алгоритм в информатике называют разветвляющийся алгоритм в краткой форме записи.
Рассмотрим несколько примеров разветвляющихся алгоритмов.
ПРИМЕР 5.6. Известны коэффициенты a, b и с квадратного уравнения. Вычислить корни квадратного уравнения.
Входные данные: а, b, с.
Выходные данные: x1 и x2.
Блок-схема представлена на рис. 5.5 на стр. 68.
ПРИМЕР 5.7. В компьютер вводится оценка. По её значению определить её наименование. Например, введена оценка "4" – вывод "оценка хорошо".
РЕШЕНИЕ.
Входные данные: n – оценка (число от 1 до 5).
Выходные данные: наименование оценки ("плохо", "неудовлетворительно", "удовлетворительно", "хорошо", "отлично").
Блок-схема представлена на рис. 5.12.
Примечание. Анализируя данную задачу, приходим к выводу, что не всегда в задаче могут производиться расчёты, а выходными данными может быть и просто текст. Задача будет решаться с помощью разветвляющегося алгоритма в краткой форме записи путём перебора всех оценок.
Рис. 5.12. Алгоритм решения задачи из примера 5.7.
ПРИМЕР 5.8. По введённому числу определить положительное оно или отрицательное.
РЕШЕНИЕ.
Входные данные: а – вводимое число.
Выходные данные: текстовое сообщение. Решение задачи представлено на рис. 5.13.
Примечание. Анализируя данную задачу, приходим к выводу, что задача будет решаться с использованием полной формы разветвляющегося алгоритма.
Рис. 5.13. Алгоритм решения задачи из примера 5.8.
ПРИМЕР 3.9. Ввести число. Если оно положительное, тогда вычислить квадратный корень данного числа. Иначе оставить число без изменения.
РЕШЕНИЕ.
Входные данные: а – вводимое число.
Выходные данные: а – если число положительное, тогда выводим его корень, иначе выводим само число. Решение задачи представлено на рис. 5.14.
Примечание. Анализируя данную задачу, приходим к выводу, что задача будет решаться с использованием краткой формы разветвляющегося алгоритма.
Рис. 5.14. Алгоритм решения задачи из примера 5.9.
ПРИМЕР 5.10. Ввести число. Если оно отрицательное, тогда возвести его в квадрат. Иначе вычислить квадратный корень числа.
Примечание. В математике (и в других точных науках) данные примеры записывают в виде:
Вычислить:
ПРИМЕР 5.11. Задача "Светофор". По знаку сигнала светофора необходимо определить, что должен делать водитель автомобиля: "красный" – "стоять", "жёлтый" – "приготовиться", "зелёный" – "ехать".
Домашнее задание:
Составить блок-схемы к оставшимся примерам самостоятельно.