type MyArray = array[1..37] of double;
procedure DecArray(A: MyArray);
var
I: integer;
HaveMetPositiveNumber: boolean;
begin
HaveMetPositiveNumber := False;
for I:=1 to 37 do begin
if not HaveMetPositiveNumber then
HaveMetPositiveNumber := (A[I] > 0);
if HaveMetPositiveNumber then
A[I] := A[I] - 0.5;
end;
end;