- •Лабораторный практикум по информатике для проведения занятий во втором семестре
- •Лабораторная работа №1
- •1.Процедурные и функциональные типы данных.
- •Var p: SwapProc;
- •2. Пример программной реализации функционального типа.
- •X,y : integer;
- •3. Практическая часть
- •3.2. Приближенное интегрирование функций
- •4. Задание.
- •Лабораторная работа №2 Тема занятия: «Модули»
- •1. Назначение модуля и его структура.
- •2. Структура модуля
- •Interface
- •{ Глобальные описания констант, типов, переменных, заголовки процедур и функций}
- •Implementation
- •3. Интерфейсная секция
- •4. Секция инициализации
- •5. Практическая часть
- •Interface
- •Implementation
- •I: Integer;
- •Задание на лабораторную работу
- •Лабораторная работа №3 Тема занятия: «Разработка оконного интерфейса» Задание на лабораторную работу
- •Interface
- •Image2: tImage;
- •Image1: tImage;
- •Image3: tImage;
- •Var Form1: tForm1;
- •Лабораторная работа №4 Тема занятия: «Разработка дополнительной оконной формы для рисования графика функции» Задание на лабораторную работу
- •1.Алгоритм построения графика функции
- •Interface
3. Практическая часть
Предлагается использовать функциональный тип данных для задач:
1. Приближенного решения алгебраических и трансцендентных уравнений.
2. Приближенного интегрирования функций.
3.1. Приближенное решение алгебраических и трансцендентных уравнений
Приближенное нахождение изолированных действительных корней уравнения f(x) = 0 обычно складывается из 2-х этапов:
1. Отделение корней, т. е. установление промежутков [a, b], в которых содержится один и только один корень уравнения f(x) = 0.
2. Уточнение приближенных значений корней, т. е. доведение их до заданной степени точности (последовательное приближение к истинному значению корня).
Независимо от метода точность приближенного корня можно оценить двумя способами:
1. Пусть известны два последовательных приближения (два значения корня)
x n-1 и x n .
Как только будет выполняться следующее выражение
| x n - x n-1 | < eps,
где eps – малая наперёд заданная величина (абсолютная погрешность).
Это условия означает, что итерационное приближение (уточнение) к истинному значению корня следует завершить.
2. Уточнение значений корня уравнения f(x) = 0 следует завершить, как только будет получено такое приближение xn , для которого | f(xn ) | < eps.
Способ половинного деления
Способ половинного деления заключается в следующем. Если функция f(x) непрерывна на [a, b] и f(a)*f(b) < 0, то для нахождения корня уравнения делим этот отрезок пополам. Если f((a+b)/2) = 0, то х = (a+b)/2 является корнем уравнения. Если f((a+b)/2) <> 0, то выбираем ту половину [a, (a+b)/2] или [(a+b)/2, b], на концах которой функция f(x) имеет противоположные знаки. Новый суженный отрезок
[a1 , b1 ] снова делим пополам и проводим то же рассмотрение и т. д.
Способ пропорциональных частей (метод хорд)
Способ пропорциональных частей заключается в следующем. Если функция f(x) непрерывна на [a, b] и f(a)*f(b) < 0, то для нахождения корня уравнения делим этот отрезок в отношении - f(a)/f(b). Это дает нам приближенное значение корня
x1 = a + h1 , где
h1 = -f(a)*(b-a)/[-f(a)+f(b)] =-f(a)*(b-a)/[f(b)-f(a)].
Далее, применяя этот прием к тому из отрезков [a, x1 ] или [x1 , b],на концах которого функция f(x) имеет противоположные знаки, получим второе приближе-ние корня x2 и т. д.
Способ Ньютона (метод касательных)
Способ Ньютона заключается в следующем. Если f'(x) и f''(x) непрерывны и сохраняют определенные знаки при a <= x <= b, то многократно повторяя формулу
x n+1 = xn - f(xn )/f'(xn ),
получаем быстро сходящиеся к корню последовательные приближения xn (n=1, 2, ...). За первое приближение этого корня можно принять значение
x1 = a - f(a)/f'(a).
Способ итераций
Способ итераций заключается в следующем. Уравнение f(x) переписывается в виде x = g(x). После этого выбирают начальное приближение x1, подставляют его в правую часть уравнения и полученное значение x2 = g(x1 ) принимают за второе приближение для корня. Вообще, если найдено приближение xn, то следующее при-ближение xn+1 определяется по формуле
xn+1 = g(xn ).
Если с заданной степенью точности выполняется равенство x n+1 = xn , то x n и принимают за искомое значение корня.
