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.
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.