Графический СПОСОБ ОПИСАНИЯ АЛГОРИТМОВ
Одним из самых трудоемких этапов решения задачи на ЭВМ является разработка алгоритма. Человечество разработало эффективный алгоритм завязывания шнурков на ботинках. Многие дети с пятилетнего возраста могут это делать. Но дать чисто словесное описание этого алгоритма без картинок и демонстрации - очень трудно.
При разработке алгоритмов чаще всего используют следующие способы их описания: словесный, графический, с помощью языков программирования.
Рассмотрим два способа: графический и с помощью языков программирования.
Графический способ записи алгоритмов – наиболее наглядный и распространенный. Он основан на использовании геометрических фигур (блоков), каждая из которых отображает конкретный этап процесса обработки данных, соединяемых между собой прямыми линиями, называемыми линиями потока. Обозначение и назначение элементов графических схем алгоритмов приведено в табл.1. В поле каждого блочного символа указывают выполняемую функцию. При необходимости справа можно поместить комментарии, относящиеся к данному блоку или направлению потока. Каждый блочный символ (кроме начального и конечного) помечается порядковым номером. Для отличия ситуаций пересечения и слияния потоков последняя изображается точкой. Линии потока, имеющие направление вверх или направо, дополняются стрелками.
Таблица 1
Геометрическая фигура | Назначение |
Начало и завершение алгоритма, прерывание процесса обработки данных или выполнения программы. a выбирается из ряда 5,10,15мм и т.д. ,а b=1,5a или 2a | |
Выполнение операции или группы операций, в результате которых изменяются значение, форма представления или расположение данных | |
Выбор направления выполнения алгоритма или программы в зависимости от некоторых переменных условий |
Окончание табл. 1
Ввод-вывод - преобразование данных в форму, пригодную для обработки или регистрации результатов обработки | |
Вызов подпрограммы: функции или процедуры | |
Текст, поясняющий выполняемую операцию или группу операций. Располагается справа от геометрической фигуры | |
Внутристраничный соединитель, указывающий связь между прерванными линиями потока | |
Межстраничный соединитель, указывающий связь между прерванными линиями потока, помещенными на разных листах | |
Указания последовательности связей между элементами схемы алгоритма |
По своей структуре различают следующие типы алгоритмов: линейные, разветвляющиеся и циклические. В линейных схемах алгоритмов все предписания выполняются одно за другим. Например, алгоритм вычисления длины окружности по известной площади круга (рис.2). В разветвляющихся схемах алгоритмов для конкретных исходных данных выполняются не все заданные предписания. Однако какие именно предписания будут выполняться, конкретно определяется в процессе выполнения алгоритма в результате проверки некоторых условий. Разветвляющийся алгоритм всегда избыточен. Примером разветвляющегося алгоритма является алгоритм, приведенный на рис.3 и определяющий, пройдет ли график функции y=3x+4 через точку с координатами x1,y1.
Рис. 4 |
Рис. 3 |
Рис. 2 |
Циклическим алгоритмом называется такой алгоритм, в котором можно выделить многократно повторяющуюся последовательность предписаний, называемую циклом. Для таких алгоритмов характерно наличие параметра цикла, которое перед входом в цикл имеет начальное значение, а затем изменяется внутри цикла. Имеется также предписание о проверке условия окончания цикла. Применение циклов сокращает текст алгоритма и, в конечном итоге, длину программы. Примером циклического алгоритма может служить алгоритм, приведенный на рис.4 и определяющий факториал натурального числа n. В этом алгоритме введена дополнительная переменная i, которая является параметром цикла и изменяется от начального значения 1 до конечного значения n c шагом 1. На каждом шаге итерации искомая величина f умножается на переменную цикла. В реальных задачах, как правило, сочетаются все три типа алгоритмов. Способ описания алгоритма с помощью алгоритмического языка подробно рассматривается в следующем разделе.
Дата добавления: 2014-12-20; просмотров: 3170;