АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Блок-схема

Читайте также:
  1. блок-схема
  2. Блок-схема осциллографа
  3. Блок-схема осциллографа
  4. Блок-схема по методу Штейнберга
  5. Блок-схема решения задач имитационного моделирования.

 
 

 


Программа

Program ex_1;

Uses crt;

Var c,d,h,a,b:real; k:integer;

Function F(x:real):real;

Begin

F:= exp(x*ln(2))-4*x

End;

Begin

Writeln ('vvedite c,d,h');

Readln (c,d,h);

k:= 0;

a:=c;

Repeat

b:=a+h;

If F(a)*F(b)<= 0 then

begin

k:=k+1;

Writeln ('k=',k,' a=',a:5:2,' b=',b:5:2);

end;

a:=b;

until b>d;

end.

Ответ: k=1 a=0 b=0.5

k=2 a=3.5 b=4

k=3 a=4 b=4.5

 

 

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

Блок-схема

 
 

 

 


Программа

program mdp;

function f(x: real): real;

begin

f:=exp(x*ln(2))-4*x;

end;

var

a, b, e, c, x: real;

begin

write('a=');

read(a);

write('b=');

read(b);

write ('e=');

read(e);

c:=(a+b)/2;

while(b-a)>e do

begin

if(a)*f(c)<0 then

b:=c

else

a:=c;

writeln('a=', a:3:4, 'b=', b:3:4, 'f(a)=', f(a):6:9, 'f(b)=',f(b):6:9);

c:=(a+b)/2;

end;

x:=(a+b)/2;

writeln ('x=',x:3:3,' f(x)=',f(x):4:4);

readln;

end.

 

Ответ:

a=0

b=0.5

e=0.001

a=0.2500b=0.5000f(a)=0.189207115f(b)=-0.585786438

a=0.2500b=0.3750f(a)=0.189207115f(b)=-0.203160445

a=0.2500b=0.3125f(a)=0.189207115f(b)=-0.008142188

a=0.2813b=0.3125f(a)=0.090247360f(b)=-0.008142188

a=0.2969b=0.3125f(a)=0.040980536f(b)=-0.008142188

a=0.3047b=0.3125f(a)=0.016401064f(b)=-0.008142188

a=0.3086b=0.3125f(a)=0.004124898f(b)=-0.008142188

a=0.3086b=0.3105f(a)=0.004124898f(b)=-0.002009781

a=0.3096b=0.3105f(a)=0.001057274f(b)=-0.002009781

x=0.310 f(x)=-0.0005

 

 

a=3.5

b=4

e=0.001

a=3.9000b=3.9500f(a)=-0.671472135f(b)=-0.345018737

a=3.9000b=3.9250f(a)=-0.671472135f(b)=-0.510526065

a=3.9000b=3.9125f(a)=-0.671472135f(b)=-0.591564328

a=3.9000b=3.9063f(a)=-0.671472135f(b)=-0.631658927

a=3.9000b=3.9031f(a)=-0.671472135f(b)=-0.651600629

a=3.9000b=3.9016f(a)=-0.671472135f(b)=-0.661545147

a=3.9000b=3.9008f(a)=-0.671472135f(b)=-0.666510831

x=3.900 f(x)=-0.6690

 

 

Выводы

Мы нашли корни уравнения в Microsoft Excel, MathCAD, Pascal 2 методами: шаговым и половинного деления с точностью до 0,001. Из схем и таблиц можно увидеть, что получилось 2 корня. Наиболее точные корни получились в средах Excel и Pascal, хотя наиболее удобной в использовании была среда MathCAD, так как в нее уже заложены специальные формулы, позволяющие найти более точное значение уже со второго приближения. Уточнение корня напрямую зависит от точности его нахождения e, чем меньше e, тем точнее будет корень. Среда Excel выводила результат в ячейках. Выводить его самостоятельно было бы затруднительно.

При нахождении корней были получены следующие результаты:

MathCAD:

X=0.31 на интервале [0; 0.5]

X=3.999 на интервале [3.5; 4]

Microsoft Excel

X=0.309 на интервале [0; 0.5]

X=3.999 на интервале [3.5; 4]

Pascal

X=0.310 на интервале [0; 0.5]

X=3.900 на интервале [3.5; 4]

 

 

Список литературы

1. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы – М.: Лаборатория Базовых Знаний, 2002.

2. Численные методы. Автор: Лапчик М.П., Рагулина М.И., Хеннер Е.К.; под ред. Лапчика М.П.


1 | 2 | 3 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)