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