РуЛиб - онлайн библиотека > Конова Елена > Учебники и пособия для среднего и специального образования > Алгоритмы и программы. Язык С++ : учебное пособие для СПО > страница 3

Читаем онлайн «Алгоритмы и программы. Язык С++ : учебное пособие для СПО» 3 cтраница

условный переход)
Начало, конец алгоритма
Ввод-вывод в общем виде
Модификация (начало цикла с параметром)
8
Гл а в а 1
Отдельные блоки соединяются линиями переходов,
которые определяют очередность выполнения действий.
Направление линий сверху вниз или слева направо принимается за основное.
Алгоритм, записанный на языке программирования,
называется программой. При использовании этих языков
запись алгоритма абсолютно формальна и пригодна для
выполнения на ЭВМ. Отдельная конструкция языка программирования называется оператором. Программа —
это упорядоченная последовательность операторов.
1.2. Базовые алгоритмические
конструкции
Число реализованных конструкций конечно в любом
языке программирования. Структурной элементарной
единицей алгоритма является команда, обозначающая
один элементарный шаг обработки или отображения информации. Простая команда на языке блок-схем изображается в виде функционального блока «процесс», который имеет один вход и один выход. Из команд проверки
условий и простых команд образуются составные команды, имеющие более сложную структуру, но тоже один
вход и один выход.
Алгоритм любой сложности может быть представлен
комбинацией трех базовых структур:
• следование;
• ветвление (в полной и сокращенной форме);
• цикл (с предусловием или постусловием).
Характерной особенностью этих структур является
наличие у них одного входа и одного выхода.
1.2.1. Линейные алгоритмы
Базовая структура «следование» означает, что несколько операторов выполняются последовательно друг
за другом, и только один раз за время выполнения программы. Структура «следование» используется для реализации задач, имеющих линейный алгоритм решения.
Это означает, что такой алгоритм не содержит проверок
Ос н о в ы а л г о р и т м и з а ц и и
9
условий и повторений, действия в нем выполняются последовательно, одно за другим.
Пример 1.1. Построить блок-схему алгоритма вычисления высот треугольника со сторонами a, b, c по формулам:
2
ha =   ⋅ p ( p − a) ( p − b) ( p − c);
a
2
ha =   ⋅ p ( p − a) ( p − b) ( p − c);
b
2
ha =   ⋅ p ( p − a) ( p − b) ( p − c),
c
где p =
риметр.
(a + b + c)
— полупе2
Для того чтобы не вычислять три раза одно и то же
значение, введем вспомогательную величину:
t = 2 p ( p − a) ( p − b) ( p − c).
Блок 1. Ввод значений
сторон треугольника.
Блок 2. Вычисление полупериметра.
Блок 3. Вычисление вспомогательной величины t.
Блок 4. Вычисление высот, опущенных на стороны
а, b, c.
Блок 5. Вывод результатов.
1.2.2. Разветвляющиеся алгоритмы
Второй базовой структурой является «ветвление». Эта
структура обеспечивает, в зависимости от результата проверки условия, выбор одного из альтернативных путей
работы алгоритма, причем каждый из путей ведет к обще-
10
Гл а в а 1
му выходу, так что работа алгоритма будет продолжаться
независимо от того, какой путь будет выбран.
Существует структура с полным и неполным ветвлением.
Структура с полным ветвлением (если — то — иначе)
записывается так:
Если < условие >
то
иначе
Все если
Команда выполняется так: если является истинным, то выполняются , записанные после
ключевого слова то, если является ложным, то
выполняются , записанные после слова иначе.
Структура с неполным ветвлением (если — то) не содержит части, начинающейся со слова иначе:
Если
то
Все если
Команда выполняется так: если является
истинным, то выполняются , записанные после ключевого слова то.
Блок-схема алгоритма с ветвлением выглядит так:
Полное ветвление. Структура
Если — То — Иначе
Неполное ветвление.
Структура Если — То
Пример 1.2. Вычислить значение функции
x + a, при x < 10;

y = x + b, при 10 ≤ x ≤ 20;
x + c, при x > 20.
11
Ос н о в ы а л г о р и т м и з а ц и и
Дано: x, a, b, c — произвольные числа.
Найти: y.
Представим задачу графически на числовой оси
10 ≤ x ≤ 20
x < 10
10
y=x+a
1 интервал
x > 20
20
y=x+b
2 интервал
y=x+c
3 интервал
Так как значение переменной x вводится произвольно, то оно может оказаться в любом из трех интервалов.
Приведем блок-схему.
Блок 1. Ввод исходных данных.
Блок 2. Проверка введенного значения. Если х < 10
(выход «Да»), то точка находится в первом интервале.
В противном случае х ≥ 10 (выход «Нет»), и точка может
оказаться во втором или третьем интервале.
Блок 4. Проверка ограничения значения х справа
(х < 20). Если условие выполняется (выход «Да»), то х находится во втором интервале, иначе х ≥ 20, и точка находится в третьем интервале.
Блоки 3, 5 и 6. Вычисление значения y.
12
Гл а в а 1
1.2.3. Циклические алгоритмы
При составлении алгоритмов решения большинства
задач возникает необходимость в неоднократном повторении одних и тех же команд. Алгоритм, составленный
с использованием многократных повторений одних и тех
же действий (циклов), называется