Ошибка заключается в том, что тип объявленного массива А является "real". Числа типа "real" не имеют операцию "остаток от деления на число". (Строчка, где это проверяется в Вашей программе: "<span>if A[i] mod 5 <>0 then S:=S+A[i];</span>")
Program dfg;
var
b,x,y:integer;
a:array [1..10] of integer;
d:real;
begin
randomize;
for x:=1 to 10 do
begin
y:=random(10);
a[x]:=y;
writeln ('числа случайные = ',y);
end;
a[1]:=a[1] xor a[10];
a[10]:=a[1] xor a[10];
a[1]:=a[1] xor a[10];
for x:=1 to 10 do
begin
writeln ('числа случайные после смены = ',a[x]);
end;
<span>end.</span>
Никогда, никогда не составляйте программу для тех задач, которые можно решить математически!
У нас первое число 5, последнее 50, количество чисел 50/5 = 10.
Имеем сумму арифметической прогрессии:
(5 + 50)/2 * 10 = 275.
Ответ: 275.