Ошибка: ожидался порядковый тип - 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.

Объяснение кода листинга программы

  1. Константа m со значением 3 определяется: const   m = 3;
  2. Массивы 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;
  3. Запускается цикл, for i := 1 to m do begin     ...   end; Внутри цикла переменным S, W, O, R присваиваются случайные значения, не равные друг другу или другим значениям S, W, O, R. Затем значения присваиваются элементам соответствующих массивов A[i], B[i], C[i], D[i].
  4. Суммы элементов каждого из массивов 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;
  5. Вычисляются средние значения каждого массива: srtA := summA / 3;   srtB := summB / 3;   srtC := summC / 3;   srtD := summD / 3;   Затем эти значения выводятся.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.2 из 5
Похожие ответы