Помогите пожалуйста с паскалем
Ребят, кто понимает, помогите пожалуйста с программой в паскале

+ еще условие, что значения x и y должны выводиться по 10 штук через enter
Вот, что я написал:
program labor;
uses crt;
var a,b,x,y:real;
label 1;
begin
clrscr;
x:= -12;
a:=0;
writeln(x);
while x<=6 do
begin
if x<-10
then y:=(52/cos(x))*sin(x)/cos(x)/x/x
else
if (x>=-10) and (x<=-4)
then goto 1
else
if (x>=-4) and (x<4)
then y:=(2/cos(2*x))*(63/17)
else y:=(cos(x)/exp(ln(exp(1))*x)) * (exp(ln(x)*0.1*x))/x;
writeln('x= ',x:5:5,' y= ',y:5:5);
if (x>= -10) and (x<= -4) then
begin
1:writeln('x= ',
x:5:5,' ”функция не определена ');
end;
if a=9 then begin
readln;
a:=0;
end;
x:=x+0.1;
a:=a+1;
end;
readln
end.
И дело в том, что на фрипаскале программа выполняется некорректно, а именно: пи значении -10 программа считает y, а по идее должна писать, что функция не определена. При значении -4 пишет, что функция не определна, хотя должен высчитываться y. И это происходит на фри паскале, но эту же программу я запустил в турбо паскале и все получается правильно, то есть пишет, что при -10 функция не определна, а при -4 выводит значение y.
Помогите мне пожалуйста. Мне нужно, чтобы программа работала правильно на фри паскале, т. к. проверяться она будет на нем.))
Научи код писать
Как минимум - убери goto, плохой стиль, оно не для этого используется..
Фри паскаля нету.. . набросал на АВСшке.... вроде работает.. . может что возьмешь себе:
function Resh(x: real): real;
begin
if x < -10
then Resh := (52 / cos(x)) * (tan(x) / (x * x))
else if x < -4 then Resh := ln(x) / cos(2 * x) + 72
else if x < 4 then Resh := (2 / cos(2 * x)) * (63 / 17)
else Resh := (cos(x) / exp(x)) * (exp(ln(x) / (0.1 * x)) / x)
end;
var
j, k: real;
begin
j := -12;
k := 6;
while j <= k do
begin
writeln(Resh(j));
j := j + 0.1;
end;
end.
вместо x:= -12; напиши x:= -12+1e-8;