Pauta Tarea Inversa (Ju 06 / 07 / 2006)

Anuncio
UNIVERSIDAD DE CONCEPCIÓN
FACULTAD DE INGENIERÍA AGRÍCOLA
DEPTO. DE AGROINDUSTRIAS
Juan Carlos Sandoval Avendaño
Pauta Tarea Nº 2 Clase
Lenguaje de Programación
(Jueves 29 de Junio 2006)
Escriba un programa en pascal que muestre por pantalla, usando formato
matricial, la inversa de una matriz triangular superior de orden "! leída desde un
archivo externo de nombre MATRIZ.TXT
Fecha de entrega: Jueves 06 de Julio de 2006 hasta las 14:35 horas.
Solución:
Si E œ Ð+3 4 Ñ es una matriz triangular superior, entonces F œ Ð,3 4 Ñ œ E" es
también triangular superior. Usando la información anterior y el hecho que
E † F œ Mß se obtienen las fórmulas À
"
,3 3 œ + à 3 œ "ß #ß ÞÞÞß 8
33
4
! +3 5 ,5 4
,3 4 œ
5œ3"
+3 3
à 4 œ 8ß 8  "ß ÞÞÞß " à 3 œ 4  "ß 4  #ß ÞÞÞß "
Program InversaMatrizTriangularSuperior;
Uses Crt;
Const
n=10;
Type
Matriz=array[1..n,1..n] of real;
Var
A, B : matriz;
i, j, k : 1..n;
Ar : Text;
Suma : real;
Begin
ClrScr;
Assign(Ar,'MATRIZ.TXT');
Reset(Ar);
for i:=1 to n do
for j:=1 to n do
Readln(Ar,A[i,j]);
1
Close(Ar);
for i:=1 to n do
B[i,i]:=1/A[i,i];
for j:=n downto 1 do
begin
for i:=j-1 downto 1 do
begin
Suma:=0;
for k:=i+1 to j do
Suma:=Suma+A[i,k]*B[k,j];
B[i,j]:=-Suma/A[i,i];
end;
end;
for i:=1 to n do
for j:=1 to n do
begin
GotoXY(4+(j-1)*6,2+(i-1)*2);
Write(B[i,j]:0:2);
end;
End.
2
Descargar