Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Сократить интервал определения x




Все.

Все-цикл

Все.

Все-цикл

Все.

Все-цикл

Все.

Конец.

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

Конец алгоритма

Все-цикл

Все-если

Вывести А

Алгоритмы более сложных программ разрабатывают, используя специальный метод.

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

Пример 3. Разработать программу, которая с заданной точностью 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)

xt:=(x1+x2)/2

если f(xt)>y

то x2:=xt

иначе x1:=xt




Поделиться с друзьями:


Дата добавления: 2014-11-25; Просмотров: 569; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.006 сек.