Протабулировать функции

ROSSHEMITICS

Помогите пожалуйста решить. Если можно, то с пояснениями, что бы вникнуть, а то пропустил много пар.
1 ответ

ROSSHEMITICS

uses crt;
var a,b,h,x,ars,x1,y:real;
    n:integer;
begin
clrscr;
repeat
write('Введите начало интервала a<-1 a=');
readln(a);
until a<-1;
repeat
write('Введите конец интервала b>1 b=');
readln(b);
until b>1;
repeat
write('Введите шаг h<',b-a,' h=');
readln(h);
until h<b-a;
writeln('-------------------');
writeln('| № |  x  |   y   |');
writeln('-------------------');
n:=0;
x:=a;
while x<b+h/2 do
 begin
  n:=n+1;
  if x<-1 then y:=exp(x)*sqr(cos(x))
  else if x<=1 then
   begin
    if x=1 then ars:=pi/2
    else ars:=arctan(x/sqrt(1-x));
    if x<0 then x1:=-exp(ln(-x)/3)
    else if x=0 then x1:=0
    else x1:=exp(ln(x)/3);
    y:=ars/(pi*ln(x1+10));
   end
  else y:=20*x;
  writeln('|',n:2,' |',x:5:2,'|',y:7:3,'|');
  if n mod 20=0 then
   begin
    write('Press Enter');
    readln
   end;
  x:=x+h;
 end;
writeln('-------------------');
readln
end.