Практикум по решению задач на ЭВМ. Тарова И.Н - 83 стр.

UptoLike

Практикум по решению задач на ЭВМ
end;
function f2(x:real):real;
begin
f2:=(2-sqr(x))*sin(x)+4*x*cos(x);
end;
begin
clrscr;
writeln ('vvedite granica a i b, i chislo razbienii n');
readln(a,b,n);
h:=(b-a)/n;
s:=((f(a)+f(b))/2)*h;
for i:=1 to n-1 do
begin
x:=a+i*h;
s:=s+f(x)*h;
end;
{вычисление коэффициентов программа M2}
M2:=abs(f2(a));
x:=a;
repeat
x:=x+h;
if abs(f2(x))>M2 then
M2:=abs(f2(x));
until x>b;
psi:=sqr(h)*(b-a)/12*M2;
writeln('s=',s,' ','psi=',psi);
repeat until keypressed;
end.
12) Решить дифференциальное уравнение
)1(
x
y
y
=
методом Эйлера на
отрезке с начальным условием
]1,0[
10
=
)
y
(
и шагом h=0,1.
program eiler;
uses crt;
var a,b,y,y0,t,dy,h:real;
function f(t,y:real):real;
begin
f:=y*(1-t);
end;
begin
83
                       Практикум по решению задач на ЭВМ


   end;
  function f2(x:real):real;
   begin
    f2:=(2-sqr(x))*sin(x)+4*x*cos(x);
   end;
  begin
   clrscr;
   writeln ('vvedite granica a i b, i chislo razbienii n');
   readln(a,b,n);
   h:=(b-a)/n;
   s:=((f(a)+f(b))/2)*h;
    for i:=1 to n-1 do
     begin
      x:=a+i*h;
      s:=s+f(x)*h;
     end;
     {вычисление коэффициентов программа M2}
    M2:=abs(f2(a));
    x:=a;
    repeat
     x:=x+h;
      if abs(f2(x))>M2 then
       M2:=abs(f2(x));
    until x>b;
    psi:=sqr(h)*(b-a)/12*M2;
    writeln('s=',s,' ','psi=',psi);
    repeat until keypressed;
    end.




12) Решить дифференциальное уравнение y ′ = y(1 − x) методом Эйлера на
отрезке [0,1] с начальным условием y( 0 ) = 1 и шагом h=0,1.
  program eiler;
  uses crt;
  var a,b,y,y0,t,dy,h:real;
  function f(t,y:real):real;
   begin
    f:=y*(1-t);
   end;
  begin

                                          83