Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОДИЧКА прикладное ПРОГРАМ.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

Контрольные вопросы:

  1. Что такое модификаторы?

  2. Для чего служат спецификаторы?

  3. Как определяется функция mod и функция div?

  4. Какие преобразования типов в языке Си++ выделяют?

  5. Модификаторы signed и unsigned могут комбинироваться с модификаторами short и long в применении к типу int?

Лабораторная работа № 21 «Разработка программного кода методом половинного деления»

Цель работы: получение навыков при использовании метода половинного деления.

Образовательные результаты, заявленные во фгос третьего поколения:

Студент должен

уметь:

-осуществлять разработку кода программного модуля на современных языках программирования;

- оформлять документацию на программные средства;

- использовать инструментальные средства для автоматизации оформления документации;

знать:

- основные этапы разработки программного обеспечения;

- основные принципы технологии структурного и объектно-ориентированного программирования;

- методы и средства разработки технической документации.

Краткие теоретические и учебно-методические материалы по теме лабораторной работы

В практических вычислениях довольно часто приходится решать уравнения вида:

, (1)

где функция f(x) определена и непрерывна на некотором конечном или бесконечном интервале .

Всякое значение , обращающее функцию f(x) в нуль, т. е. такое, что

,

называется корнем уравнения (1), а способ нахождения этого значения и есть решение уравнения (1).

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

При этом приходится решать две задачи:

  1. отделение корней, т. е. отыскание достаточно малых областей, в каждой из которых заключен один и только один корень уравнения;

  2. вычисление корней с заданной точностью.

При выделении областей, в которых находятся действительные корни уравнения (1), можно воспользоваться тем, что если на концах некоторого отрезка непрерывная функция f(x) принимает значения разных знаков, то на этом отрезке уравнение имеет хотя бы один корень.

Для выделения областей, содержащих один и только один корень, можно воспользоваться, например, графическим способом.

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

Пусть известен отрезок , внутри которого существует и располагается один и только один из корней уравнения (1).

Задача состоит в нахождении этого корня.

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

Пусть дано уравнение f(x)=0, где функция f(x) непрерывна на отрезке и .

Для нахождения корня уравнения (1), принадлежащего отрезку , делим отрезок пополам, т. е. выбираем начальное приближение равным . Если f(x0)=0, то x0 является корнем уравнения. Если f(x0)≠0, то выбираем тот из отрезков или , на концах которого функция f(x) имеет противоположные знаки. Полученный отрезок снова делим пополам и проводим то же рассмотрение и т. д.

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

Пример:

Решить уравнение с абсолютной погрешностью ε=10-4, на отрезке [2; 3].

Алгоритм нахождения корня уравнения (2) представляет следующую последовательность действия:

1. Полагаем a=2, b=3 и ε=0,0001.

2. Вычисляем .

3. Вычисляем и значение функции в этой точке.

4. Проверяем условие f(x)=0. Если это условие выполняется, то считаем х корнем и заканчиваем вычисления. Если условие не выполняется, то переходим к выбору отрезка, на концах которого функция f(х) имеет разные знаки, а именно:

5. Проверяем условие . Если это условие выполняется, то полагаем b=x и переходим к п. 6. Если условие не выполняется, то полагаем a=x, f(a)=f(x) и переходим к п. 6.

6. Проверяем условие . Если оно выполняется, то возвращаемся к процессу деления отрезков пополам, т. е. к п. 3. Если условие не выполняется, т. е. , то за результат принимаем значение х и заканчиваем вычисления.