
- •Краткая рецензия:
- •Оглавление
- •1. Формулировка задания
- •2. Аналитическое решение
- •3. Метод половинного деления
- •3.1. Анализ задачи
- •3.2. Алгоритм действий
- •3.3. Блок схема
- •3.4. Отладка задачи
- •4. Метод простых итераций
- •4.1. Анализ задачи
- •4.2. Алгоритм действий
- •4.3. Блок-схема
- •4.4. Отладка задачи
- •5. Метод хорд
- •5.1. Анализ задачи
- •5.2. Алгоритм действий
- •5.3. Блок-схема
- •5.4. Отладка задачи
- •6. Метод Ньютона
- •6.1. Анализ задачи
- •6.2. Алгоритм действий
- •6.3. Блок-схема
- •6.4. Отладка задачи
- •7. Заключение
4. Метод простых итераций
4.1. Анализ задачи
Заменим исходное уравнение уравнение (1.1.) равносильным уравнением
(4.1.)
Из рисунка 4.1. видно, что при выборе
данного уравнения и начального приближения
корня
итерационный
процесс сходится.
Рисунок 4.1.
Для решения данной задачи введем переменные x1 и x2. Их значения будем находить по следующим формулам:
(4.2.)
(4.3.)
Поскольку в программном коде невозможно применить идентификатор ε, то обозначим переменную ε как E.
Тогда условие окончания повторения цикла примет следующий вид:
(4.4.)
Переменная n будет применяться для вывода значений всех переменных на разные строки:
(4.5.)
Для определения входных, выходных и промежуточных параметров составляем схематические зависимости переменных:
Рисунок 4.2.
В данной задаче содержится две переменные, которые являются входными параметрами – x и E. Переменная n является промежуточным параметром. Выходными данными будут значения переменных x1, x2 они понадобятся для составления отчетной таблицы.
Входные данные: x, E;
Промежуточные данные: n;
Выходные данные: x1, x2.
Для переменной n будем применять тип данных BYTE, т.к. она принимает только положительные целочисленные значения, для переменной E - SINGLE, т.к. она имеет только 3 значащие цифры после запятой. Для переменных x, x1, x2 будем использовать тип данных DOUBLE, в целях достижения наибольшей точности при расчетах.
Для выполнения условного цикла будем использовать оператор Do…Loop Until, т.к. подсчет нужно вести до тех пор, пока не выполнится условие (4.4.).
4.2. Алгоритм действий
Объявляем переменные E, n, x, x1, x2;
Присваиваем переменной n тип данных BYTE; E – SINGLE; x, x1, x2 - DOUBLE;
Присваиваем переменным x, E, n начальные значения 2, 0.001, 16 соответственно;
Вычисляем значение x1 по формуле (4.2.), тем самым находим новое приближение корня;
Вычисляем значение x2 по формуле (4.3.), т.е. находим следующее приближение;
Присваиваем переменной x значение переменной x2, этим действием мы задаем новый аргумент для последующей итерации;
Выводим значения x1, x2 на лист;
Присваиваем переменной n новое значение, используя формулу (4.5.);
Ставим условие (4.4.);
Если оно выполняется, условный цикл завершается;
В противном случае программа возвращается и заново выполняет действия с 4 по 9. Цикл будет повторяться до тех пор, пока разность значений x2 и x1 не будет удовлетворять точности, заданной в условии;
Выводим конечное значение переменной x2 на лист, сохраняем результаты в таблице Excel.
4.3. Блок-схема
Рисунок 4.3.
4.4. Отладка задачи
Отладка задачи выполнялась вручную и с использованием вычислений в Excel.
Результаты расчета по программе:
Таблица 4.1.
x1 |
x2 |
x |
0,714286 |
1,503067 |
1,144249 |
0,928642 |
1,30748 |
|
1,038212 |
1,220626 |
|
1,092681 |
1,18036 |
|
1,119278 |
1,161357 |
|
1,132141 |
1,152317 |
|
1,138332 |
1,148001 |
|
1,141304 |
1,145937 |
|
1,142729 |
1,144949 |
|
1,143412 |
1,144475 |
|
1,143739 |
1,144249 |
|
Результаты расчета в Excel:
Таблица 4.2.
x1 |
x2 |
x |
0,714286 |
1,503067 |
1,144249 |
0,928642 |
1,30748 |
|
1,038212 |
1,220626 |
|
1,092681 |
1,18036 |
|
1,119278 |
1,161357 |
|
1,132141 |
1,152317 |
|
1,138332 |
1,148001 |
|
1,141304 |
1,145937 |
|
1,142729 |
1,144949 |
|
1,143412 |
1,144475 |
|
1,143739 |
1,144249 |
|
Вывод: данные расчета по разработанной программе и контрольных вычислений имеют полное совпадение. Следовательно, программа написана верно.