
- •Тема 4.1. Общие сведения об алгоритмизации
- •1. Понятия алгоритма и алгоритмизации
- •2. Свойства алгоритма
- •3. Способы записей алгоритмов
- •Состав схемы алгоритма
- •1. Основные типы алгоритмов
- •2. Понятие цикла. Классификация циклов
- •3. Составление схем линейных алгоритмов
- •Составление схем разветвляющихся алгоритмов
3. Составление схем линейных алгоритмов
Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно, т.е. линейный алгоритм выполняется в естественном порядке его написания и не содержит разветвлений и повторений.
Рис. 2. – Структура линейного алгоритма
Рассмотрим составление схем линейных алгоритмов на примере.
Пример:
Даны переменные А и В. Требуется обменять их значения, т.е. переменная А должна получить значение В, а В – значение А.
Прежде чем решать данную задачу, давайте подумаем над решением другой задачи: имеется два стакана. В одном из стаканов – вода, в другом – молоко. Требуется поменять содержимое стаканов. Житейский опыт подсказывает, что нам для решения данной проблемы потребуется еще один стакан. В него мы перельем воду из первого, затем в первый стакан (из второго) нальем молоко, а из вспомогательного стакана во второй нальем воду.
Аналогично решается и задача обмена значениями двух переменных.
Решение:
Согласно условию, исходными данными являются переменные А, В. Вводиться вспомогательная переменная, необходимая для обмена значениями двух переменных – переменная k. Данная вспомогательная переменная называется буферной (буфер обмена). На рисунке 3 показана блок-схема алгоритма.
Рис. 3. – Блок-схема алгоритма, реализующего обмен
значениями переменных
Проверим составленный алгоритм. Для того, чтобы было легче контролировать значения переменных, составим таблицу значений.
А |
В |
k |
10 |
3 |
0 |
10 |
3 |
10 |
3 |
3 |
10 |
3 |
10 |
10 |
Результат работы алгоритма совпадает с ожидаемым. Значит, алгоритм составлен верно.
Составление схем разветвляющихся алгоритмов
Алгоритм ветвящейся структуры – это алгоритм, в котором выбирается один из нескольких возможных путей (вариантов) вычислительного процесса. Каждый подобный путь называется ветвью алгоритма.
Признаком разветвляющегося алгоритма является наличие операций условного перехода, когда происходит проверка истинности некоторого логического выражения и в зависимости от истинности или ложности проверяемого условия для выполнения выбирается та или иная ветвь алгоритма. Алгоритм предполагает выполнение Действия1, если записанное условие выполняется (истинно), и выполнение Действия2, если условие не выполняется (ложно).
Рис. 4. – Структура ветвящегося алгоритма
Рассмотрим составление схем ветвящихся алгоритмов на примере.
Пример 1:
Вычислить значение Y:
Y
=
Решение:
Согласно условию, если переменная х принимает любое значение меньше 10, тогда у вычисляется по формуле у=х+2; иначе, если х принимает значение 10 или больше 10 – следовательно, у вычисляется по формуле у=х –2.
Например, х=2 (значение меньше 10), следовательно, у вычисляется по формуле у=х+2, подставим в эту формулу х=2, получим у=2+2=4.
Ответ: если х=2
тогда у=4
Исходные данные задачи: х
Результат: Y
Алгоритм решения данной задачи будет выглядеть так, как показано на рисунке 5.
Рис. 5. – Алгоритм вычисления значения У
Пример 2:
Найти максимальное из двух чисел X и Y.
Решение:
Исходные данные: X и Y.
Результат: max.
Нужно сравнить два числа и сделать вывод.
Алгоритм решения данной задачи будет выглядеть так, как показано на рисунке 6.
Рис. 6. – Алгоритм нахождения максимального из двух чисел