Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа по информатике.docx
Скачиваний:
9
Добавлен:
15.09.2019
Размер:
119.57 Кб
Скачать
    1. Компьютерная модель метода хорд.

begin

clrscr;

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-(f(a)/(f(b)-f(a)))*(b-a);

writeln (c:10:8);

if f(c)*f(a)>0 then a:=c else b:=c;

until abs(f(c))<e;

writeln ('koren uravneniya ',c:10:8);

end;

readln

end.

Результаты компьютерного эксперимента

vvedi kolichestvo korney 3

vvedite levuy granicu otrezka -1

vvedite pravuy granicu otrezka -.7

vvedite tochnost 0.001

-0.89655455

-0.92513533

-0.92825863

koren uravneniya -0.92825863

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.89655455

0.92513533

0.92825863

koren uravneniya 0.92825863

Таким образом, решения уравнения

    1. Компьютерная модель метода касательных

function f1(x:real):real;// первая производная

begin

f1:=3*x*x-cos(x);

end;

function f2(x:real):real;//вторая производная

begin

f2:=6*x+sin(x);

end;

begin

clrscr;

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);

if f(a)-f2(a)>0 then c:=a else c:=b;

repeat

writeln(c:10:8);

c:=c-f(c)/f1(c);

until abs(f(c))<e;

writeln ('koren uravneniya ', c:10:8);

end;

readln

end.

Результаты компьютерного эксперимента

vvedi kolichestvo korney 3

vvedite levuy granicu otrezka -1

vvedite pravuy granicu otrezka -0.7

vvedite tochnost 0.001

-1.00000000

-0.93554939

koren uravneniya -0.92870181

vvedite levuy granicu otrezka -0.3

vvedite pravuy granicu otrezka 0.3

vvedite tochnost 0.001

-0.30000000

0.09180784

-0.00186023

koren uravneniya 0.00000002

vvedite levuy granicu otrezka 0.7

vvedite pravuy granicu otrezka 1

vvedite tochnost 0.001

1.00000000

0.93554939

koren uravneniya 0.92870181

Таким образом, решения уравнения

    1. Компьютерная модель комбинированного метода

var a,b:real;

e,e1:real;

x0,x1,x2:real;//дополнительные преременные для данного метода

i,n:integer;

function f(var x:real):real;

begin

f:= X*X*X-sin(x);

end;

function f1(var x:real):real; //первая производная

begin

f1:= 3*X*X-cos(x);

end;

function f2(var x:real):real; //вторая производная

begin

f2:= 6*X+sin(x);

end;

begin

clrscr;

write('vvedi kolicestvo korney '); readln(n);

for i:=1 to n do

begin

write('vvedi levu granicu '); readln(a);

write('vvedi pravu granicu '); readln(b);

write('vvedi tochnost '); readln(e);

if f(a)*f2(a)>0

then

begin

x0:=a;

x1:=x0-f(x0)/f1(x0);

x2:=a-((b-a)*f(a)/(f(b)-f(a)));

e1:=(x1+x2)/2

end

else

begin

x0:=b;

x1:=x0-f(x0)/f1(x0);

x2:=a-((b-a)*f(a)/(f(b)-f(a)));

e1:=(x1+x2)/2

end;

while abs(e1-x1)>e do

begin

a:=x1;

b:=x2;

x1:= a-f(a)/f1(a);

x2:= a-((b-a)*f(a)/(f(b)-f(a)));

e1:=(x1+x2)/2;

writeln(x1:10:8);

end;

writeln ('koren uravneniya ',x1:10:8);

end;

readln

end.

Результаты компьютерного эксперимента

vvedi kolicestvo korney 3

vvedi levu granicu -1

vvedi pravu granicu -.7

vvedi tochnost 0.001

-0.92870181

koren uravneniya -0.92870181

vvedi levu granicu -0.3

vvedi pravu granicu 0.3

vvedi tochnost 0.001

0.00186023

koren uravneniya 0.00186023

vvedi levu granicu 0.7

vvedi pravu granicu 1

vvedi tochnost 0.001

0.92870181

koren uravneniya 0.92870181

Таким образом, решения уравнения

Все рассмотренные методы, дают одинаковый результат с выбранной точностью.