Ошибка: ожидался порядковый тип - 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; Затем эти значения выводятся.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д