Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Корни.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.47 Mб
Скачать

26

Федеральное агентство железнодорожного транспорта

Сибирский государственный университет путей сообщения

Кафедра «Общая информатика»

НАХОЖДЕНИЕ ДЕЙСТВИТЕЛЬНЫХ КОРНЕЙ С ЗАДАННОЙ ПОГРЕШНОСТЬЮ

Лабораторная работа

по дисциплине «Информатика»

Вариант 4

Руководитель Разработал

доцент студент гр. СМТ-113

________________ Соловьёв Л.Ю. __________________ Ган А.А.

(подпись) (подпись)

_____________ __________

(дата проверки) (дата сдачи на проверку)

Краткая рецензия:

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

_________________________________

(запись о допуске к защите)

________________________________ _________________________________

(оценка по результатам защиты) (подписи преподавателей)

2012 год

Оглавление

1. Формулировка задания 3

2. Аналитическое решение 4

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

3.1. Анализ задачи 6

3.2. Алгоритм действий 7

3.3. Блок схема 9

3.4. Отладка задачи 10

4. Метод простых итераций 11

4.1. Анализ задачи 11

4.2. Алгоритм действий 12

4.3. Блок-схема 14

4.4. Отладка задачи 15

5. Метод хорд 16

5.1. Анализ задачи 16

5.2. Алгоритм действий 18

5.3. Блок-схема 20

5.4. Отладка задачи 21

6. Метод Ньютона 22

6.1. Анализ задачи 22

6.2. Алгоритм действий 24

6.3. Блок-схема 24

6.4. Отладка задачи 25

7. Заключение 26

1. Формулировка задания

Написать программу вычисления действительных корней кубического уравнения

(1.1.)

с точностью .

Предварительно аналитически решить заданное уравнение. После этого подобрать границы задаваемого отрезка.

Использовать 4 способа решения данной задачи.

2. Аналитическое решение

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

Для этого приведем уравнение (1.1.) к канонической форме

(2.1.)

при помощи замены переменной

(2.2.)

и введения коэффициентов

(2.3.)

(2.4.)

Определим тип корней с помощью коэффициента Q:

(2.5.)

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

Нас интересует только действительный корень. Его значение находим по формуле

(2.6.)

где

(2.7.)

(2.8.)

Тогда по формуле (2.6.):

Значение корня находим по формуле (2.2.):

Зная значение корня, определим границы задаваемого отрезка: .

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

3.1. Анализ задачи

Перепишем уравнение (1) как функцию f(x):

(3.1.)

Значения аргумента x на концах заданного отрезка обозначим переменными a и b.

Значение переменной x, соответствующее середине отрезка , обозначим переменной c. Ее значение находим по формуле

(3.2.)

Рисунок 3.1.

Поскольку в программном коде невозможно применить идентификаторы ε, f(a), f(b), f(c), то обозначим переменную ε как E, функции как fa, fb, fc соответственно. Причем значения данных функций находим по следующим формулам

(3.3.)

(3.4.)

(3.5.)

Проверять, меняет ли функция знак на интервале (т.е. лежит ли корень на данном отрезке), будем условиями:

(3.6.)

(3.7.)

Условие окончания повторения цикла примет следующий вид:

(3.8.)

Переменная n будет применяться для вывода значений всех переменных на разные строки:

(3.9.)

Для определения входных, выходных и промежуточных параметров составляем схематические зависимости переменных:

Рисунок 3.2.

В данной задаче содержится три переменные, которые являются входными параметрами – a, b, E. Переменная n является промежуточным параметром. Выходными данными будут значения переменных a, b, c, fa, fb, fc они понадобятся для составления отчетной таблицы.

Входные данные: a, b, E;

Промежуточные данные: n;

Выходные данные: a, b, c, fa, fb, fc.

Для переменной n будем применять тип данных BYTE, т.к. она принимает только положительные целочисленные значения, для переменной E - SINGLE, т.к. она имеет только 3 значащие цифры после запятой. Для переменных a, b, c, fa, fb, fc будем использовать тип данных DOUBLE, в целях достижения наибольшей точности при расчетах.

Для выполнения условного цикла будем использовать оператор DoLoop Until, т.к. подсчет нужно вести до тех пор, пока не выполнится условие (7).