— Pascal(Паскаль)

unit mod1;
interface
type fun=function(m:real):real;
function uravnenie1(x:real):real;
function uravnenie2(x:real):real;
implementation
function uravnenie1(x:real):real;
begin
uravnenie1:=ln(x)-x+1.8;
end;
function uravnenie2(x:real):real;
begin
Uravnenie2:=exp(x)-x*x*x;
end;
end.
unit mod2;
interface
uses mod1;
function iterazia(f:fun;a,b:real):real;
const eps=0.0001;
var x,y,z:real;
implementation
function iterazia(f:fun;a,b:real):real;
begin
y:=f(a);
repeat
x:=(a+b)/2;
z:=f(b);
if y*z<0 then b:=x
else
 begin
  a:=x;
  y:=z;
 end;
until (b-a)<=eps;
x:=(a+b)/2;
Iterazia:=x;
end;
end.
program modul;
uses crt,mod1,mod2;
var a,b,iks:real;
begin
clrscr;
Writeln ('введите интервал для первого уравнения ln(x)-x+1.8');
readln(a,b);
writeln('корень уравнения ln(x)-x+1.8 =');
Iks:=iterazia(uravnenie1,a,b);
writeln(Iks:7:5);
Writeln ('введите интервал для второго уравнения exp(x)-x*x*x');
readln(a,b);
writeln('корень уравнения exp(x)-x*x*x =');
Iks:=iterazia(uravnenie2,a,b);
writeln(Iks:7:2);
writeln('для выхода нажмите ENTER');
readln;
end.

Leave a Comment

53 + = 56