PROCEDURE Insercion (VAR a: VECTOR; N: INTEGER);
VAR i, j, x: INTEGER;
BEGIN
FOR i := 2 TO N DO
Begin
x := a[i];
x := a[i];
j := i-1;
WHILE ( j >= 1 ) AND ( x < a [j] ) DO
WHILE ( j >= 1 ) AND ( x < a [j] ) DO
Begin
a [j+1] := a [ j ];
a [j+1] := a [ j ];
j := j - 1;
END;
a[j+1] := x
END;
END;
a[j+1] := x
END;
END;