Базовые структуры алгоритмов
Ветвление
Цикл
Параметрический цикл
Проектирование сложных алгоритмов
Метод проектирования алгоритмов «сверху – вниз»
Пример
549.00K
Категория: ПрограммированиеПрограммирование

Базовые структуры алгоритмов

1. Базовые структуры алгоритмов

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

2.

Первая базовая структура - следование
состоит из цепочки блоков без
разветвлений.

3. Ветвление

да
нет
условие

4.

Частный случай ветвления
условие

5.

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

6. Цикл

Цикл применяется в тех случаях, когда
для решения задачи необходимо
многократно повторять одни и те же
действия.

7.

Цикл с постусловием

8.

Цикл с предусловием

9. Параметрический цикл

Параметрический цикл управляется
параметром.
Параметр цикла – это переменная,
которая монотонно меняется в цикле,
и от неё зависит критерий выхода из
цикла.

10.

i := in
Тело
цикла
i := i + di
нет
да
i > ik

11.

i:=in
i>ik
Тело
цикла
i:=i+di

12. Проектирование сложных алгоритмов

13. Метод проектирования алгоритмов «сверху – вниз»

Метод состоит из следующих шагов:
• исходная задача разбивается на подзадачи,
связанные некоторым алгоритмом;
• этот алгоритм отлаживается;
• каждая подзадача рассматривается как
задача;
• процесс продолжается до тех пор, пока
исходная задача не будет полностью
решена.

14.

15. Пример

Задано уравнение ax2 + bx + c = 0 и функция
f(x).
Если уравнение имеет два действительных
корня x1 и x2, построить таблицу значений
функции на отрезке [x1, x2], состоящую из n
точек.

16.

Алгоритм верхнего уровня
Ввод a,b,c
Решение
уравнения
нет
х1,х2
найдены
да
Ввод n
Построение
таблицы
Нет решения
STOP

17.

Алгоритм, реализующий подзадачу решения
квадратного уравнения
d:=b2 – 4ac
нет
D>0
да
X1=( - b + √ d)/2/а
X2= (- b - √ d)/2/а

18.

Алгоритм построения таблицы значений
функции
h=(x2-x1)/(n-1)
x = x1
i=1
Вывод x, f(x)
x=x+h
i = i +1
да
нет
i >n

19.

Таким образом, решение поставленной
задачи состоит из алгоритма верхнего
уровня и двух подзадач.
Алгоритм, связывающий подзадачи
Решение
уравнения
Построение
таблицы f(x)
English     Русский Правила