Условные обозначения блоков схем алгоритмов
⇐ ПредыдущаяСтр 3 из 3 Таблица 3.1 Структурные схемы алгоритмов Одним из свойств алгоритма является дискретность — возможность расчленения процесса вычислений, предписанных алгоритмом, на отдельные этапы, возможность выделения участков программы с определенной структурой. Можно выделить и наглядно представить графически три простейшие структуры: - последовательность двух или более операций; - выбор направления; - повторение. Любой вычислительный процесс может быть представлен как комбинация этих элементарных алгоритмических структур. Соответственно, вычислительные процессы, выполняемые на ЭВМ по заданной программе, можно разделить на три основных вида: - линейные; - ветвящиеся; - циклические. Линейным принято называть вычислительный процесс, в котором операции выполняются последовательно, в порядке их записи. Каждая операция является самостоятельной, независимой от каких-либо условий. На схеме блоки, отображающие эти операции, располагаются в линейной последовательности. Линейные вычислительные процессы имеют место, например, при вычислении арифметических выражений, когда имеются конкретные числовые данные и над ними выполняются соответствующие условию задачи действия. На рис. 3.5. показан пример линейного алгоритма, определяющего процесс вычисления арифметического выражения
у = (b2-ac) / (a+c). Рис. 3.5. Пример линейного алгоритма Вычислительный процесс называется ветвящимся, если для его реализации предусмотрено несколько направлений (ветвей). Каждое отдельное направление процесса обработки данных является отдельной ветвью вычислений. Ветвление в программе — это выбор одной из нескольких последовательностей команд при выполнении программы. Выбор направления зависит от заранее определенного признака, который может относиться к исходным данным, к промежуточным или конечным результатам. Признак характеризует свойство данных и имеет два или более значений.
Ветвящийся процесс, включающий в себя две ветви, называется простым, более двух ветвей — сложным. Сложный ветвящийся процесс можно представить с помощью простых ветвящихся процессов. Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа: «да» — условие выполнено и «нет» — условие не выполнено. Следует иметь в виду, что, хотя на схеме алгоритма должны быть показаны все возможные направления вычислений в зависимости от выполнения определенного условия (или условий), при однократном прохождении программы процесс реализуется только по одной ветви, а остальные исключаются. Любая ветвь, по которой осуществляются вычисления, должна приводить к завершению вычислительного процесса. На рис. 3.6. показан пример алгоритма с разветвлением для вычисления следующего выражения:
æa + b, если x £ 0; y = í èc / b, если x > 0. Рис. 3.6. Пример разветвляющегося алгоритма Циклическими называются программы, содержащие циклы. Цикл — это многократно повторяемый участок программы. В организации цикла можно выделить следующие этапы: - подготовка (инициализация) цикла (И); - выполнение вычислений цикла (тело цикла) (Т); - модификация параметров (М); - проверка условия окончания цикла (У). Порядок выполнения этих этапов, например, Т и М, может изменяться. В зависимости от расположения проверки условия окончания цикла различают циклы с нижним и верхним окончаниями (рис. 3.7.). Для цикла с нижним окончанием (рис. 3.7. а) тело цикла выполняется как минимум один раз, так как сначала производятся вычисления, а затем проверяется условие выхода из цикла. В случае цикла с верхним окончанием (рис. 3.7. б) тело цикла может не выполниться ни разу в случае, если сразу соблюдается условие выхода.
Цикл называется детерминированным, если число повторений тела цикла заранее известно или определено. Цикл называется итерационным, если число повторений тела цикла заранее неизвестно, а зависит от значений параметров (некоторых переменных), участвующих в вычислениях.
а) б) Рис. 3.7. Примеры циклических алгоритмов. Циклы с нижним а) и верхним б) окончаниями. На рис. 3.8. показан пример циклического алгоритма вычисления суммы десяти чисел. Рис. 3.8. Алгоритм нахождения суммы чисел с 1 до 10 Вопросы по содержанию лекции: 1. Что такое алгоритм? 2. Перечислите свойства алгоритмов. 3. Какая структура алгоритма называется циклической? 4. На основании каких свойств алгоритма, возможно расчленение процесса вычислений на отдельные этапы?
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|