Главная | Случайная
Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Метод пошаговой детализации




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

Пример 2. Разработать программу, которая с заданной точностью e находит значение аргумента x по заданному значению функции y при известном значении n.

(x+1)n+1

y = ---------- , где n>1, x>0.

x

При n>1 данная функция является монотонно возрастающей. Следовательно, для нахождения значения x можно применить метод половинного деления. Суть метода заключается в следующем. Вначале определяют отрезок [x1,x2], такой что f(x1)£y£f(x2). Затем делят его пополам xt=(x1+x2)/2 и определяют, в какой половине отрезка находится x, для чего сравнивают f(xt) и y. Полученный отрезок опять делят пополам и так до тех пор, пока разность x1 и x2 не станет меньше заданного значения e.

Для разработки алгоритма используем метод пошаговой детализации.

Шаг 1.Определяем общую структуру программы:

Программа:

Ввести y, n, eps.

Определить x.

Вывести x, y.

Конец.

Шаг 2. Детализируем операцию определения x:

Определить x:

Определить x1, такое что f(x1)£y.

Определить x2, такое что f(x2)³y.

Определить x на интервале [x1,x2].

Все.

Шаг 3. Детализируем операцию определения x1. Значение x1 должно быть подобрано так, чтобы выполнялось условие f(x1)£y. Известно, что x>0, следовательно, можно взять некоторое значение x, например, x1=1, и последовательно уменьшая его, например, в два раза определить значение x1, удовлетворяющее данному условию:

Определить x1:

x1:=1

цикл-пока f(x1)>y

x1:=x1/2

Все-цикл

Все.

Шаг 4. Детализируем операцию определения x2. Значение x2 находим аналогично x1, но исходное значение будем увеличивать в два раза.

Определить x2:

x2:=1

цикл-пока f(x2)<y

x2:=x2*2

Все-цикл

Все.

Шаг 5. Детализируем операцию определения x. Определение x выполняется последовательным сокращением отрезка [x1, x2].

Определить x:

цикл-покаx2-x1>eps

Сократить отрезок [x1,x2].

Все-цикл

Все.

Шаг 6. Детализируем операцию сокращения интервала определения x. Сокращение отрезка достигается делением пополам и отбрасыванием половины, не удовлетворяющей условию f(x1)£y£f(x2)




Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2019 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных