Pauta Tarea Inversa (ju 06 / 07 / 2006)

Preview only show first 6 pages with water mark for full document please download

Transcript

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