Я вариант попроще предложу...
var
a,b,h,x:real;
begin
writeln('Введите интервал (a,b) и шаг табуляции h: ');
readln(a,b,h);
x:=a;
{+0.000001 скомпенсирует накопление погрешности х}
while x<=b+0.000001 do<br> begin
writeln(x:7:3,' ',3*cos(x/2)+4:10:7);
x:=x+h
end
end.
Тестовое решение:
Введите интервал (a,b) и шаг табуляции h:
2 4 0.2
2.000 5.6209069
2.200 5.3607884
2.400 5.0870733
2.600 4.8024965
2.800 4.5099014
3.000 4.2122116
3.200 3.9124014
3.400 3.6134665
3.600 3.3183937
3.800 3.0301313
4.000 2.7515595