Ошибка: ожидался порядковый тип - Pascal (80880)
Формулировка задачи:
Помогите исправить
program Hw;
const
m = 3;
var
A: array[1..3] of real;
B: array[1..3] of real;
C: array[1..3] of real;
D: array[1..3] of real;
S: real;
W: real;
O: real;
R: real;
summA:real;
summB:real;
summC:real;
summD:real;
i: real;
srtA:real;
srtB:real;
srtC:real;
srtD:real;
begin
for i := 1 to m do begin
S:=random(11);
W:=random(13);
while W = S do W:=random(13);
O:=random(14);
while O = S or W do O:=random(14);
R:=random(10);
while R = S or W or O do R:=random(10);
A[i]:=-10+S;
write (A[i]:4,' ');
B[i]:=-10+W;
write (B[i]:4,' ');
C[i]:=-10+O;
write (C[i]:4,' ');
D[i]:=-10+R;
writeln (D[i]:4,' ');
end;
for i := 1 to m do
summA:=summA+A[i];
srtA:=summA/4;
write (' ',summA);
summB:=summB+B[i];
srtB:=summB/4;
write (' ',summB);
summC:=summA+C[i];
srtC:=summC/4;
write (' ',summC);
summD:=summD+D[i];
srtD:=summD/4;
write (' ',summD);
end.Решение задачи: «Ошибка: ожидался порядковый тип»
textual
Листинг программы
program Hw;
const
m = 3;
var
A, B, C, D: array[1..3] of integer;
S, W, O, R, i: integer;
summA, summB, summC, summD, srtA, srtB, srtC, srtD: real;
begin
for i := 1 to m do
begin
S := random(12);
W := random(57);
while W = S do W := random(57);
O := random(14);
while O = S or W do O := random(14);
R := random(10);
while R = S or W or O do R := random(10);
A[i] := S;
write(A[i]:4, ' ');
B[i] := W;
write(B[i]:4, ' ');
C[i] := O;
write(C[i]:4, ' ');
D[i] := R;
writeln(D[i]:4, ' ');
end;
for i := 1 to m do
begin
summA := summA + A[i];
summB := summB + B[i];
summC := summC + C[i];
summD := summD + D[i];
end;
srtA := summA / 3;
write(' ', srtA);
srtB := summB / 3;
write(' ', srtB);
srtC := summC / 3;
write(' ', srtC);
srtD := summD / 3;
write(' ', srtD);
end.
Объяснение кода листинга программы
- Константа
mсо значением 3 определяется: const m = 3; - Массивы
A,B,C,Dкаждый из которых состоит из трех элементов типа integer, и переменныеS,W,O,Rиiтипа integer, а также переменныеsummA,summB,summC,summD,srtA,srtB,srtC,srtDтипа real создаются: var A, B, C, D: array[1..3] of integer; S, W, O, R, i: integer; summA, summB, summC, summD, srtA, srtB, srtC, srtD: real; - Запускается цикл,
for i := 1 to m do
begin
...
end;
Внутри цикла переменным
S,W,O,Rприсваиваются случайные значения, не равные друг другу или другим значениямS,W,O,R. Затем значения присваиваются элементам соответствующих массивовA[i],B[i],C[i],D[i]. - Суммы элементов каждого из массивов
A,B,C,Dвычисляются в цикле: for i := 1 to m do begin summA := summA + A[i]; summB := summB + B[i]; summC := summC + C[i]; summD := summD + D[i]; end; - Вычисляются средние значения каждого массива: srtA := summA / 3; srtB := summB / 3; srtC := summC / 3; srtD := summD / 3; Затем эти значения выводятся.