- •Приложение б алгоритмизация вычислительных процессов
- •1. Этапы подготовки и решения задачи на эвм
- •2. Алгоритм и формы его представления
- •3. Линейные и разветвляющиеся алгоритмы
- •4. Алгоритмы циклической структуры
- •4.1. Цикл с простой переменной
- •4.2. Циклические алгоритмы формирования и обработки одномерных массивов
- •4.3. Организация сложных (вложенных) циклов
- •4.4. Алгоритмы обработки двухмерных массивов.
- •4.5. Циклы с неизвестным числом повторений
- •5. Использование подпрограмм в алгоритмах
- •6. Алгоритмы вычисления суммы и произведения
- •7. Алгоритмы нахождения наибольшего и наименьшего значения
- •8. Алгоритмы сортировки
- •8.1. Сортировка обменом (пузырьковая сортировка)
- •8.2. Сортировка выбором
- •8.3 Метод перестановок
- •8.4. Сортировка вставкой
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б) предполагает автоматическое выполнение этих действий в блоке “модификация”.
