Нельзя преобразовать тип real к integer.
integer содержит только целые числа, а real действительные.
Программа работать не будет.
Ответ:Язык здесь действительно не имеет значения. Как сказал Никлаус Вирт, "Мы должны учить программированию, а не программированию на конкретном языке". Цикл с предусловием применяют, если необходимо, чтобы в каком-нибудь случае тело цикла не выполнилось ни разу. Ц. с постусловием выполнится как минимум 1 раз.
Объяснение:
<em>// PascalABC.NET 3.2, сборка 1381 от 04.02.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a,b,h:real;
Write('Введите начальное значение, конечное и шаг: ');
Read(a,b,h);
var n:=Trunc((b-a)/h)+1;
for var i:=1 to n do begin
var x:=a+(i-1)*h;
var y:=(x>0) and (x<=2)?x*x+Cos(x):4/x;
Writeln(x:0:3,' ',y:0:5)
end
end.
<u>Пример</u>
Введите начальное значение, конечное и шаг: -2.5 1.6 0.2
-2.500 -1.60000
-2.300 -1.73913
-2.100 -1.90476
-1.900 -2.10526
-1.700 -2.35294
-1.500 -2.66667
-1.300 -3.07692
-1.100 -3.63636
-0.900 -4.44444
-0.700 -5.71429
-0.500 -8.00000
-0.300 -13.33333
-0.100 -40.00000
0.100 1.00500
0.300 1.04534
0.500 1.12758
0.700 1.25484
0.900 1.43161
1.100 1.66360
1.300 1.95750
1.500 2.32074