10 CLS:CLEAR:SETN:FOR T=1 TO 16:READ L$:FOR I=22 TO T+5 STEP -1:LOCATE I,0:PRINT L$+" ";:IF INKEY$="" THEN NEXT:NEXT:LOCATE 0,1:PRINT" presenta ...";:FORU=1TO700:NEXT:BEEP 11 CLS:PRINT" M U L T I - M A T H "; 12 PRINT""; 13 DATA A,U,R,E,-,S,O,F,T, ,C,O,.,L,T,D 14 DEFCHR$(252)="00FE7C3810":DEFCHR$(253)="FE02000000" 15 ON ERROR GOTO 24 16 DIM MI$(9) 17 OP=0:DIM R(10):IN$="":SUM$="":SUM=0:CAL$="0":F$="0":QQ=0:GOTO2060 20 DATA cero,SQR(2),SQR(3),(SQR2)/2,(SQR3)/2,(SQR3)/3,(SQR3)/3,2*SQR(2),2*SQR(3),3*SQR(2),2*SQR(3),SQR(5),SQR(7),EXP(1),EXP(2),PI,PI/2,PI/4,PI/8,2*PI,3*PI,(3/2)*PI,(2/3)*PI 21 DATA 1/SQR(2),1/SQR(3),1/SQR(5),2/SQR(2),2/SQR(3),2/SQR(5),3/SQR(2),3/SQR(3),3/SQR(5),SQR(exp1),exp(SQR2),exp(SQR3),exp(SQR5),1/exp(1),2/exp(1),ln(SQR2),ln(SQR3),ln(SQR5),CUR(2),CUR(3),CUR(5),FACT(5),FACT(6),FACT(7),FACT(8),FACT(9),FACT(10) 22 DATA A,B,M,N,X0,X1,X2,Y0,Y1,Y2,Z0,Z1,Z2,R(1),R(2),R(3),R(4),R(5),R(7),R(8),R(9) 24 ER$="":IF ERR=14 THEN ER$="MATEMATICO" ELSE IF ERR=2 THEN ER$="DE SINTAXIS" 25 LOCATE 6,1:PRINT"ERROR "+ER$+" !!!";:BEEP1:FORU=1TO400:NEXT:FOR U=0 TO 27:LOCATE U,1:PRINT" ";:NEXT:LOCATE 28,1:PRINT" ";:LOCATE 0,1:PRINT" ";:SETN:OP=OP-1:CAL$="0":RESUME 2060 2000 'CAL-MODE 2020 OP=OP+1:IF OP=11 THEN OP=1 2022 CLS:LOCATE 0,0:PRINT CHR$(144+OP);:LOCATE 1,0:PRINT" ";:IF SUM=1 THEN PRINT CHR$(29);R(OP-1);CHR$(29)+IN$; 2025 IF SUM=2 THEN PRINT IN$; 2030 INPUT"",CAL$:IF SUM=1 OR SUM=2 THEN CAL$=SUM$+CAL$ 2040 SUM=0:IF CAL$="" THEN CAL$="0" 2044 IF QQ=1 THEN GOSUB 2700:PRINT" ";:IF Q3=1 OR Q2<>INT(Q2) THEN PRINT Q2/Q3;:GOTO 2051 ELSE PRINT Q2;"/";Q3;:GOTO 2051 2050 PRINT" ";VALF(CAL$);:IF ND$<>"" THEN LOCATE 0,1:PRINT CHR$(126); 2051 R(OP)=VALF(CAL$) 2060 IN$=INKEY$ 2061 CAP=CAP+1:IF CAP>2E3 THEN CLS:END 2062 IF IN$="" THEN GOTO 2060 2063 PRINT CHR$(9);:CAP=0 2065 IF IN$=CHR$(14) THEN PRINT CHR$(15);:GOTO 2060 2070 IF IN$="+" ORIN$="*" ORIN$="/" ORIN$="-" ORIN$="^" THEN SUM$="("+CAL$+")"+IN$:SUM=1:GOTO 2020 2075 WW=ASC(IN$): IF WW<58 AND WW>47 THEN SUM$=IN$:SUM=2:GOTO 2020 2080 IF IN$="R" THEN IN$=CHR$(130):SUM$="SQR":SUM=2:GOTO 2020 2090 IF IN$=CHR$(13) THEN IF EXI=0 THEN EXI=1 ELSE EXI=0:CLS:SUM=2:SUM$="":IN$="":GOTO 2020 2092 IF IN$=CHR$(08) THEN FOR U=1 TO 10:R(U)=0:NEXT:OP=0:CLS:GOTO 2020 2099 IF IN$=CHR$(30) OR IN$=CHR$(29) THEN ESP=6:IF OP=>1 THEN IF R(OP-1)<0 THEN ESP=5 2100 IF IN$=CHR$(29) OR IN$=CHR$(30) THEN LOCATE 0,1:PRINT" ";:LOCATE ESP,0:INPUT "",CAL$:GOTO 2040 2105 IF IN$="." THEN IN$="0.":SUM$=".":SUM=2:GOTO 2020 2110 IF IN$="F" THEN CLS:PRINT "f(x)="+F$;:LOCATE 0,1:INPUT "x? ",X:CLS:PRINT "f(";X;")=";VALF(F$):OP=OP+1:R(OP)=VALF(F$):GOTO 2020 2120 IF IN$="E" THEN SUM$="("+CAL$+")*1E":IN$="e":SUM=1:GOTO 2020 2130 IF IN$="S" THEN IN$="sin(":SUM$="SIN(":SUM=2:GOTO 2020 2131 IF IN$="D" THEN IN$="sin(":SUM$="ASN(":SUM=2:GOTO 2020 2132 IF IN$="C" THEN IN$="cos(":SUM$="COS(":SUM=2:GOTO 2020 2133 IF IN$="V" THEN IN$="cos(":SUM$="ACS(":SUM=2:GOTO 2020 2134 IF IN$="T" THEN IN$="tan(":SUM$="TAN(":SUM=2:GOTO 2020 2135 IF IN$="Y" THEN IN$="tan(":SUM$="ATN(":SUM=2:GOTO 2020 2136 IF IN$="L" THEN IN$="ln(":SUM$="LN(":SUM=2:GOTO 2020 2137 IF IN$="=" THEN IN$="log(":SUM$="LOG(":SUM=2:GOTO 2020 2138 IF IN$="X" THEN IN$="exp(":SUM$="EXP(":SUM=2:GOTO 2020 2140 IF IN$="q" THEN CLS:IF QQ=0 THEN PRINT"Quebr. ON";:FORU=1TO300:NEXT:QQ=1:GOTO 2020:ELSE PRINT"Quebr. OFF";:FORR=1TO300:NEXT:QQ=0:GOTO 2020 2151 IF IN$="r" THEN CLS:IF ROU=0 THEN INPUT "Num.cifras decimales ? ",ND$:ND=VALF(ND$):ROU=1:SETFND:GOTO 2020:ELSE PRINT"Round. OFF";:FORR=1TO300:NEXT:ND$="":ROU=0:SETN:GOTO 2020 2160 IF IN$="x" THEN GOTO 2750 2161 IF IN$="y" THEN GOTO 2760 2162 IF IN$="z" THEN GOTO 2770 2170 IF IN$=":" THEN CLS:INPUT "QUIT (S/N)? ",QUT$:IF QUT$="S" THEN CLS:PRINT"Ok.";:END ELSE GOTO 2020 2180 IF IN$="b" THEN CLS:PRINT "musicaaaa !!!";:GOTO 2780 2185 IF IN$="t" THEN CLS:GOTO 3010 2186 IF IN$="i" THEN CLS:GOTO 3300 2190 IF IN$="c" THEN CLS:PRINT "MEMORY FREE BYTES ... System Area : ";FRE0;"bytes free":PRINT "Program Area: ";FRE1;"bytes free":PRINT "Total memory: ";FRE0+FRE1;"bytes free":PRINT "-------------------------------" 2191 IF IN$="c" THEN MT=9:MA=40810:FORMI=0TO9:MS=PEEK(MA+3)+256*PEEK(MA+4)-PEEKMA-256*PEEK(MA+1):IF MS>1 THEN PRINT"Prog.";MID$(STR$((9-MI),2);" : ";MS-1;"bytes" 2192 IF IN$="c" THEN MA=MA+15:NEXT:PRINT"-------------------------------";:GOTO 2060 2200 IF IN$="f" THEN CLS:PRINT"f(X)="+F$;:LOCATE 0,1:INPUT"f(X): ",DD$:IF DD$<>"" THEN F$=DD$:GOTO 2020 ELSE GOTO 2020 2210 IF IN$="o" THEN LOCATE 5,0:PRINT " ";:LOCATE 6,0:PRINT CAL$;:LOCATE 5,0:INPUT "",CAL$:GOTO 2040 2220 IF IN$="h"THEN CLS:PRINT"HELP MENU *********************","A var B var C cos()","D asn() E *10^x F x? ","G H I ","J K L ln()","M var N var O ","P PI Q R sqr " 2221 IF IN$="h" THEN PRINT"S sin() T tan() U ","V acs() W X exp()","Y atn() Z ","-----------------------------" 2222 IF IN$="h"THEN PRINT"a b BEEP c MEMO","d e f F(X)","g h HELP i "CHR$(129),"j COMPARA k REGLA3 l LIST","m C/POL n o OPER","p PATH q QUEBR. r ROUND" 2223 IF IN$="h" THEN PRINT"s t TABLAS u ","v w x var ","y var z var ","-----------------------------","+,-,*,/,^,.,0..9 idem ","EXE seguir","SHIFT caps","CRSR UP: volver atras" 2230 IF IN$="m" THEN GOTO 3410 2240 IF IN$="l" THEN CLS:FOR T=1 TO OP:PRINT "[";T;"] : ";R(T):NEXT:PRINT " [ A ] : ";A:PRINT " [ B ] : ";B:PRINT " [ M ] : ";M:PRINT " [ N ] : ";N:CLS:GOTO 2020 2250 IF IN$="k" THEN CLS:INPUT"a:",XX:LOCATE 15,0:INPUT"b:",YY:INPUT"A:",XY:YX=XY*YY/XX:LOCATE 15,1:PRINT"B=";YX;CHR$(11);:STOP:CLS:GOTO 2020 2260 IF IN$="p" THEN CLS:INPUT"PROG.(0..9): ";PRG:IF PRG<0 OR PRG>9 THEN GOTO 2020 ELSE CLS:PATH=1:GOSUB# PRG:CLS:GOTO 2020 2270 IF IN$="a" THEN GOTO 10 2280 IF IN$="M" THEN M=R(OP):LOCATE 28,1:PRINT"IN";:FOR U=1TO200:NEXT:LOCATE 28,1:PRINT " ";:GOTO 2060 2281 IF IN$="N" THEN N=R(OP):LOCATE 28,1:PRINT"IN";:FOR U=1TO200:NEXT:LOCATE 28,1:PRINT " ";:GOTO 2060 2282 IF IN$="A" THEN A=R(OP):LOCATE 28,1:PRINT"IN";:FOR U=1TO200:NEXT:LOCATE 28,1:PRINT " ";:GOTO 2060 2283 IF IN$="B" THEN B=R(OP):LOCATE 28,1:PRINT"IN";:FOR U=1TO200:NEXT:LOCATE 28,1:PRINT " ";:GOTO 2060 2290 IF IN$="j" THEN LOCATE 20,1:PRINT"....";:RESTORE:FORU=1TO16:READL$:NEXT 2291 IF IN$="j" THEN READ L$:LOCATE 20,1:PRINT" ";:LOCATE 20,1:PRINT L$;:V1=ROUND(VALF(CAL$),-10):V2=ROUND(VALF(L$),-10):IF V2=V1 THEN LOCATE 20,1:PRINT "= "+L$;:GOTO 2060 ELSE GOTO 2291 2300 IF IN$="P" THEN IN$="PI":SUM$="PI":SUM=2:GOTO 2020 2500 GOTO 2060 2700 Q1=VALF(CAL$):Q2=Q1*100000:Q3=100000 2710 IF Q2/2=INT(Q2/2) AND Q3/2=INT (Q3/2) THEN Q2=Q2/2:Q3=Q3/2:GOTO 2710 2720 IF Q2/5=INT(Q2/5) AND Q3/5=INT(Q3/5) THEN Q2=Q2/5:Q3=Q3/5:GOTO 2720 2730 RETURN 2750 CLS:PRINT "X1="+X1$;:INPUT" ";X1$:IF X1$<>"" THEN X1=VALF(X1$) 2752 PRINT "X2="+X2$;:INPUT" ";X2$:IF X2$<>"" THEN X2=VALF(X2$) 2753 PRINT "X3="+X3$;:INPUT" ";X3$:IF X3$<>"" THEN X3=VALF(X3$):GOTO 2020 ELSE GOTO 2020 2760 CLS:PRINT "Y1="+Y1$;:INPUT" ";Y1$:IF Y1$<>"" THEN Y1=VALF(Y1$) 2762 PRINT "Y2="+Y2$;:INPUT" ";Y2$:IF Y2$<>"" THEN Y2=VALF(Y2$) 2763 PRINT "Y3="+Y3$;:INPUT" ";Y3$:IF Y3$<>"" THEN Y3=VALF(Y3$):GOTO 2020 ELSE GOTO 2020 2770 CLS:PRINT "Z1="+Z1$;:INPUT" ";Z1$:IF Z1$<>"" THEN Z1=VALF(Z1$) 2772 PRINT "Z2="+Z2$;:INPUT" ";Z2$:IF Z2$<>"" THEN Z2=VALF(Z2$) 2773 PRINT "Z3="+Z3$;:INPUT" ";Z3$:IF Z3$<>"" THEN Z3=VALF(Z3$):GOTO 2020 ELSE GOTO 2020 2780 COM$=INKEY$:IF COM$="" THEN 2780 2781 COM=ASC(COM$) 2782 IF COM/2=INT(COM/2) THEN BEEP ELSE BEEP 1 2783 IF COM=8 THEN GOTO 2020 ELSE GOTO 2780 3010 CLS:PRINT"TABULADOR DE VALORES";:PRINT CHR$(9);:FORU=1TO500:NEXT 3020 CLS:INPUT "N.FILAS de valores : ",TM 3021 INPUT "N.COLUMNAS de valores : ",TN 3030 CLS:INPUT "N.columnas de DATOS : ",TD 3040 DIM DAT$(TN),AT(TM,TN),OP$(TN),E(TM) 3050 FOR TT=1 TO TN:CLS:PRINT"NOMBRE dato col.";TT;:INPUT ": ",DAT$(TT):NEXT 3060 FOR TJ=1 TO TD:CLS:PRINT "INTRO-DATOS columna";TJ;:FOR TI=1 TO TM 3070 PRINT TAB(1);DAT$(TJ);TI;"=";:INPUT AT(TI,TJ):NEXT:NEXT:CLS 3080 FOR TJ=TD+1 TO TN:PRINT "INTRO-OPERACION columna";TJ;:LOCATE 0,1:INPUT "op$= ";OP$(TJ):NEXT 3090 CLS:REM calculos 3100 FOR TH=TD+1 TO TN 3110 FOR TI=1 TO TM 3120 FOR TK=1 TO TH-1:E(TK)=AT(TI,TK):NEXT 3125 TY$=OP$(TH) 3130 AT(TI,TH)=VALF(TY$) 3140 NEXT:NEXT 3150 CLS:PRINT"RESULTADOS:"; 3160 IF INKEY$="" THEN 3160 3170 FOR TI=1 TO TM:CLS:PRINT"FILA ";TI;:FOR TJ=1 TO TN 3175 'IF QQ=1 THEN Q2=AT(TI,TJ)*100000:Q3=100000:GOSUB 2700:PRINTTAB(1);DAT$(TJ);TI;TAB(10);"=";Q2;"/";Q3:NEXT:NEXT:GOTO 3190 3180 PRINT TAB(1);DAT$(TJ);TI;TAB(10);"=";AT(TI,TJ):NEXT:NEXT 3190 CLS:PRINT"ver resultados de nuevo (S/N) ";:INPUT TR$ 3200 IF TR$="S" THEN GOTO 3150 ELSE CLS:GOTO 2020 3300 CLS:PRINT CHR$(129);F$;"dX = ...";:LOCATE 0,1:INPUT"a: ",SA:INPUT"b: ",SB:INPUT "n: ",SM:CLS:PRINT CHR$(129)+"("+F$+")dX =";:IF SM<4 THEN SM=4 3310 X=SA:SP=VALF(F$):SI=SP:SD=(SB-SA)/SM:SO=SM/2 3320 X=X+SD:SP=VALF(F$):SI=SI+SP*4:X=X+SD:SP=VALF(F$):SI=SI+SP*2:SO=SO-1:IF SO<>0 THENGOTO 3320 3330 X=B:SP=VALF(F$):SI=SI-SP:PRINT SD*SI/3;:LOCATE 0,1:PRINT "[";ROUND(SA,-5);ROUND(SB,-5);"] n:";SM;:GOTO 2060 3410 CLEAR:CLS:PRINT"C.CARTESIANAS / C.POLARES en R"+CHR$(146); 3415 ON ERROR GOTO 3450 3420 PRINT CHR$(252)+" ";:INPUT "",A$ 3425 IF A$="" THEN CLS:GOTO 12 3430 L=LEN(A$):T=0 3440 T=T+1:IF MID$(A$,T,1)="," THEN GOTO 3510 ELSE IF MID$(A$,T,1)="(" THEN GOTO 3600 3445 IF T