uses crt;
const t=0.0000001;
var a,b,i1,x,s:real;
n,i:integer;
begin
clrscr;
write('Введите начало интервала табуляции a=');
readln(a);
repeat
write('Конец интервала, больше ',a:0:1,' b=');
readln(b);
until b>a;
repeat
write('Введите шаг табуляции, меньше ',b-a:0:1,' i1=');
readln(i1);
until i1<b-a;
writeln('цикл с параметром');
n:=round((b-a)/i1);
for i:=1 to n+1 do
begin
x:=a+(i-1)*i1;
if x=0 then writeln('x=',x:4:1,' решения нет')
else
begin
s:=arctan(1/x);
writeln('x=',x:4:1,' s=',s:0:4);
end;
end;
writeln;
writeln('цикл с предусловием');
x:=a;
while x<=b+t do
begin
if x=0 then writeln('x=',x:4:1,' решения нет')
else
begin
s:=arctan(1/x);
writeln('x=',x:4:1,' s=',s:0:4);
end;
x:=x+i1;
end;
writeln;
writeln('цикл с постусловием');
x:=a;
repeat
if x=0 then writeln('x=',x:4:1,' решения нет')
else
begin
s:=arctan(1/x);
writeln('x=',x:4:1,' s=',s:0:4);
end;
x:=x+i1;
until x>b+t;
readln
end.