Не получается протабулировать функцию F на интервале Xstart до Xfinish с шагом dX
Мой код ниже(для варианта 21). Компилятор ругается. Не пойму что не так
main.p(22,44) Error: Incompatible types: got "Double" expected "ShortInt" main.p(23,17) Error: Incompatible types: got "Double" expected "ShortInt" main.p(24,7) Fatal: Syntax error, ";" expected but "identifier WRITE" found
var
xn, xk, dx, x, y, a, b, c: shortint;
begin
write('xn = ');
readln(xn);
write('xk = ');
readln(xk);
write('dx = ');
readln(dx);
write('a = ');
readln(a);
write('b = ');
readln(b);
write('c = ');
readln(c);
writeln('x');
x := xn;
while x < xk do
begin
if (x<0) or (b <> 0) then y := a*(x*x*x)+b
else if(x>0) and (b=0) then y:= (x-a)/(x-c)
else y:= x/c
write(x, ' ')
x := x + dx
end;
readln
end.