Pascal - Ordenación por inserción

Haz una pregunta
A continuación un procedimiento recursivo que permite ordenar una matriz de n enteros utilizando el método Ordenamiento por inserción:

Procedure Orden_Ins (Var t: TAB; n: integer);
Var aux,i : integer;
begin
        If n > 1 Then
             begin
                  Orden_Ins (t,n - 1);
                  If t[n] < t[n - 1] Then
                  Begin
                     aux:= t[n];
                     i := n;
                     Repeat                        
                        t[i] := t[i - 1];
                        i := i - 1;
                     Until (i = 1) Or (aux > t[i - 1]);
                     t[i] := aux;
                  End;

Pascal - Invertir los elementos de una matriz
Ordenamiento Shell – Recursividad