ZXTape! 2t MATRICES Y SISTEMAS LINEALESABC SOFTS. PEREZ y R. GALLO1984SPANISH EDUCATIVENONE ORIGINAL TAPECAR03inicio  64000:((23613=\)+256*(23614>\)),0:((23613=\)+256*(23614>\)+1),0:0:0:0::i=16:.1}L,i:i:"":0;0;10 ,0;:""  tv @8800<<<<<<<<<<88DD00<<<<<<<<<<DD(((x<<<<<<>>D<?????<<<<D>DD<?????<<<<|8|8|08|<<<????<\),0:(23613=\+256*(23614>\)+1),0 +0;0;10 ,0;:"" 1:1:1: coj=0:cero=0:cambio=1:pot=0:f=1:c=1:a(f,c):f1=1:c1=1:b(f1,c1):f2=1:c2=1:c(f2,c2):f3=1:c3=1:d(f3,c3):control=2:h$=".":visu=0:j$="===============================":error=0:f1=0:c1=0:z$="pulsa una opcion":236066\,112p:236077\,251:236099\,20 :1:1:7: :::::1:x$=" este programa puede realizar todas las operaciones relati- vas al calculo matricial y -- permite conservar una matriz cualquiera para posteriores - operaciones.":i=1̱x$:x$(i);:i x$=" asi mismo resuelve sistemas lineales, utilizando un algo- ritmo que no precisa divisio- nes al triangularizar las ma- trices, evitando errores de - truncamiento.":::i=1̱x$:x$(i);:i:0:8400 ult=0:1:a$=""::4:p$="* menu *":xs=3:ys=3:xx=0:yy=20:cs=8:9000(#:7 p$="1- calculo ":xs=2:ys=1:yy=90Z:cs=8:9000(#:p$=" matricial":yy=100d:9000(#:p$="2- resolucion de":yy=125}:9000(#:p$=" sist lineales":yy=135:9000(#  6100  6102 w$="1"cal=0:100d !!w$="2"cal=1:4900$ " 31 dult=0:error=0:contador=1::4:p$=" opciones ":xs=2:ys=2:cs=8:yy=8:9000(#:7 n+pab=0:3;5,3;"1.- ";7,3;"2.- ";9 ,3;"3.- ";11 ,3;"4.- ";13 ,3;"5.- ";15,3;"6.- ";17,3;"7.- ";19,3;"8.- ";7;5,7;"suma de matrices";7,7;"resta de matrices";9 ,7;"producto de matrices";11 ,7;"potencia de una matriz";13 ,7;"traspuesta de una matriz";17,7;"rango de una matriz";19,7;"valor del determinante";15,7;"inversa de una matriz" w 6100 x6102:a$=w$ &a$<491ůa$>568120x a$<4contador=2 W6000p:19,6;"5.- ";3;19,10 ;"retorno a opciones" 6100 6102:b$=w$ &b$<491ůb$>535137 `(100db$="5")+(200b$="1")+(300,b$="2")+(400b$="3")+(500b$="4") .p$="primera matriz":pab=1:7500L 6100 6102:c$=w$ 1c$="2"matriz=1:ult=1:1000 c$"1"207 posx=20:posy=21:dato=1::21,0;"numero de filas ":7900:f=v$:21,0;"numero de columnas ":7900:c=v$:a$="4"21,0;"a que exponente ?":7900:pot=v$ 98900":f*c>memo8905":3150N :135 Da(f,c):a$="4"a$="6"a$="8"31200 :error=1135 #a$="8"a(f,c+1):215 a$="7"8200 $:12 ,9 ;"coeficientes" Dult=1:dato=0:posx=11 :i=1f:j=1c H21,0;"a(";(i);",";(j);")= ":7900:a(i,j)=v$:j:i contador=1135 0error=0:p$="segunda matriz":7500L 6100 6102:c$=w$ $c$="2"matriz=2:1000 c$"1"226 :dato=1:posx=20:21,0;"numero de filas ":7900:f1=v$:21,0;"numero de columnas ":7900:c1=v$:3000 :error=1135 ;8900":f1*c1>memo8905":3150N :135 .:b(f1,c1):12 ,9 ;"coeficientes" 9dato=0:posx=11 :i=1f1:j=1c1 S21,0;"b(";(i);",";(j);")= ":7900:b(i,j)=v$:j:i:135 ,pab=0135 -:4:p$="visualizar":yy=60<:9000(#:7:6;13 ,9 ;"1.- matriz a";15,9 ;"2.- matriz b";17,9 ;"3.- ambas":6100 .6102:f$=w$ /!f$"1"f$"2"f$"3"302. @f$="2"333M B t=f:r=c C 7200  G'visu=1visu=0:135 Hcontador=1135 I visu=0f$"3"135 Mcontador=1135 N%visu=1:t=f1:r=c1:323C :4:p$="correccion":yy=60<:9000(#:7:6;14,10 ;"1.- matriz a";17,10 ;"2.- matriz b"  6100 6102:f$=w$ f$"1"f$"2"402 2ult=0(f$="2"contador2)135 :dato=1:posx=23:21,0;"correccion en fila? ":7900:d$=v$:21,0;"correccion en columna?":7900:e$=v$:dato=0:posx=20:21,0;"valor correcto? ":7900:g$=v$ J(d$>ff$="1")(e$>cf$="1")(d$>f1f$="2")(e$>c1f$="2")415 #f$="1"a(d$,e$)=g$:430 b(d$,e$)=g$ 5:21,0;"hay mas correcciones (s/n)? " ="s"400 ="n"135  431 &error=1ult=0135  7000X 7:(600Xa$="1")+(605]a$="2")+(610ba$="3")+(615ga$="4")+(620la$="5")+(625qa$="6")+(630va$="7")+(635{a$="8")  $7100:7207':t=f2:r=c2  Ni=1t:j=1r:i$=c(i,j):i$=(((i$*10000'))/10000')  !a$="1"a$="2"a$="5"527  7800x $o=1̱i$:h$=i$(o)530 o o#control;linea,5;"c(";i;",";j;")";linea,20-o;i$:linea=linea+1:linea<19535 )control=28400 :7207' uj:i:8400 :control=2::20,0;"quieres almacenar alguna matriz (s/n)? ":="n"550& x"s"23618B\,535-256*(535/256):23619C\,(535/256):23620D\,6 -:21,0;"que matriz (a/b/c)? " "a"Ʀ"b"Ʀ"c"539 Tf$=:f3=f*(f$="a")+f1*(f$="b")+f2*(f$="c"):c3=c*(f$="a")+c1*(f$="b")+c2*(f$="c") f$="a"f1=1:c1=1:b(f1,c1):f2=1:c2=1:c(f2,c2):d(f3,c3):i=1f3:j=1c3:d(i,j)=a(i,j):j:i:550& f$="b"f=1:c=1:f2=1:c2=1:a(f,c):c(f2,c2):d(f3,c3):i=1f3:j=1c3:d(i,j)=b(i,j):j:i:550&  {f=1:c=1:f1=1:c1=1:a(f,c):b(f1,c1):d(f3,c3):i=1f3:j=1c3:d(i,j)=c(i,j):j:i &:p$="pulsa":xs=2:ys=2:cs=8:yy=568:9000(#:p$="m- para menu ":ys=1:yy=96`:9000(#:5600:p$="s- para salir ":yy=160:9000(# 'f$=:f$=""551' (f$="m"11 )f$="o"100d *f$="s"0 + 551' 0@cal=0p$="o- para opciones":yy=128:9000(#: 1 XPf2=f:c2=c:c(f2,c2):i=1f2:j=1c2:c(i,j)=a(i,j)+b(i,j):j:i: ]Pf2=f:c2=c:c(f2,c2):i=1f2:j=1c2:c(i,j)=a(i,j)-b(i,j):j:i: bf2=f:c2=c1:c(f2,c2) cQi=1f2:j=1c2:m=1c:c(i,j)=c(i,j)+a(i,m)*b(m,j):m:j:i: g]f2=f:c2=c:c(f2,c2):c1=c:f1=f:b(f1,c1):i=1f2:j=1f2:b(i,j)=a(i,j):j:i i\n=1pot:611c:n=pot-1i=1f1:j=1c1:a(i,j)=b(i,j):j:i: j>i=1f2:j=1c2:a(i,j)=c(i,j):j:i:c(f2,c2):n lIf2=c:c2=f:c(f2,c2):i=1f2:j=1c2:c(i,j)=a(j,i):j:i: qxb(f+10 +f*c):inicio=10 :i=1f:j=1c:b(inicio)=a(i,j):inicio=inicio+1:j:i:800  srf2=f:c2=c:c(f2,c2):inicio=10 :i=1f:j=1c:c(i,j)=b(inicio):inicio=inicio+1:j:i: vn=(ffc)+(cc>f) wa(1,1)=08000@:cero=18300l :(631wn>1)+(632xn=1)+(633yn=0) xI5009:coj=(llcoj)+(cojl0631w yl=coj:coj=0:7100:w$="1":p$="rango:":yy=80P:xx=80P:xs=1:ys=2:9001)#:p$=l:xx=130:9001)#:640 z #3;"rango ",l:640 {-n=f:a(1,1)=08000@ |2cero=1e=0:cero=0:638~ }5009:7100 ~w$="1":p$="determinante:":yy=80P:xx=502:xs=1:ys=2:9001)#:p$=e:xx=160:9001)#:640 #3;"determinante ";e 8400 :550&  Hv=f+1:k=f+1:b=1f:850R:b(h)=b(h)+1:b %=850R:d=b(h)-1:d=03150N :135 *.900:b=b-1:b>0805% /9b=1f:850R:b(h)=b(h)-1:b:627s Rco=b:860\ Wco=k \(co=co-f+9 :h=f*b+co:in=v*f+co: (k=1f:855W:b(h)=b(h)/d:k v=1f:b=v920  850R 8d=b(in):k=1f:855W:b(in)=b(in)-d*b(h):k v: -contador1matriz=21100L Wf=f3:c=c3:error=0:a$="4"a$="6"a$="8"31200 :error=1135 a(f,c) a$="7"8200 /i=1f:j=1c:a(i,j)=d(i,j):j:i d:a$="4"posx=20:dato=1:21,0;"a que exponente ?":7900:pot=v$ ;(135contador=1)+(224contador=2) LCerror=0:f1=f3:c1=c3:3000 :error=1135 VFb(f1,c1):i=1f1:j=1c1:b(i,j)=d(i,j):j:i:135 a$="1"a$="2"3100 a$="3"3110& a$="5" 31200 5ff1cc1v$="matrices no compatibles":3150N ! 31255 &0cf1v$="matrices no compatibles":3150N + 31255 0*fcv$="matriz no cuadrada":3150N 5error=0: N:p$=" no hay ":xs=3:ys=6:xx=0:yy=25:cs=8:9000(#:p$="solucion":xx=0:yy=80P:9000(#:18,15-(v$/2);v$:8400 Perror=1: $ 6000p:6100 % 6102 &0f$=w$:f$"1"f$"2"f$"3"f$"4"4901% 'Xf$=w$:(4904(f$="1")+(5390f$="3")+(5004f$="4")+(5490rf$="2") (xult=1::dato=1:posx=20:posy=21:21,0;"numero de variables ":7900:n=v$ )D8900":n*(n+2)>memo8905":3150N :4900$ *b(n):a(n,n+1) -7dato=0:posx=21:i=1n:j=1n .U21,0;"coeficiente (";(i);" ";;(j);") = ":7900:a(i,j)=v$:j:i 0,:dato=0:posx=20:i=1n 1S21,0;"term. indpte (1,";(i);")= ":7900:a(i,n+1)=v$:i 3 4900$ ult=04900$ (a(1,1)=08000@ Ycero=1v$="sist. no compatible o indeterm.":3150N :cero=0:550& 5008:550& :7000X:7 s=0:c=1 wi=c+1n:j=c+1n+1:a(i,j)=a(i,j)*a(c,c)-a(c,j)*a(i,c):j:i:j=c:i=c+1n:a(i,j)=0:i Gc=n(5100cal=1)+(5200Pa$="7")+(5200Pa$="8")  5015 c=c+1:5010 ,a(c+1,c+1)05013 c+1=n5050  h=1  s=s+1 .a(c+h+1,c+1)05060 *h=h+1:h>n-(c+1)5050  5018 Acal=1v$="sist. no compatible o indeterm.":3150N : !cal=0a$="8"e=0:  5013 ij=c+1n+1:a=a(c+1,j):a(c+1,j)=a(s+2,j):a(s+2,j)=a:j:5013 4a=0:b(n)=a(n,n+1)/a(n,n):b=n-1 b=05150 gj=b+1n:a=a+a(b,j)*b(j):j:b(b)=(a(b,n+1)-a)/a(b,b):a=0:b=b-1:5101  7100 #:control=351702 ( 5190F 2Wi=1n:#control;i+4,0;"solucion ";i; "=";:i$=b(i):5180<:i 48400 : <%o=1̱i$:h$=i$(o)5182> =o >Vi+4,20-o;i$:i+4=19control38400 :5190F A F8:1,11 ;"resultados";2,0;j$: P?l=0:d=1:i=1n:a(i,i)=05202R Q l=l+1 Rd=d*a(i,i):i S a$="7"  e=1 i=1f-1 Ta(i,i)<0pro=1:j=1f-i:pro=pro*a(i,i):j:e=e*pro:5254 e=e*a(i,i)^(n-i) Fi:e=d/e:e=(ecambio0)+(-ecambio=0):cambio=1: ult=04900$ :4:xs=2:ys=1:p$="correccion":yy=60<:9000(#:7:6;14,7;"1.- coeficientes";17,7;"2.- terminos indeptes."  6100 !6102 :w$="1"5400 w$="2"5405  5393 :12 ,9 ;"correccion":dato=1:posx=20:21,0;"en coefte. fila? ":7900:d$=v$:21,0;"en coefte. col.?":7900:e$=v$:dato=0:21,0;"valor correcto? "; :7900:g$=v$ (d$>n)(e$>n)5400 a(d$,e$)=g$:5410" :12 ,9 ;"correccion":dato=1:posx=21:21,0;"en termino indte.? (1,":7900:e$=v$:dato=0:posx=20:21,0;"valor correcto? ":7900:g$=v$ e$>n5405 $:a(e$,n+1)=g$:5410" "F21,0;"hay mas correcciones (s/n)? ":="s"5390 #="n"4900$ $ 5410" rult=04900$ s:4:p$="visualizar":yy=60<:9000(#:7:6;14,7;"1.- coeficientes";17,7;"2.- terminos indeptes.":6100 t!6102:w$="1"5500 | uw$"2"5492t v\:7207':j=1n:i$=a(j,n+1):f$="2":visu=1:i=1:7700 wj:8400 ylinea=4:4900$ |8f$="1":t=n:r=n:visu=0:7200 :4900$ pF:5:p$="rutina":yy=24:ys=1:9000(#:7 z7,6;"1.- ";10 ,6;"2.- ";13 ,6;"3.- ";16,6;"4.- ";3;7,10 ;"entrada de datos";10 ,10 ;"visualizacion datos";13 ,10 ;"correccion de datos";16,10 ;"calculo": 21,0;z$ w$=:w$=""6102  XO3::p$="calculando":xs=3:ys=3:yy=40(:9000(#: 6::1:p$="fin ":xx=4:yy=40(:xs=3:ys=3:9001)#:p$="calculo":xx=88X:9001)#:0:7:1:15,4;"1.- visualizar resultado";18,4;"2.- imprimir resultado"  6100 6102:f$=w$ f$"1"f$"2"7103 -control=2*(f$="1")+3*(f$="2"):  7207':i=1t:j=1r:z=1*(f$="1"visu=0)+2*(f$="2"visu=1):(7205%z=1)+(7206&z=2) ! 7700 "j:i:8400 : %i$=a(i,j): &i$=b(i,j): ':7:#control;0,3;"coeficientes";0,21;"valores";1,0;j$:linea=4:1: LE:4:xs=2:ys=1:yy=60<:9000(#:6 M[11 ,6;"1.- matriz nueva";14,6;"2.- matriz almacenada":7: %o=1̱i$:h$=i$(o)7702 o z=1*(f$="1"visu=0)+2*(f$="2"visu=1):1:linea,5;("a("z=1)+("b("z=2);i;",";j;")";linea,26-o;i$:linea=linea+1:linea=198400 :7207'  x&sig=0:i$07802z yi$=((i$)):sig=1 zcom=i$-(i$) {+com>0com<.0002tQXi$=((i$)) |4com0.9997Vcom<1i$=((i$)+1) }!sig=1i$=(i$*-1) ~ 1p$=" ":vvv=0:mmm=0:posy,posx;p$ v$="":c$=" ":lon=10 posx=posx+p$ posy,posx;" " s=15:s l$=  l$=""7940 )(l$=13 )(vvv=0)v$=v$+"." Al$=13 v$=v$+"0":posy,posx-v$;1;v$:7997= v$=079906 'l$=12 v$(v$)="."vvv=0 "'l$=12 v$(v$)="-"mmm=0 '6l$=12 v$=v$(̱v$-1):posx=posx-1 ,l$=12 7920 1v$=lon7940 63l$=46.vvv=0vvv=1:7996< 8?l$=45-mmm=0Ʊv$=0mmm=1:7996< :'l$<480ůl$>5797920 <9v$=v$+l$:posy,posx;l$;:posx=posx+1:7920 =dato=07999? >Gv$0(v$-(v$))0posx=posx-(v$-1):7900 ?posx=posx-(v$-1): @cero=0:t=2n E"a(t,1)08020T Jt:cero=1: Tlz=1n+1:val=a(1,z):a(1,z)=a(t,z):a(t,z)=val:z:cambio=t/2-(t/2): fca(f,f+1): a(c,c+1): lNi=1n-1:j=2n:a(i,j-1)=a(i,j):j:i:n=n-1: :1:21,0;"PULSA UNA TECLA PARA SEGUIR" =""8401  "3memo=64000-7962:memo=memo/5: ""v$="no hay espacio en memoria": #('xx=(256-8*xs*p$)/2 #)i=23306 [:i,xx:i+1,yy:i+2,xs:i+3,ys:i+4,cs:i=i+4:w=p$:q=1w:i+q,p$(q):q:i+w+1,255:w=64091[: matrices N\5\ N000 N:(23613=\+256*23614>\),0:(23613=\+256*(23614>\)+1),0 Z mat .IE 6\,0:236077\,60< 7\<Z mat .IE <cm ZHL>![~#"[o<&)))K6\ >2[: [2 [: [2[> 2[~#"[2[:[= 2:[= :[G: [O: [ 2 [*[^2[: [G: [2 [*[{2[: [G: [2[: [O:[<2[ :[<2[ :[Ë@ :\G:\G:[o:[g>Xg:\w:[G@gxgxo:[Go!xO F![F(//??0000 0000?? llllll~X~~ F0H0Jr0  00l88l~~ ||8~|`||>BB<DHpHDB@@@@@~BfZBBBBbRJFB