PASCAL массивы

PASCAL массивы
Доброго времени суток. Учитель по программированию дал мне вот такой вот код и сказал что я должен поменять в нем кое что. В общем этот код ищет максимальное значение в элементах массива. А мне нужно чтобы он выдавал ближайшее значение к числу -5. Поменять нужно только STEP2, остальное не трогать как я понял..комментарии там на латышском языке, так что не удивляйтесь :D спасибо)

program massiv1;
const num=20; {masiva izmers}
var
oper, { izpildama programmas operacija }
{ oper=3333 beigt }
i,j : integer; {darba imdeksi }
ms: array[1..num] of real;{Masivs, kuru apstrada}
x, dx :real;
idet : integer; { indeksi rezultatam }
Maxv: real; { rezultats }
label STEP1,STEP2, MENU, SOLVE, BEIGAS;
begin
MENU:
x:=0.27; dx:=0.345;
writeln;
writeln( 'Programma domata ciklu operatoru un masivu apgusanai ');
writeln( ' 3333 - beigt');
writeln( ' 1111 - rekinat ar standarta sakumvertibam ');
writeln( ' jebkurs cits skaitlis rekinat ar pasa uzdotam sakumvertibam');
read( oper);
if oper=3333 then goto BEIGAS;
if oper=1111 then goto SOLVE;
{masiva aizpildisana un aprekini }
writeln( 'ievadi divus realus skaitlus,tie noteiks masiva elem. vertibas');
read(x, dx);
SOLVE:
for i:=1 to num do
begin
ms:=10*sin(x);
x:=x+dx;
end; writeln;
for i:=1 to num do {Uzgenereta masiva izvads}
begin
write( ' "',i:2, '"', ms
:10:5)
end;
writeln; writeln(' Lai turpinatu ievadi jebkuru skaitli ');
read(j);

STEP1:
i:=5;
while(i< =17) do
begin
if (ms
<0) then
begin
MaxV:= ms
;
idet:=i;
goto STEP2
end
else
i:=i+2;
end;
writeln('Apskataamajaa kopaa negatiivu elementu nav');
goto MENU;
STEP2:
i:=5;
while(i< =17) do
begin
if ((ms
<0) and (ms> Maxv)) then
begin
MaxV:= ms
;
idet:=i;
end;
i:=i+2;
end;
writeln(' Maksimala negatiivaa masiva elementa vertiba apgabalaa ir :', MaxV:10:5);
writeln(' Maksimala elementa indeks apgabalaa ir :', idet:5);

goto MENU;

goto MENU;
BEIGAS:
end.

  • Какой ужасный стиль: одни метки и переходы, скажите учителю, что он некомпетентен, ибо программа данная будет жрать время.
    Можете переписать без использования меток - текст будет короче, а алгоритм - быстрее.
  • Поменять? Да его с нуля переписать надо. За goto вообще руки оторвать учителю и обратно в жопу засунуть.