Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpor.doc
Скачиваний:
25
Добавлен:
13.02.2017
Размер:
125.95 Кб
Скачать

7 Декомпозиция, дедуктивный и индуктивный методы построения алгоритмов.

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

Метод структурной алгоритмизации.

Одним из системных методов разработки алгоритмов является метод структурной алгоритмизации. Этот метод

основан на визуальном представлении алгоритма в виде последовательности управляющих структурных фрагментов.

Выделяют три базовые управляющие процессом обработки

информации структуры: композицию (линейная управляющая конструкция, не содержащая альтернативу и

итерацию. Она предназначена для описания единственного

процесса обработки информации), альтернативу (нелинейная

управляющая конструкция, не содержащая итерацию. Она предназначена для описания процессов решения различных задач обработки информации, выбор которых зависит от значений входных данных) и итерацию (циклическая управляющая конструкция, которая содержит композицию и

ветвление. Она предназначена для организации повторяющихся процессов обработки последовательности

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

8. Класс-ция А по характеру связей между блоками делятся на: 1) Линейные – это А, в котором блоки выполняются послед. с верху вниз от начала до конца. Они не содержат блока условия. Они предназначены для представления линейных процессов. Такие А. применяют для описания обобщенного решения задачи в виде послед-ти модулей. Разветвлённые – А. содержащие блок условия и различные конструкции ветвления (ветвление, неполное ветвление, многоальтернативный выбор). Ветвление – это структура, обеспечивающая выбор между альтернативами. Ветвей тем больше, чем больше кол-во повторяемых условий. Каждая управ. структура ветвления имеет 1 вход и 1 выход. Ветвление обязательно имеет блок, в котором записываются логические условия.

Циклические - А. содержащие циклы. Циклы – участки А. выполняющие многократное повторение операций по одним и тем же зависимостям при различных знач. входящих в них переменных. Бывают А. с заранее известным кол-вом итераций(цикл for) и с заранее неизвестным количеством итераций(do-while). Кроме того, различают циклы с предусловием(цикл начинается с проверки условия входа в цикл[выход если НЕТ]) и постусловием(сначала выполняются 1 раз действия подлежащие повторению, затем проверка условия выхода из цикла[выход если ДА]).

11 Типы задач инженерной практики. Решение:1)алгебраических и трансцендентных ур-ий. 2)задач на собственные значения. 3)обыкновенных дифуров. 4)дифуров в частных производных. 5)задач на оптимизацию. 6)задач на обработку числовых массивов. Классификация алгебраических уравнений:1)линейные – 1 реш. 2)нелинейные - несколько решений.

а)алгебраические – n реш. б)трансцендентные – неопред. кол-во реш.

12 Прямые и итерационные методы решения нелинейных уравнений. Прямые методы всегда обеспечивают получение точного реш. Итерационные методы – предусматривают реш. в виде многократно повторяющихся вычислений (многократное применение конкретного алгоритма). Полученное при этом решение всегда будит приближённым, хотя может быть очень близким к точному. Метод половинного деления. Он основан на том, что при условии непрерывности ф-ции, изменение её знака однозначно говорит о сущестоввании корня.

Алгоритм: 1) Вычисляется значение ф-ии в точках, расположенных через равные интервалы ΔХ до тех пор, пока не будут найдены 2 последовательных значения f(xn) и f(xn+1), имеющих противоположные знаки. 2)В полученном интервале [xn; xn+1] вычисляют среднее значение Хср=( xn+ xn+1)/2 и f(xcp). 3)Сравниваются знаки f(xcp) и f(xn). Если они совпадают, то на следующем шаге xn= xср, если нет – то xn+1= xср.В результате интервал, в котором находится значение корня сужается в 2 раза. 4)Производится сравнение | f(xcp)|<=Е, если условие выполняется, то xcp и есть корень. Если нет, то итерационный процесс повторяется. Метод не обладает высокой эффективностью, но обеспечивает однозначное нахождение корня.

Метод ложного положения.

Этот метод является развитием метода половинного деления. В основе метода лежит интерполяция ф-ии по 2 её значениям, имеющим противоположные знаки. Алгоритм: Прямая, проведённая через точки f(xn) и f(xn+1) пересекает ось Х при значении:

Х*= Хn- f(xn)*( xn+1+ xn)/( f(xn+1)- f(xn))

Значение Х* используется для определения f(x*), которое сравнивается со значениями f(xn) и f(xn+1) и используется в дальнейшем вместо того из них, с которым совпадёт по знаку. Вычисления проводятся до тех пор пока | f(x*)| не станет меньше E.

Метод Ньютона(метод касательных). В данном методе осуществляется экстраполяция ф-ии с помощью касательной к кривой в данной точке. Обеспечивает более быструю сходимость, но сущ. Огранич. Разложим ф-ию в ряд Тейлора: f(xn+h)= f(xn)+ f ’(xn)*h+ (f “(xn)*h2)/2! + …

члены содержащие приращение во 2 и более высоких степенях отбрасываются. Используется только соотн. xn+1= xn+h. Предполагая, что при переходе от xn к xn+1 приближается значение ф-ии к нулю так, что f(xn+h)=0. Тогда получили итерационную формулу:

xn+1= xn – f(xn)/f ’(xn)

Значение xn+1 соотв. точке, в которой касательная к кривой, проведенная в точке xn, пересекает ось Х. Быстрота сходимости зависит от выбора нач. точки xn. Если в процессе итераций tg угла наклона касательной [f ‘(xn)] стремится к 0, то метод перестаёт работать. Тоже самое происходит при кратных корнях.

Метод секущих. Этот метод является развитием метода Ньютона. Если вычисление производной затруднено, то целесообразней использовать этот метод, т.е. использовать выражение для приблизительного вычисления этой производной. xn+1= xn – f(xn)/F’(xn), где F’(xn)=( f(xn)- f(xn-1))/(xn-xn-1)

Разложим ф-ию в ряд Тейлора. f(xn+h)= f(xn)+ f’(xn)*h+ (f “(xn)*h2)/2! + … . Члены содержащие приращение во 2 и более высоких степенях отбрасываются. Используется только соотн. xn+1= xn+h. Предполагая, что при переходе от xn к xn+1 приближается значение ф-ии к нулю так, что f(xn+h)=0. Тогда получили итерационную формулу: xn+1= xn – f(xn)/F ’(xn). Значение xn+1 соотв. точке, в которой касательная к кривой, проведенная в точке xn, пересекает ось Х. Быстрота сходимости зависит от выбора нач. точки xn. Данный метод – комбинация экстраполяций и интерполяций, т.е. объединение метода хорд и метода Ньютона.

Соседние файлы в предмете Основы алгоритмизации и программирования