Встречено 'for', а ожидался идентификатор - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста найти и исправить ошибки в приведенном коде. Написанный от руки код мне дали, что бы я внес в него данные и откомпилировал. Ошибка которую высветил компилятор: Project1.pas(12) : Встречено 'for', а ожидался идентификатор Я так полагаю есть и другие ошибки.

Решение задачи: «Встречено 'for', а ожидался идентификатор»

textual
Листинг программы
program diplom;
{Дипломная работа в задаче определения стратегии замены оборудования}
const
  N = 10;
 
var
  i, t, k, G, y: integer;
 
var
  al, bet, z, v, a: real;
  p, q, s, R: real;
  F, FZ: array[1..N - 1] of real;
  UP: array[1..N, 1..N - 1] of integer;
  RM, UM, CM: array[1..N, 0..N - 1] of real;
 
begin
  A := 1;
 
  for k := 1 to N do
    for t := 0 to N - 1 do
    begin
      RM[k, t] := 0;
      UM[k, t] := 0;
      RM[k, t] := 0
    end;
  {Ввод массивов RM, UM, CM}
  RM[10, 0] := 90; RM[10, 1] := 75; RM[10, 2] := 75; RM[10, 3] := 70; RM[10, 4] := 70; RM[10, 5] := 70; RM[10, 6] := 60; RM[10, 7] := 60; RM[10, 8] := 60; RM[10, 9] := 60;
  RM[9, 0] := 100; RM[9, 1] := 90;  RM[9, 0] := 80;  RM[9, 0] := 75;  RM[9, 0] := 70;  RM[9, 0] := 70;  RM[9, 0] := 65;  RM[9, 0] := 65;  RM[9, 0] := 65; RM[9, 0] := 0;
  RM[8, 0] := 110; RM[8, 0] := 105; RM[8, 0] := 100; RM[8, 0] := 95;  RM[8, 0] := 90;  RM[8, 0] := 80;  RM[8, 0] := 70;  RM[8, 0] := 60;  RM[8, 0] := 0; RM[8, 0] := 0;
  RM[7, 0] := 115; RM[7, 0] := 110; RM[7, 0] := 100; RM[7, 0] := 90;  RM[7, 0] := 80;  RM[7, 0] := 70;  RM[7, 0] := 60; RM[7, 0] := 0; RM[7, 0] := 0; RM[7, 0] := 0;
  RM[6, 0] := 120; RM[6, 0] := 115; RM[6, 0] := 115; RM[6, 0] := 110; RM[6, 0] := 105; RM[6, 0] := 100; RM[6, 0] := 0; RM[6, 0] := 0; RM[6, 0] := 0; RM[6, 0] := 0;
  RM[5, 0] := 125; RM[5, 0] := 120; RM[5, 0] := 110; RM[5, 0] := 105; RM[5, 0] := 100; RM[5, 0] := 0; RM[5, 0] := 0; RM[5, 0] := 0; RM[5, 0] := 0; RM[5, 0] := 0;
  RM[4, 0] := 135; RM[5, 0] := 125; RM[5, 0] := 110; RM[5, 0] := 105; RM[5, 0] := 0; RM[5, 0] := 0; RM[5, 0] := 0; RM[5, 0] := 0; RM[5, 0] := 0; RM[5, 0] := 0;
  RM[3, 0] := 140; RM[3, 0] := 135; RM[3, 0] := 125; RM[3, 0] := 0; RM[3, 0] := 0; RM[3, 0] := 0; RM[3, 0] := 0; RM[3, 0] := 0; RM[3, 0] := 0; RM[3, 0] := 0;
  RM[2, 0] := 150; RM[2, 0] := 140; RM[2, 0] := 0; RM[2, 0] := 0; RM[2, 0] := 0; RM[2, 0] := 0; RM[2, 0] := 0; RM[2, 0] := 0; RM[2, 0] := 0; RM[2, 0] := 0;
  RM[1, 0] := 165; RM[1, 0] := 0; RM[1, 0] := 0; RM[1, 0] := 0; RM[1, 0] := 0; RM[1, 0] := 0; RM[1, 0] := 0; RM[1, 0] := 0; RM[1, 0] := 0; RM[1, 0] := 0;
 
  UM[10, 0] := 20; UM[10, 1] := 20; UM[10, 2] := 25; UM[10, 3] := 30; UM[10, 4] := 30; UM[10, 5] := 30; UM[10, 6] := 35; UM[10, 7] := 40; UM[10, 8] := 45; UM[10, 9] := 50;
  UM[9, 0] := 15; UM[9, 1] := 20;  UM[9, 0] := 20;  UM[9, 0] := 25; UM[9, 0] := 25; UM[9, 0] := 30; UM[9, 0] := 30; UM[9, 0] := 35; UM[9, 0] := 35; UM[9, 0] := 0;
  UM[8, 0] := 15; UM[8, 0] := 15;  UM[8, 0] := 20;  UM[8, 0] := 20; UM[8, 0] := 25; UM[8, 0] := 25; UM[8, 0] := 30; UM[8, 0] := 30; UM[8, 0] := 0; UM[8, 0] := 0;
  UM[7, 0] := 15; UM[7, 0] := 15;  UM[7, 0] := 20;  UM[7, 0] := 20; UM[7, 0] := 25; UM[7, 0] := 25; UM[7, 0] := 30; UM[7, 0] := 0; UM[7, 0] := 0; UM[7, 0] := 0;
  UM[6, 0] := 10; UM[6, 0] := 10;  UM[6, 0] := 15;  UM[6, 0] := 15; UM[6, 0] := 20; UM[6, 0] := 20; UM[6, 0] := 0; UM[6, 0] := 0; UM[6, 0] := 0; UM[6, 0] := 0;
  UM[5, 0] := 10; UM[5, 0] := 10;  UM[5, 0] := 10;  UM[5, 0] := 15; UM[5, 0] := 15; UM[5, 0] := 0; UM[5, 0] := 0; UM[5, 0] := 0; UM[5, 0] := 0; UM[5, 0] := 0;
  UM[4, 0] := 10; UM[5, 0] := 10;  UM[5, 0] := 10;  UM[5, 0] := 10; UM[5, 0] := 0; UM[5, 0] := 0; UM[5, 0] := 0; UM[5, 0] := 0; UM[5, 0] := 0; UM[5, 0] := 0;
  UM[3, 0] := 5;  UM[3, 0] := 10;  UM[3, 0] := 10;  UM[3, 0] := 0; UM[3, 0] := 0; UM[3, 0] := 0; UM[3, 0] := 0; UM[3, 0] := 0; UM[3, 0] := 0; UM[3, 0] := 0;
  UM[2, 0] := 5;  UM[2, 0] := 10; UM[2, 0] := 0; UM[2, 0] := 0; UM[2, 0] := 0; UM[2, 0] := 0; UM[2, 0] := 0; UM[2, 0] := 0; UM[2, 0] := 0; UM[2, 0] := 0;
  UM[1, 0] := 5; UM[1, 0] := 0; UM[1, 0] := 0; UM[1, 0] := 0; UM[1, 0] := 0; UM[1, 0] := 0; UM[1, 0] := 0; UM[1, 0] := 0; UM[1, 0] := 0; UM[1, 0] := 0;
 
  CM[10, 0] := 200; CM[10, 1] := 220; CM[10, 2] := 240; CM[10, 3] := 250; CM[10, 4] := 255; CM[10, 5] := 260; CM[10, 6] := 265; CM[10, 7] := 270; CM[10, 8] := 270; CM[10, 9] := 270;
  CM[9, 0] := 200;  CM[9, 1] := 220;  CM[9, 0] := 240;  CM[9, 0] := 250;  CM[9, 0] := 255;  CM[9, 0] := 260;  CM[9, 0] := 265;  CM[9, 0] := 270;  CM[9, 0] := 270; CM[9, 0] := 0;
  CM[8, 0] := 200;  CM[8, 0] := 220;  CM[8, 0] := 240;  CM[8, 0] := 250;  CM[8, 0] := 255;  CM[8, 0] := 260;  CM[8, 0] := 265;  CM[8, 0] := 270; CM[8, 0] := 0; CM[8, 0] := 0;
  CM[7, 0] := 210;  CM[7, 0] := 215;  CM[7, 0] := 220;  CM[7, 0] := 225;  CM[7, 0] := 230;  CM[7, 0] := 235;  CM[7, 0] := 240; CM[7, 0] := 0; CM[7, 0] := 0; CM[7, 0] := 0;
  CM[6, 0] := 210;  CM[6, 0] := 215;  CM[6, 0] := 220;  CM[6, 0] := 225;  CM[6, 0] := 230;  CM[6, 0] := 235; CM[6, 0] := 0; CM[6, 0] := 0; CM[6, 0] := 0; CM[6, 0] := 0;
  CM[5, 0] := 210;  CM[5, 0] := 220;  CM[5, 0] := 230;  CM[5, 0] := 240;  CM[5, 0] := 250; CM[5, 0] := 0; CM[5, 0] := 0; CM[5, 0] := 0; CM[5, 0] := 0; CM[5, 0] := 0;
  CM[4, 0] := 210;  CM[5, 0] := 220;  CM[5, 0] := 230;  CM[5, 0] := 240; CM[5, 0] := 0; CM[5, 0] := 0; CM[5, 0] := 0; CM[5, 0] := 0; CM[5, 0] := 0; CM[5, 0] := 0;
  CM[3, 0] := 220;  CM[3, 0] := 230;  CM[3, 0] := 240; CM[3, 0] := 0; CM[3, 0] := 0; CM[3, 0] := 0; CM[3, 0] := 0; CM[3, 0] := 0; CM[3, 0] := 0; CM[3, 0] := 0;
  CM[2, 0] := 220;  CM[2, 0] := 225; CM[2, 0] := 0;  CM[2, 0] := 0; CM[2, 0] := 0; CM[2, 0] := 0; CM[2, 0] := 0; CM[2, 0] := 0; CM[2, 0] := 0; CM[2, 0] := 0;
  CM[1, 0] := 220; CM[1, 0] := 0; CM[1, 0] := 0; CM[1, 0] := 0; CM[1, 0] := 0; CM[1, 0] := 0; CM[1, 0] := 0; CM[1, 0] := 0; CM[1, 0] := 0; CM[1, 0] := 0;
 
  {N-шаг}     {for k=1 to N do for i:=0 to 9 do CM[k,i]:=CM[k,i]/5;}
  K := N;
  Z := RM[k, 0] - UM[k, 0];
  for t := 1 to k - 1 do
  begin
    al := RM[k, t] - UM[k, t];
    bet := z - CM[k, t];
    v := bet;
    G := 2;
    {замена};
    if al > bet
    then begin
      v := al;
      g := 1; {сохранение}
    end;
    FZ[t] := v;
    UP[k, y] := G;
  end;{end no t}
 
  writeln('k=1', k:2);
  for t := 1 to k - 1 do
  begin
    writeln( 'T= ', T:1, '  F[', t, ' ]= ', F[t]:6:1, '  UP[ ', k, ',', t, ' ] = ', UP[K, T]:1)
  end;
  for k := N - 1 downto 1 do
  begin
    writeln(' k= ', k);
    Z := RM[k, 0] - UM[k, 0];
    for t := 1 to k - 1 do
    begin
      al := RM[k, t] - UM[k, t];
      bet := Z - CM[k, t];
      p := F[t];
      q := f[t + 1];
      s := al + A * q;
      R := bet + a * p;
      v := R;
      g := 2;
      if s > R then
      begin
        V := S;
        g := 1;
      end;
      FZ[t] := v;
      UP[k, t] := g;
      writeln('f&C', V:6:1, '  UP[ ', k, ' ', t, ']= ', g);
    end; {end цикла по t}
    for t := 1 to k - 1 do
      F[t] := FZ[t];
    for i := k to N - 1 do
      F[i] := -1e8;
  end; {end цикл по k}
end.

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

Код представлен на языке Pascal ABC. Он использует массивы RM, UM и CM для хранения результатов вычислений. Циклы выполняются от 1 до N-1, где N - количество шагов. В каждом шаге выполняется замена и сохранение значения переменной v в зависимости от значений al и bet. Значения F[t], RM[k,t] и CM[k,t] используются для вычисления значения v и g. Значение v затем присваивается переменной FZ[t], а значение g присваивается переменной UP[k,t]. В конце каждого шага значения F[t] обновляются, а значения F[i] устанавливаются на -1e8 для всех i от k до N-1.

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


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

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

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