- •Блок-схема метода половинного деления
- •Практическая часть
- •Компьютерная модель построения графика функции на языке программирования Free Pascal
- •Компьютерная модель метода половинного деления.
- •Компьютерная модель метода хорд.
- •Компьютерная модель метода касательных
- •Компьютерная модель комбинированного метода
Практическая часть
Рассмотрим решение уравнения .
Компьютерная модель приближенного решения уравнений вида f(x)=0 состоит из двух частей:
построение графика функции y = f(x) с целью определения промежутков, на которых находится один корень уравнения;
уточнение корня уравнения методами: половинного деления, хорд, касательных и комбинированного.
Компьютерная модель построения графика функции на языке программирования Free Pascal
//Установка графического режима экрана, описание переменных, необходимых при //работе программы, задание функции
Uses Graph,Crt;
label 1;
var gr,gm,n,i:integer;
x,y,A,B,E,C:real;
function f(x:real): real;
begin
f:=x*x*x-sin(x);
end;
begin
gr:=0;
InitGraph (gr,gm, '');
if GraphResult < > grOk then Halt (1);
SetColor (3); //задание цвета
//построение системы координат
Line (200,100,200,400);
Line (450,270,100,270);
Line (200,100,195,105);
Line (200,100,205,105);
Line (450,270,445,265);
Line (450,270,445,275);
OutTextXY (455,270, 'x');
OutTextXY (185,100, 'y');
OutTextXY (230,280, '1');
OutTextXY (150,280, '-1');
OutTextXY (210,240, '1');
OutTextXY (210,300, '-1');
//шкала по оси Х
x:=110;
while x<450 do
begin
line (trunc(x),265,trunc(x),275);
x:=x+30
end;
//шкала по оси Y
y:=120;
while y<400 do
begin
line (195,trunc(y),205,trunc(y));
y:=y+30
end;
//построение графика
x:=-3;
while x<3 do
begin
x:=x+0.001;
y:=f(x);
PutPixel (trunc(x*30)+200,-trunc(y*30)+270,5)
end;
Для построения графика используется алгоритмическая конструкция «цикл». График строится путем построения точек с координатами (х; у) значения аргумента меняются от -3 до 3 с шагом 0,001, а значения функции вычисляются по формуле . Полученные точки строим с помощью оператора PutPixel, в скобках указываем координаты точек, которые надо построить и номер цвета, которым будет построен график.
Координаты точек, которые строятся, должны быть целыми числами, поэтому используется функция trunc, чтобы отбросить дробную часть.
Пиксель – это очень маленькая точка экрана, поэтому для построения графика функции координаты х и y необходимо умножить на величину единичного отрезка который я взяла (т.е. на 30, тогда увеличивается масштаб). Начало компьютерной системы координат расположено в левом верхнем углу, а наша система координат смещена на 200 пикселей по оси Х и на 270 пикселей по оси Y, поэтому прибавляем 200 и 270. Ось Y на компьютере направлена сверху вниз, наша ось Y снизу вверх, поэтому еще необходим знак «минус» перед значением функции y.
График функции .
По графику функции можно сделать вывод, что рассмотренное уравнение имеет три корня, расположенные на отрезках [-1; -0,7], [-0,3, 0,3], [0,7; 1].
Далее в пунктах 2.2 – 2.5 будут рассмотрены компьютерные модели второй части программы приближенного решения уравнения.
Компьютерная модель метода половинного деления.
CloseGraph; // закрытие графического режима и возврат в текстовый режим
write ('vvedi kolichestvo korney ');
readln (n);
for i:=1 to n do
begin
write ('vvedite levuy granicu otrezka ');
readln (A);
write ('vvedite pravuy granicu otrezka ');
readln (B);
write ('vvedite tochnost ');
readln (E);
Repeat
C:=(A+B)/2;
writeln(c:10:8);
if abs (f(C))<=0.0001 then goto 1;
if f(A)*f(C)<0
then B:=C
else A:=C
until (B-A)/2<=E;
1: writeln ('koren uravneniya ', c:10:8);
end;
Результаты компьютерного эксперимента
vvedi kolichestvo korney 3
vvedite levuy granicu otrezka -1
vvedite pravuy granicu otrezka -0.7
vvedite tochnost 0.001
-0.85000000
-0.92500000
-0.96250000
-0.94375000
-0.93437500
-0.92968750
-0.92734375
-0.92851563
koren uravneniya -0.92851563
vvedite levuy granicu otrezka -0.3
vvedite pravuy granicu otrezka 0.3
vvedite tochnost 0.001
0.00000000
koren uravneniya 0.00000000
vvedite levuy granicu otrezka 0.7
vvedite pravuy granicu otrezka 1
vvedite tochnost 0.001
0.85000000
0.92500000
0.96250000
0.94375000
0.93437500
0.92968750
0.92734375
0.92851563
koren uravneniya 0.92851563
Таким образом, решения уравнения