home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
bus
/
calc.ba
< prev
next >
Wrap
Text File
|
2006-10-19
|
5KB
|
166 lines
0 'CALC.BA author unknown note: someone entered this date: 10/09/83
1 'CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE
5 PRINT"CALCULATOR PROGRAM"
10 SCREEN 0,0
20 CLS:PRINT" 1) HEX TO DEC CONV 2) DEC TO HEX CONV"
30 PRINT" 3) OCTAL TO HEX,DEC 4) ALARM"
40 PRINT" 5) ADD HEX 6) SUB HEX"
50 PRINT" 7) CALCULATOR"
52 PRINT" 8) PRINTER SET UP 9) SPARE"
54 PRINT"10) ADD ROWS & COL. 11) MENU"
94 CLEAR
95 INPUTQ:IFQ=11THENMENU
96 PT$="ENTER '0' TO EXIT"
100 ON Q GOSUB 1000,2000,3000,4000,5000,5000,6800,10000,9000,12000,11000,12000
120 GOTO20
1000 CLS:PRINT"HEX TO DEC"
1005 PRINTPT$
1006 X=102
1010 INPUT "WHAT IS HEX #";H$
1014 IF H$="0"THENRETURN
1016 GOSUB1018:PRINT@X,"DEC # =";T:X=X+40:IF X>260THEN X=262
1017 GOTO1010
1018 T=0
1020 FORI=1TOLEN(H$)
1040 T=T+(ASC(MID$(H$,I,1))-48)*16^(LEN(H$)-I)
1045 IFMID$(H$,I,1)>":"THEN T=T-7*16^(LEN(H$)-I)
1050 NEXTI
1060 RETURN
2000 CLS:PRINT"DEC TO HEX"
2001 PRINT PT$
2002 X=102
2005 DIMA$(15)
2006 GOSUB2500
2010 INPUT"DEC #";A:IFA=0THENRETURN
2020 GOSUB2030:GOTO2010
2030 B=4096:G=256:L=16
2035 C=A/B
2037 D=INT(C):E=D*B:F=A-E:H=F/G
2040 I=INT(H):J=I*G:K=F-J:M=K/L
2050 N=INT(M):O=N*L:P=K-O
2060 Q1=INT(P)
2062 PRINT@X,"HEX#= ";A$(D);A$(I);A$(N);A$(Q1):X=X+40:IFX>260THENX=262
2063 RETURN
2500 FORI=48TO63
2510 A$(I-48)=CHR$(I)
2520 IFI>57THENA$(I-48)=CHR$(I+7)
2530 NEXTI:RETURN
3000 CLS:PRINTPT$:DIMA$(15):GOSUB2500
3003 INPUT"OCTAL #";O$
3005 A=0:IFO$="0"THENRETURN
3010 FOR I=1TOLEN(O$)
3020 A=VAL(MID$(O$,I,1))*8^(LEN(O$)-I)+A
3030 NEXTI:PRINT "DEC#= ";A;:X=POS(0)+40*CSRLIN:GOSUB2030:GOTO3003
4000 PRINT "ALARM ":PRINT"THE TIME IS ";TIME$
4010 INPUT "ENTER ALARM TIME ";A$
4020 ON TIME$=A$ GOSUB 4500
4030 TIME$ ON
4035 IFT$<>TIME$THEN PRINT TIME$:T$=TIME$
4036 IF F$="E"THENRETURN
4040 GOTO 4030
4500 FORI=1TO30
4510 SOUND(I*100),10
4520 NEXTI:F$="E":RETURN
5000 DIMA$(55):GOSUB2500
5005 CLS:IFQ=5THEN PRINT"ADD HEX #"ELSE PRINT"SUBTRACT HEX"
5007 INPUT"1ST #";H$:GOSUB1018:N1=T
5010 INPUT"2ND #";H$
5020 GOSUB1018:
5023 IFQ=5THENA=N1+TELSE A=N1-T
5026 PRINT"TOTAL DEC=";A;:X=POS(0)+120:GOSUB2030:INPUT "AGAIN";Y$:IF Y$="N"THENRETURN
5030 GOTO5005
6000 RETURN
6800 DIME$(30):DEFINT I,J,K,L
6801 CLS:ON ERROR GOTO 6970
6802 PRINT"CALC - ENTER ONLY CAPITOLS OF OPERATOR"
6803 PRINT"YOU MAY ENTER '=' FOR '+'"
6804 PI=3.14159265358979323846:ME$="MEMORY="
6805 PRINT" + - * / ^ SQRT. SIN COS TAN EXIT":PRINT"STORE RECALL M+ M- CM"
6810 PRINT@160,STRING$(40," ");:PRINT@160,"1ST #?";A;" ";:PRINT@167,;
6811 GOSUB 6812:GOTO6825
6812 FORI=1TO30:E$(I)=INPUT$(1):IFASC(E$(I))=8 THENI=I-2:A$=LEFT$(A$,LEN(A$)-1):PRINT@167,A$;" ";:PRINT@(167+I),;:NEXTI
6813 IF(ASC(E$(I))<48ORASC(E$(I))>57)ANDE$(I)<>"."ANDE$(I)<>"E" THENRETURN
6815 A$=A$+E$(I):PRINT@167,A$;
6816 IFA$="E"THENRETURN
6818 NEXTI:RETURN
6825 IFA$="E"THENRETURN
6826 IFA$<>""THENA=VAL(A$):A$=""
6827 T$=E$(I)
6828 ' PRINT@160,"1ST #?";A;STRING$(15," ")
6830 PRINT@185,;:PRINT"OPERATOR? ";T$;
6831 IFT$="M"ORT$="C"THENPRINT@195,T$;:T1$=INPUT$(1):T$=T$+T1$:PRINT@280,STRING$(39," ");
6835 IFA$="E"THENRETURN
6836 IFT$="="THENT$="+"
6839 IFT$="M="THENT$="M+"
6840 PRINT@185,"OPERATOR? ";T$;" "
6841 D=ASC(T$)
6842 IFT$="^"THEN6847
6843 PRINT@240,STRING$(40," ");
6844 PRINT@200,STRING$(40," ");
6845 IFD>47THEN6870
6847 PRINT@200,;:INPUT"2ND #";B
6849 PRINT A;T$;B;"=";
6850 ON D-41 GOSUB 6910,6920,6830,6940,6950,6960
6860 IFT$="^"THENPRINT A;T$;B;"=";A^B:A=A^B:GOTO6810
6870 IFT$="S"THENB=SIN(A/180*PI)
6872 IFT$="CO"THENB=COS(A/180*PI)
6874 IFT$="Q"THENB=SQR(A)
6875 IFT$="T"THENB=TAN(A/180*PI)
6877 IFT$="O"THEN M=A:PRINT@280,ME$;M;STRING$(20," ");:GOTO6810
6880 IFT$="R"THEN A=M:GOTO6810
6882 IFT$="M+"THEN M=M+A:PRINT@280,ME$;M;:GOTO6810
6884 IFT$="CM"THENM=0:PRINT@280,ME$;M;:GOTO6810
6885 IFT$="M-"THENM=M-A:PRINT@280,ME$;M;:GOTO6810
6887 IFD>48THENPRINTT$;"(";A;")=";B;:A=B
6900 GOTO6810
6910 PRINTA*B:A=A*B:RETURN
6920 PRINTA+B:A=A+B
6930 RETURN
6940 PRINTA-B:A=A-B
6950 RETURN
6960 PRINTA/B:A=A/B:RETURN
6970 PRINT"ERROR": RESUME 6801
7000 RETURN
8000 RETURN
9000 RETURN
10000 PRINT"MICROLINE 83A PRINTER SETUP"
10010 PRINT"1) WIDE 2) NARROW PAPER":INPUTW1:PRINT
10020 PRINT"1) CONDENSED 2) NORMAL"
10030 PRINT"3) BOLD 4) WIDE"
10040 INPUTP1:PRINT
10050 PRINT"1) 6 3) 8 LINES/INCH":INPUTV1
10060 IF V1=2ORP1>4ORV1>3ORW1>2THENPRINT"NON VALID INPUT":GOTO 10010
10070 LPRINTCHR$(27);CHR$(64+W1);CHR$(30);
10080 K$=CHR$(30):IFP1=1THENK$=CHR$(29)
10090 IFP1=3THEN K$=CHR$(29)+CHR$(31)
10100 IFP1=4 THENK$=CHR$(31)
10110 LPRINTK$;CHR$(27);CHR$(53+V1);
10120 RETURN
12000 CLS
12006 PRINT"ADD-ENTER EACH NUMBER THEN 'ENTER'"
12007 PRINT"ENTER 'E' TO STOP A ROW ENTRY AND 'T' TO GET TOTAL"
12010 DIM A(20,15),T(15),E(15),TT(20)
12015 FORO=0TO15
12020 FORI=0TO20
12030 CA$="0":INPUTCA$:IF CA$<>"E"ANDCA$<>"T"THEN A(I,O)=VAL(CA$)
12035 TT(I)=TT(I)+A(I,O)
12040 IFCA$="E"THENE(O)=I:PRINT:GOTO12055
12041 IF CA$="T"THEN E(O)=I:GOTO 12057
12050 NEXTI
12055 NEXTO
12056 '
12057 FORR=0TO O
12058 IF TR<E(R)THENTR=E(R)
12060 FORJ=0TOE(R)-1
12070 PRINT A(J,R);
12080 T(R)=T(R)+A(J,R)
12090 NEXTJ
12092 PRINTTAB(25);"=";T(R)
12093 T1=T1+T(R)
12095 NEXTR
12100 PRINTSTRING$(40,"-");
12105 FORI=0TOTR-1
12106 PRINTTT(I);:NEXTI
12108 PRINTTAB(25);"=";T1
12110 INPUT"PRESS RETURN";A$:RETURN