Сформируйте и выведите на экран массив из n элементов, где каждый элемент массива равен разнице первого и предыдущего элемента, деленной на порядковый номер элемента.
Решение, по идее, должно выглядеть так:
Uses Crt;
var
i,n:integer;
x:array [1..100] of real;
begin
ClrScr;
ReadLn(n);
For i:=1 to n do
ReadLn(x[i]);
For i:=2 to n do
begin
x[i]:=(x[1]-x[i-1])/i;
WriteLn(x[i]:5:2);
end;
ReadKey;
end.
Но если запустить программу, то она выдаст неверный результат. Но это ещё не всё.
Если записать формулу в команде WriteLn:
For i:=2 to n do
WriteLn((x[1]-x[i-1])/i:5:2);
то программа всё верно подсчитает.
В чём же ошибка?