jueves, 8 de diciembre de 2011

Ejercicio 15(Arrays)

Plantee e implemente un programa en PASCAL que permita introducir apropiadamente una matriz 3x3 de números enteros y que muestre por pantalla en formato matricial tanto la matriz original introducida como su matriz traspuesta. Calcule y muestre además el determinante de ambas matrices.


PROGRAM matrices(input,output);

CONST

limitefilas = 3;
limitecolumnas = 3;

TYPE

Tabla = ARRAY[1..limitefilas, 1..limitecolumnas] OF integer;

VAR
matriz:Tabla;
mtraspuesta:Tabla;
fila,columna:integer;
a:integer;
(*******************************************************************************)
PROCEDURE leer;
VAR
   I,L,numero:integer;
BEGIN

     fila:=3;
     columna:=3;
     FOR I:=1 TO fila DO
         BEGIN
         FOR L:=1 TO columna DO
             BEGIN
             write('Escriba el numero del elemento fila: ',I:2,' columna: ',L:2,' :');
             read(numero);
             matriz[I,L]:= numero;
             END;
         END;
END;
(*******************************************************************************)
PROCEDURE Imprimir_Matriz;

VAR
   I,L: integer;
BEGIN
     FOR I:=1 TO fila DO
     BEGIN
     writeln;
     FOR L:=1 TO columna DO
         BEGIN
         write(matriz[I,L]:8);
         write(' ');
         END;
     END;
     writeln;
END;
(*******************************************************************************)
PROCEDURE traspuesta;
VAR
   I,L:integer;
BEGIN

     fila:=3;
     columna:=3;
     FOR I:=1 TO fila DO
         BEGIN
         FOR L:=1 TO columna DO
             BEGIN
             mtraspuesta[I,L]:=matriz[L,I];
             END;
         END;
END;
(*******************************************************************************)
PROCEDURE Imprimir_Matrizt;

VAR
   I,L: integer;
BEGIN
     FOR I:=1 TO fila DO
     BEGIN
     writeln;
     FOR L:=1 TO columna DO
         BEGIN
         write(mtraspuesta[I,L]:8);
         write(' ');
         END;
     END;
     writeln;
END;
(*******************************************************************************)
PROCEDURE determinantem;
VAR
determinante:integer;
BEGIN
determinante:= ((matriz[1,1]*matriz[2,2]*matriz[3,3])+(matriz[1,2]*matriz[2,3]*matriz[3,1]))-((matriz[1,3]*matriz[2,2]*matriz[3,1])+(matriz[1,2]*matriz[2,1]*matriz[3,3]));
writeln('El determinante de la matriz es: ',determinante);
END;
(*******************************************************************************)
BEGIN
leer;
Imprimir_Matriz;
traspuesta;
Imprimir_Matrizt;
determinantem;
read(a);
END.

Ejemplo de ejecución




1 comentario:

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | GreenGeeks Review