1 B=0:CLS :PRINT TAB(7);"MENU:"," -Matriz inversa"," -Producto matrices", 2 PRINT TAB(7);"(M/P)"; 3 D$=INKEY$:IF D$="M" THEN BEEP ELSE IF D$="P" THEN BEEP 1:GOTO 23 ELSE 3 4 CLS :PRINT " MATRIZ INVERSA" 5 IF B=1 THEN R=X:GOTO 6 ELSE CLEAR :INPUT "-Dimension ";R:R=R-1:DIM A(R,R) 6 DIM B(R,R) 7 FOR J=0 TO R:FOR I=0 TO R:IF B=1 THEN 9 8 PRINT "A(";J+1;",";I+1;")=";:INPUT A(J,I) 9 NEXT I:B(J,J)=1:NEXT J 10 FOR J=0 TO R:FOR I=J TO R:IF A(I,J)<>0 THEN 13 11 NEXT I:CLS :PRINT "No hay INVERSA" 12 IF INKEY$="" THEN 12 ELSE 1 13 FOR K=0 TO R:S=A(J,K):A(J,K)=A(I,K):A(I,K)=S:S=B(J,K):B(J,K)=B(I,K):B(I,K)=S 14 NEXT K:T=1/A(J,J):FOR K=0 TO R:A(J,K)=T*A(J,K) 15 B(J,K)=T*B(J,K):NEXT K:FOR L=0 TO R:IF L=J THEN 17 16 T=-A(L,J):FOR K=0 TO R:A(L,K)=A(L,K)+T*A(J,K):B(L,K)=B(L,K)+T*B(J,K):NEXT K 17 NEXT L:NEXT J:BEEP :CLS :FOR I=0 TO R:FOR J=0 TO R 18 PRINT "I(";I+1;",";J+1;")=";B(I,J):A(I,J)=B(I,J) 19 IF INKEY$="" THEN 19 20 NEXT J:NEXT I 21 PRINT "Producto (1)","Inversa (2)";:INPUT B 22 X=R:Y=R:Z=R:IF B=2 THEN 77 23 CLS :DIM A$(5):PRINT "Producto de matrices";:M=0:A$(3)="A"+CHR$(165)+"A=P" 24 A$(4)="B"+CHR$(165)+"B=P":A$(5)="A"+CHR$(165)+"B=P":A$(1)="-Inversa (1)" 25 LOCATE 2,1:PRINT A$(3);" (1)":LOCATE 2,2:PRINT A$(4);" (2)"; 26 LOCATE 2,3:PRINT A$(5);" (3)";:DRAW(29,7)-(31,7):DRAW(30,7)-(30,9) 27 DRAW(17,15)-(19,15):DRAW(18,15)-(18,17):A$(2)="-Producto (1)" 28 INPUTA:C=A-1:A=A+2:IF A<3 THEN 28 ELSE IF A<>INT(A) THEN 28 ELSE IF A>5 THEN 28 29 IF A=5 THEN M=1:GOTO 38 ELSE IF A=4 THEN M=0 ELSE M=1 30 CLS :LOCATE 2,1:PRINT A$(A) 31 DRAW(30-C*12,7)-(32-C*12,7):DRAW(31-C*12,7)-(31-C*12,9):IF B=0 THEN 36 32 LOCATE 1,2:PRINT A$(A);:LOCATE 2,2:PRINT A$(B); 33 LOCATE 1,3:PRINT A$(A);:LOCATE 2,3:PRINT "-Cualquiera (2)"; 34 INPUT E:IF E=2 THEN 36 ELSE IF E=1 THEN 35 ELSE 34 35 IF A=3 THEN ERASE B:GOTO 62 ELSE ERASE A:GOTO 62 36 PRINT"filas-";CHR$(62+A);:INPUT X:X=X-1:PRINT "columnas-";CHR$(62+A);:INPUT Z 37 Z=Z-1:U=X:V=Z:ERASE A,B:IF A=3 THEN DIM A(X,Z):C=2:GOTO 55 ELSE DIM B(X,Z):C=1:GOTO 55 38 A$(1)=" Inv":A$(2)=" Pro":CLS :LOCATE 2,0:PRINT A$(A):IF B=0 THEN 49 39 PRINT TAB(2);"A";A$(B);" (1)",TAB(2);"B";A$(B);" (2)" 40 PRINT TAB(2);"A,B-Cualquier (3)";:IF X<>Z THEN G=3:GOTO 45 41 DRAW(80,8)-(82,10)-(82,14)-(83,15)-(82,16)-(82,21)-(80,23):G=4 42 DRAW(89,13)-(87,15)-(87,17)-(89,19) 43 DRAW(95,19)-(95,13)-(92,16)-(92,17)-(96,17) 44 DRAW(100,13)-(102,15)-(102,17)-(100,19) 45 LOCATE 19,1:INPUT F:IF F<1 THEN 45 ELSE IF F<>INT(F) THEN 45 ELSE IF F>G THEN 45 ELSE CLS 46 IF F=1 THEN ERASEB:C=1:Y=Z:INPUT"colum B";Z:Z=Z-1:M=0:DIM B(Y,Z):U=Y:V=Z:GOTO 55 47 IF F=2 THEN ERASE A:C=2:Y=X:INPUT"filas A";X:X=X-1:M=1:DIM A(X,Y):U=X:V=Y:GOTO 55 48 IF F=4 THEN ERASE B:Y=X:GOTO 66 49 F=3:H=0:INPUT"filas A";X,"colum A-filas B";Y,"columnas B";Z:X=X-1:Y=Y-1:Z=Z-1 50 ERASE A,B:DIM A(X,Y),B(Y,Z):U=X:V=Y 51 IF X<>Z THEN 54 52 IF X=Y THEN CLS:PRINT "A";CHR$(165);"A=P (1)","A";CHR$(165);"B=P (2)";:INPUT H 53 IF H=1 THEN F=4:GOTO 55 ELSE F=3 54 GOTO 55 55 FOR I=0 TO U:FOR J=0 TO V 56 PRINT CHR$(67-C);"(";I+1;",";J+1;")="; 57 IF M=0 THEN INPUT B(I,J):BEEP ELSE IF M=1 THEN INPUT A(I,J) 58 NEXT J:NEXT I:M=M-1 59 IF A<>5 THEN 62 60 IF F=3 THEN IF M=0 THEN U=Y:V=Z:C=1:GOTO 55 61 IF F=4 THEN 66 ELSE 67 62 IF A=3 THEN Y=Z:Z=X:U=Y:V=Z:DIM B(Y,Z) ELSE Y=X:X=Z:U=X:V=Y:DIM A(X,Y) 63 FOR I=0 TO U:FOR J=0 TO V 64 IF A=3 THEN B(I,J)=A(J,I) ELSE A(I,J)=B(J,I) 65 NEXT J:NEXT I:GOTO 67 66 DIM B(X,Y):FOR I=0 TO X:FOR J=0 TO Z:B(I,J)=A(I,J):NEXT J:NEXT I 67 BEEP :BEEP 1:BEEP 68 DIM C(X,Z):FOR I=0 TO X:FOR J=0 TO Z:FOR T=0 TO Y 69 C(I,J)=C(I,J)+A(I,T)*B(T,J) 70 NEXT T:NEXT J:NEXT I 71 ERASE A,B:DIM A(X,Z),B(X,Z):FOR I=0 TO X:FOR J=0 TO Z 72 PRINT "C(";I+1;",";J+1;")=";C(I,J):B(I,J)=C(I,J):A(I,J)=C(I,J) 73 IF INKEY$="" THEN 73 74 NEXT J:NEXT I:ERASE C 75 CLS :PRINT TAB(6);"MENU:"," Inversa (1)"," Producto (2)"; 76 INPUT O:IF O=2 THEN B=2:GOTO 23 77 IF X<>Z THEN P=2:GOTO 79 78 CLS:PRINT TAB(4);"Inversa","de la calculada (1)","de cualquiera (2)";:INPUT P 79 IF P=1 THEN ERASE B:B=1:GOTO 4 ELSE CLEAR :GOTO 4