begin
x:=-12;
a:=-12;b:=0;h:= 1;
n1:=(b-a)/h; n:=round(n1);
for i:=0 to n do
if x<-7 then y:= sin((3.14/12)*x)
else
if x<=-3 then y:= 2*cos((3.14/6)*x+(3.14/12))
y:= 5* sin((3.14/12)*x);
writeln('f(',x:3:1,')=',y:6:2);
x:=x+1;
end;
readln;
end.
Решение этой же задачи было проведено в Excel. При вычислении функции использовалась логическая функция ЕСЛИ. Лист с решением задачи размещен ниже.
№
9
-3
0
Program lab3;
function f1 (x: real): real;
f1:=cos(0.2*x*x-2);
var
x,a,b,e: real;
iteraz: integer;
write ('Input a = '); readln (a);
write ('Input b = '); readln (b);
write ('Input e = '); readln (e);
iteraz:=0;
x:=(a+b)/2;
while (f1(x)<>0) and (abs(a-b)>e) do
iteraz:=iteraz+1;
if (f1(a)*f1(x))<0 then b:=x
else a:=x;
writeln ('n=', iteraz,' x=', x:3:6,' f(x)=', f1(x):3:6);
Решение этой задаче было проведено и в MS Excel. Лист с решением задачи и ответом приведен ниже.
-3р
program pr4;
uses crt;
h,a,b,S,dS,P,x,eps:real;
n,i:integer;
function f(x:real) : real;
f:=0,1*sin(0.1*x+0.0025*x*x)/cos(0.1*x+0.0025*x*x);
clrscr;
writeln('input a,b,n,eps, please');
write('a');
readln(a);
write('b');
readln(b);
write('n');
readln(n);
write('eps');
readln(eps);
s:=0;
repeat P:=S;
h:=(b-a)/2;
S:=0;
x:=a;
for i:= 1 to n do
x:=x+h;
S:=S+f(x);
S := S*h;
write('n=',n:3,' h=',h:12:9);
n:=n*2;
until abs(P-S)/(s*100)<eps;
writeln;
writeln('Result S=',S:10:6,' dS=',dS:12:9);
writeln('Process ended');
writeln('Press any key to exit');
repeat until keypressed;
Данная задача была решена также в MS Excel. Лист с решением задачи приведен ниже. Требуемая точность была достигнута при n=10.
Страницы: 1, 2