Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прилож Б Алгоритмизация вычислит процессов.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
1.81 Mб
Скачать

3. Линейные и разветвляющиеся алгоритмы

Простейшим примером алгоритма является алгоритм линейной структуры. Он применится для вычислительных процессов, в которых операции выполняются в строго определенной последовательности.

Пример. Составить блок-схему вычисления площади S треугольника с заданными сторонами a, b, c.

Алгоритм линейной структуры реализуется следующим образом (рис. 1). Начало процесса обработки данных — блок 1.

Для проведения вычислений осуществляется ввод исходных данных в память ЭВМ – значений длин сторон треугольника a, b, c (блок 2). Перед вычислением величины площади треугольника S (блок 4) необходимо сначала вычислить полупериметр P (блок 3). После вычислений осуществляется вывод результата на печать (блок 5) и остановка (блок 6).

Рисунок 1 - Блок-схема алгоритма линейной структуры

Однако решение абсолютного большинства прикладных задач невозможно свести к алгоритмам линейной структуры. Как правило, вычислительный процесс предусматривает несколько возможных путей решения задач, реализация которых зависит от выполнения некоторых условий. Проверка этих условий осуществляется в логических блоках.

Например, необходимо вычислить значения функции f, которые определяются по одной из трех формул в зависимости от значения х.

Пример. Составить блок-схему для вычисления и вывода значения f для x=1.5 и A=2.8.

, если x<-1,

, если ,

, если x>5.

Блок-схема алгоритма решения данной задачи приведена на рис. 2. Для вычисления значения f надо проверить два из трех взаимоисключающих условий (для x<-1 и x>5).

После ввода исходных данных (блок 2) проверяется первое условие x<-1 (блок 3). Если оно выполняется, то значение f определяется по первой ветви формулы (блок 4). В противном случае проверяется любое из условий, которые остались (они взаимоисключающие) — в данном случае в блоке 5 проверяется условие x>5. Если оно выполняется, значение f вычисляется по третьей ветви формулы (блок 6), в противном случае — по второй ветви в блоке 7. В блоке 8 на экран дисплея выводятся значение x и f.

Рисунок 2 - Блок-схема алгоритма с разветвляющейся структурой

4. Алгоритмы циклической структуры

4.1. Цикл с простой переменной

При решении многих задач возникает необходимость многократного повторения отдельных этапов вычислительного процесса. Многократно повторяемый этап вычислений называют циклом, а вычислительный процесс, который содержит такие этапы, — циклическим.

В циклах повторение отдельных вычислений и их этапов целесообразно выполняется при различных значениях переменной, которая называется параметром цикла.

При организации цикла можно использовать или блок “решение” в объединении с блоками “процесс”, или специальный блочный символ “модификация”. И в том и в другом случае необходимо задать начальное значение параметру цикла, правило его изменения для перехода к новому повторению, а также условие окончания цикла.

Эта группа действий подготавливает условия для работы цикла. Кроме того, циклический алгоритм содержит группу действий, которые реализуют многократно повторяющийся участок вычислений – рабочую часть или тело цикла.

Цикл, в состав которого не входят другие циклы называется простой. На рис. 3 приведены две возможных способа организации циклического процесса. В обоих случаях параметром цикла является переменная i, которая изменяется от своего начального значения in до конечного ik c шагом di. Если di=1, то в блоке модификации значение шага опускается.

Таким образом, рабочая область цикла повторяется тогда, когда значение параметра цикла i изменяется в границах от in до ik c шагом di.

а) б)

Рисунок 3 - Схемы организации простого цикла

Первый способ организации цикла (рис. 3а) предусматривает присвоение начального значения параметру цикла и его изменение с помощью блоков “Процесс”. Условие окончания цикла проверяется в блок “Решение”.

Второй вариант организации цикла (рис. 3б) предполагает автоматическое выполнение этих действий в блоке “модификация”.