P_63_E40-Cuadrado+con+numeros+de+fila+y+columna+(complejo)

=__**Mostrar un cuadrado de numeros (con el valor de fila y columna)**__=

Versión compleja: Con cabeceras de fila y columna.

Ejemplo de ejecución code format="pascal" Valor del lado de la cuadricula (1..9): 3

|  1  |   2  |   3  | - 1 |  11  |  12  |  13  | - 2 |  21  |  22  |  23  | - 3 |  31  |  32  |  33  | - code

code format="pascal" PROGRAM subpr_40_Sencillo ; USES Crt ;

PROCEDURE DibujarLinea (byLado: Byte) ; VAR i: Byte ; BEGIN FOR i := 1 TO 5 * (byLado + 1) DO     Write ('-') ; Writeln ; END;

PROCEDURE DibujarCabecera (byLado: Byte) ; VAR i: Byte ; BEGIN Write (' ':3, ' |') ; FOR i := 1 TO byLado DO     Write (i:3,' |') ; Writeln ; END;

PROCEDURE DibujarCuadrado (byLado: Byte) ; VAR i, j : Byte ; BEGIN DibujarCabecera (byLado) ; DibujarLinea (byLado) ;

FOR i := 1 TO byLado DO     BEGIN Write (i:3, ' |') ; FOR j := 1 TO byLado DO         Write (' ', i, j:0,' |') ; Writeln ;

DibujarLinea (byLado) ; END ; END ;

VAR {-- Variables del programa principal -} byAncho: Byte ;

BEGIN { PROGRAMA PRINCIPAL } Writeln ; REPEAT Write ('Valor del lado de la cuadrícula: ') ; ReadLn (byAncho) ; UNTIL (1 <= byAncho) AND (byAncho <=9) ; Writeln ;

DibujarCuadrado (byAncho) ;

ReadLn ;

END. code