Similar presentations:
Базовые структуры алгоритмов
1. Базовые структуры алгоритмов
Наложим некоторые ограничения наструктуру блок-схемы.
Будем строить алгоритм, используя только
три фрагмента определенной
конфигурации.
Назовем их базовыми структурами
алгоритмов.
2.
Первая базовая структура - следованиесостоит из цепочки блоков без
разветвлений.
3. Ветвление
данет
условие
4.
Частный случай ветвленияусловие
5.
Ветвление применяется в тех случаях,когда необходимо выбрать один из
двух путей решения задачи.
6. Цикл
Цикл применяется в тех случаях, когдадля решения задачи необходимо
многократно повторять одни и те же
действия.
7.
Цикл с постусловием8.
Цикл с предусловием9. Параметрический цикл
Параметрический цикл управляетсяпараметром.
Параметр цикла – это переменная,
которая монотонно меняется в цикле,
и от неё зависит критерий выхода из
цикла.
10.
i := inТело
цикла
i := i + di
нет
да
i > ik
11.
i:=ini>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)