Вот конечный вариант программы - принят на ура))
Основная программа:
Код:
uses crt,zad2;
var
i,r:integer;
begin
for i := 1 to 100 do
begin
writeln;
writeln('1 - Zadacha №1, 2 - Zadacha №2, 3 - Exit');
read(r);
case r of
1:begin
zad11(zad2.x);
end;
2:begin
zad1(zad2.z);
writeln;
end;
3:exit;
end;
end;
end.
Модуль:
Код:
unit zad2;
interface
var
i,n,s,i1,d:integer;
x,z:real;
p:string;
a:array[1..1000] of integer;
b:array[1..1000] of integer;
Procedure zad1(var x:real);
Procedure zad11(var x:real);
implementation
Procedure zad1(var x:real);
begin
writeln('vvedite n= ');
read(n);
x:=0;
for i:=1 to n do
x:=(-1)/(2*n+1)*n;
if n mod 2 = 0 then
x:=x*(-1);
writeln('x=',x:8:4);
end;
Procedure zad11(var x:real);
var
y1,y2,y3,y4,n,h:real;
i,x1,x2,r,q:integer;
begin
x:=0;
writeln('vvedite x1,x2,h:');
read(x1,x2,h);
writeln(' Shag Argument Otvet');
for i:=1 to 1000 do
begin
if(x>x2)
then
break;
x:=x1+((i-1)*h);
if(x<=0)
then
p:='Не определена на оси ОХ';
if(x>=0) and (x<=5)
then
begin
p:='Принадлежит оси 0<x<5';
y1:=(3*x*x+2*x)/(2*exp(x));
y2:=(2*y1*cos(x)*cos(x)*cos(x));
z:=y1*y1+y2;
z:=z+z;
end;
if(x>5)
then
begin
p:='Принадлежит оси x>5';
y3:=x+x*cos(x);
y4:=(y3*cos(x)*cos(x));
z:=y3*y3+y4;
z:=z+z;
end;
if (x>x2) then
writeln ('')
else
begin
if(x<=0)
then
writeln(' ',x:8:2,' ',p)
else
writeln(' ',x:8:2,' ',p,' ',z:8:2);
end;
end;
end;
end.
Вот так красиво это всё выглядит: