Le das las coordenadas x1,y1 , x2,y2 y dibuja un marco en esas coordenadas

pascal:
uses
        crt;{Carga libreria de la pantalla}
var
        x1,x2,y1,y2          : integer;
    cantidad        : integer;
    cont                        : integer;
procedure dibuja(x1,y1,x2,y2:integer);
        {Procedimiento que dibuja un marco en las coordenadas dadas}
        var
        cont        : integer;
        begin
       
        {Dibujando desde X1 a X2 en Y1}
        for cont:=x1 to x2 do
                begin
                    gotoXY(cont,y1);{Posiciona cursor}
                write('°');{Dibuja caracter}
                delay(10);{Retarda la ejecucion}
            end;{Fin del FOR}

        {Dibujando desde Y1 a Y2 en X2}
        for cont:=y1 to y2 do
                begin
                    gotoXY(x2,cont);{Posiciona cursor}
                write('°');{Dibuja caracter}
                delay(10);{Retarda la ejecucion}
            end;{Fin del FOR}

        {Dibujando desde X2 a X1 en Y2}
        for cont:=x2 downto x1 do
                begin
                        gotoXY(cont,y2);{Posiciona cursor}
                write('°');{Dibuja caracter}
                delay(10);{Retarda la ejecucion}
            end;{Fin del FOR}

        {Dibujando desde Y2 a Y1 en X1}
        for cont:=y2 downto y1 do
            begin
                        gotoXY(x1,cont);{Posiciona cursor}
                    write('°');{Dibuja caracter}
                delay(10);{Retarda la ejecucion}
            end;{fin del FOR}

    end;{Fin del procedimiento}

begin{Inicia programa principal}
        clrscr;{Limpiamos pantalla}
        write('Cantidad de marcos: ');{Salida en pantalla}
    readln(cantidad);{Entrada desde el teclado}
    clrscr;{Limpia pantalla}
        for cont:=1 to cantidad do
        {
                Pide y dibuja los marcos
        }

        begin
                        gotoxy(70,1);
            write('X1: ');
            readln(x1);

            gotoxy(70,2);
            write('Y1: ');
            readln(y1);

            gotoxy(70,4);
            write('X2: ');
            readln(x2);

            gotoxy(70,5);
            write('Y2: ');
            readln(y2);

            gotoxy(70,1);write('       ');
            gotoxy(70,2);write('       ');
            gotoxy(70,4);write('       ');
            gotoxy(70,5);write('       ');

            dibuja(x1,y1,x2,y2);       
        end;
    readkey;
end.
¿Ya le viste algún error? Dejanos tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress elimina los tags HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios.

Otro punto antes de comentar, Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

De esta manera el código sale coloreado.

Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el último párrafo.

Para poner los símbolos de las librerías sin que desaparezcan, debes escribir los símbolos de mayor > y menor qué < con su entidad HTML correspondiente, así como el símbolo de &

Mis Algoritmos se reserva el derecho de alterar, publicar o no los comentarios así como cambiar estas reglas de uso.

Si estas de acuerdo, adelante puedes comentar :)

P.D. No le hago tareas a nadie, mejor hagan la mía :P