3)вывод S;
4)конец.
П р и м е р 4 Алгоритм заполнения зачетной ведомости группы из 20
студентов (i – номер студента):
начало цикла
для i от 1 до 20 с шагом 1 повторять:
1)ввести фамилию студента;
2)поставить оценку.
конец цикла
1.2.4. Графическая запись
Графическая запись, или блок-схема, – описание структуры алгоритма с помощью геометрических фигур с линиями связи, показывающими порядок выполнения отдельных инструкций. Описание алгоритмов с помощью схем – один из наиболее наглядных и компактных способов, имеющий ряд преимуществ перед остальными:
–наглядное отображение базовых конструкций алгоритма;
–концентрация внимания на структуре алгоритма;
–использование принципа блочности при коллективном решении сложной задачи;
–преобразование алгоритма методом укрупнения (сведения к единому блоку) или детализации (разбиения на ряд блоков);
–быстрая проверка разработанного алгоритма.
В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т. п.) соответствует геометрическая фигура, называемая блоком. Блочные символы соединяются линиями переходов (стрелками), определяющими очередность выполнения действий.
Условные графические изображения, используемые при построении схем, называются символами. Система символов и правила построения алгоритмов определены соответствующими стандартами; блок-схема выстраивается в одном направле-
6
нии: либо сверху вниз, либо слева направо, в порядке выполнения действий.
Для наглядности операции разного вида изображаются в схеме различными геометрическими фигурами (таблица).
Средства графического изображения алгоритмов
Наименование |
Символ |
Выполняемые |
||
действия |
||||
|
|
|||
Терминатор |
|
Обозначает начало и |
||
|
конец алгоритма |
|||
(пуск-остановка) |
|
|||
|
|
|
||
|
|
|
|
|
Данные |
|
Ввод и |
вывод дан- |
|
|
ных |
|
||
(ввод-вывод) |
|
|
||
|
|
|
||
|
|
|
||
|
|
Вычислительные |
||
Процесс |
|
действия |
|
|
|
|
|
|
|
|
|
Наличие |
условия в |
|
Решение |
|
алгоритме |
||
|
|
|
|
|
|
|
Наличие |
арифмети- |
|
Граница арифмети- |
|
ческого цикла |
||
ческого цикла |
|
|
|
|
|
|
|
|
|
Предопределенный |
|
Наличие |
подпро- |
|
|
граммы |
|
||
процесс |
|
|
||
|
|
|
||
|
|
|
|
|
|
|
Разрыв |
алгоритма |
|
Соединитель |
|
(соединительные |
||
|
|
блоки) |
|
|
|
|
Внесение коммента- |
||
Комментарий |
|
риев |
|
|
|
|
|
|
|
7
Терминатор (пуск-остановка). Элемент отображает вход из внешней среды или выход из нее (наиболее частое применение – начало и конец алгоритма). Внутри фигуры записывается соответствующее действие – начало/конец.
Данные (ввод-вывод). Элемент отображает преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод). Данный символ не определяет типа носителя данных.
Процесс. Элемент отображает выполнение одной или нескольких операций, обработку данных любого вида (изменение значения данных, формы представления, расположения). Внутри фигуры записывают непосредственно сами операции. В этом блоке знак «=» означает не математическое равенство, а операцию присваивания.
Решение. Элемент отображает решение или функцию переключательного типа с одним входом и двумя или более альтернативными выходами, из которых только один может быть выбран после вычисления условий, определенных внутри этого элемента. Вход в элемент обозначается линией, входящей обычно в верхнюю вершину элемента. Если выходов два или три, то обычно каждый из них обозначается линией, выходящей из оставшихся вершин (боковых и нижней). Если выходов больше трех, то их следует показывать одной линией, выходящей из вершины (как правило, нижней) элемента, которая затем разветвляется. Соответствующие результаты вычислений могут записываться рядом с линиями, отображающими эти пути.
Граница цикла. Элемент отображает арифметический цикл (цикл с параметром). Условия цикла и приращения записываются внутри символа цикла.
Предопределенный процесс. Элемент отображает выпол-
нение процесса, состоящего из одной или нескольких операций, который определен в другом месте программы (в подпрограмме, модуле). Внутри элемента записываются название процесса и передаваемые в него данные.
8
Соединитель. Элемент используется для обрыва линии и продолжения ее в другом месте (пример: разделение блоксхемы, не помещающейся на листе). Соответствующие соединительные символы должны иметь одинаковое (при том уникальное) обозначение.
Комментарий. Элемент позволяет включать в схемы алгоритмов пояснения к функциональным блокам. Частое использование комментариев нежелательно, т. к. это усложняет (загромождает) схему, делает ее менее наглядной.
Составление блок-схемы алгоритма является важным и необходимым этапом решения задачи. Но, поскольку в таком виде алгоритм не может быть выполнен непосредственно ЭВМ, этот этап является промежуточным, значительно облегчающим процесс составления программы.
П р и м е р 5 Алгоритм сложения двух чисел.
Начало
Ввод чисел a, b
S = a + b
Вывод S
Конец
1.2.5. Программа
Программа – это алгоритм, записанный в виде последовательности команд, понятных ЭВМ (машинных команд). При записи алгоритмов в виде программ для ЭВМ используются языки программирования – системы кодирования предписаний и правила их использования. Такие языки являются искус-
9
ственными языками со строго определенными синтаксисом и пунктуацией. Они не допускают свободного толкования для своих конструкций, как это характерно для естественного языка. Существует большое количество языков программирования, предназначенных для решения прикладных задач.
Для записи алгоритмов в виде программ характерна высокая степень формализации. Перед составлением программ чаще всего используется словесно-формульный или графический способ.
П р и м е р 6 Алгоритм сложения двух чисел.
Программа, записанная на языке Qbasic: Rem Вычисление суммы двух чисел Input «Введите число a: »; a
Input «Введите число b: »; b
Print «Сумма a + b = »; a + b
End
1.3. Виды алгоритмов
Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых (т. е. основных) элементов. Эти элементарные шаги объединяются в алгоритмические конструкции.
В зависимости от особенностей своего построения алгоритмы можно разделить на следующие группы:
1)линейные (последовательные);
2)разветвляющиеся;
3)циклические;
4)рекурсивные.
Линейным называется алгоритм, в котором все этапы решения задачи выполняются ровно один раз и строго последовательно.
П р и м е р 7 Составить алгоритм вычисления площади и периметра
треугольника, если известны длины трех его сторон.
10