home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / bus / calc.ba < prev    next >
Text File  |  2006-10-19  |  5KB  |  166 lines

  1. 0 'CALC.BA author unknown                  note: someone entered this date: 10/09/83
  2. 1 'CLUB 100 Library - 415/939-1246 BBS,    937-5039 NEWSLETTER, 932-8856 VOICE
  3. 5 PRINT"CALCULATOR PROGRAM"
  4. 10 SCREEN 0,0
  5. 20 CLS:PRINT" 1) HEX TO DEC CONV  2) DEC TO HEX CONV"
  6. 30 PRINT" 3) OCTAL TO HEX,DEC 4) ALARM"
  7. 40 PRINT" 5) ADD HEX          6) SUB HEX"
  8. 50 PRINT" 7) CALCULATOR"
  9. 52 PRINT" 8) PRINTER SET UP   9) SPARE"
  10. 54 PRINT"10) ADD ROWS & COL. 11) MENU"
  11. 94 CLEAR
  12. 95 INPUTQ:IFQ=11THENMENU
  13. 96 PT$="ENTER '0' TO EXIT"
  14. 100 ON Q GOSUB 1000,2000,3000,4000,5000,5000,6800,10000,9000,12000,11000,12000
  15. 120 GOTO20
  16. 1000 CLS:PRINT"HEX TO DEC"
  17. 1005 PRINTPT$
  18. 1006 X=102
  19. 1010 INPUT "WHAT IS HEX #";H$
  20. 1014 IF H$="0"THENRETURN
  21. 1016 GOSUB1018:PRINT@X,"DEC # =";T:X=X+40:IF X>260THEN X=262
  22. 1017 GOTO1010
  23. 1018 T=0
  24. 1020 FORI=1TOLEN(H$)
  25. 1040 T=T+(ASC(MID$(H$,I,1))-48)*16^(LEN(H$)-I)
  26. 1045 IFMID$(H$,I,1)>":"THEN T=T-7*16^(LEN(H$)-I)
  27. 1050 NEXTI
  28. 1060 RETURN
  29. 2000 CLS:PRINT"DEC TO HEX"
  30. 2001 PRINT PT$
  31. 2002 X=102
  32. 2005 DIMA$(15)
  33. 2006 GOSUB2500
  34. 2010 INPUT"DEC #";A:IFA=0THENRETURN
  35. 2020 GOSUB2030:GOTO2010
  36. 2030 B=4096:G=256:L=16
  37. 2035 C=A/B
  38. 2037 D=INT(C):E=D*B:F=A-E:H=F/G
  39. 2040 I=INT(H):J=I*G:K=F-J:M=K/L
  40. 2050 N=INT(M):O=N*L:P=K-O
  41. 2060 Q1=INT(P)
  42. 2062 PRINT@X,"HEX#= ";A$(D);A$(I);A$(N);A$(Q1):X=X+40:IFX>260THENX=262
  43. 2063 RETURN
  44. 2500 FORI=48TO63
  45. 2510 A$(I-48)=CHR$(I)
  46. 2520 IFI>57THENA$(I-48)=CHR$(I+7)
  47. 2530 NEXTI:RETURN
  48. 3000 CLS:PRINTPT$:DIMA$(15):GOSUB2500
  49. 3003 INPUT"OCTAL #";O$
  50. 3005 A=0:IFO$="0"THENRETURN
  51. 3010 FOR I=1TOLEN(O$)
  52. 3020 A=VAL(MID$(O$,I,1))*8^(LEN(O$)-I)+A
  53. 3030 NEXTI:PRINT "DEC#= ";A;:X=POS(0)+40*CSRLIN:GOSUB2030:GOTO3003
  54. 4000 PRINT "ALARM ":PRINT"THE TIME IS ";TIME$
  55. 4010 INPUT "ENTER ALARM TIME ";A$
  56. 4020 ON TIME$=A$ GOSUB 4500
  57. 4030 TIME$ ON
  58. 4035 IFT$<>TIME$THEN PRINT TIME$:T$=TIME$
  59. 4036 IF F$="E"THENRETURN
  60. 4040 GOTO 4030
  61. 4500 FORI=1TO30
  62. 4510 SOUND(I*100),10
  63. 4520 NEXTI:F$="E":RETURN
  64. 5000 DIMA$(55):GOSUB2500
  65. 5005 CLS:IFQ=5THEN PRINT"ADD HEX #"ELSE PRINT"SUBTRACT HEX"
  66. 5007 INPUT"1ST #";H$:GOSUB1018:N1=T
  67. 5010 INPUT"2ND #";H$
  68. 5020 GOSUB1018:
  69. 5023 IFQ=5THENA=N1+TELSE A=N1-T
  70. 5026 PRINT"TOTAL DEC=";A;:X=POS(0)+120:GOSUB2030:INPUT "AGAIN";Y$:IF Y$="N"THENRETURN
  71. 5030 GOTO5005
  72. 6000 RETURN
  73. 6800 DIME$(30):DEFINT I,J,K,L
  74. 6801 CLS:ON ERROR GOTO 6970
  75. 6802 PRINT"CALC - ENTER ONLY CAPITOLS OF OPERATOR"
  76. 6803 PRINT"YOU MAY ENTER '=' FOR '+'"
  77. 6804 PI=3.14159265358979323846:ME$="MEMORY="
  78. 6805 PRINT" + - * / ^ SQRT. SIN COS TAN EXIT":PRINT"STORE   RECALL   M+   M-   CM"
  79. 6810 PRINT@160,STRING$(40," ");:PRINT@160,"1ST #?";A;"      ";:PRINT@167,; 
  80. 6811 GOSUB 6812:GOTO6825
  81. 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
  82. 6813 IF(ASC(E$(I))<48ORASC(E$(I))>57)ANDE$(I)<>"."ANDE$(I)<>"E" THENRETURN
  83. 6815 A$=A$+E$(I):PRINT@167,A$;
  84. 6816 IFA$="E"THENRETURN
  85. 6818 NEXTI:RETURN
  86. 6825 IFA$="E"THENRETURN
  87. 6826 IFA$<>""THENA=VAL(A$):A$=""
  88. 6827 T$=E$(I)
  89. 6828 ' PRINT@160,"1ST #?";A;STRING$(15," ")
  90. 6830 PRINT@185,;:PRINT"OPERATOR? ";T$;
  91. 6831 IFT$="M"ORT$="C"THENPRINT@195,T$;:T1$=INPUT$(1):T$=T$+T1$:PRINT@280,STRING$(39," ");
  92. 6835 IFA$="E"THENRETURN
  93. 6836 IFT$="="THENT$="+"
  94. 6839 IFT$="M="THENT$="M+"
  95. 6840 PRINT@185,"OPERATOR? ";T$;"    "
  96. 6841 D=ASC(T$)
  97. 6842 IFT$="^"THEN6847
  98. 6843 PRINT@240,STRING$(40," ");
  99. 6844 PRINT@200,STRING$(40," ");
  100. 6845 IFD>47THEN6870
  101. 6847 PRINT@200,;:INPUT"2ND #";B
  102. 6849 PRINT A;T$;B;"=";
  103. 6850 ON D-41 GOSUB 6910,6920,6830,6940,6950,6960
  104. 6860 IFT$="^"THENPRINT A;T$;B;"=";A^B:A=A^B:GOTO6810
  105. 6870 IFT$="S"THENB=SIN(A/180*PI)
  106. 6872 IFT$="CO"THENB=COS(A/180*PI)
  107. 6874 IFT$="Q"THENB=SQR(A)
  108. 6875 IFT$="T"THENB=TAN(A/180*PI)
  109. 6877 IFT$="O"THEN M=A:PRINT@280,ME$;M;STRING$(20," ");:GOTO6810
  110. 6880 IFT$="R"THEN A=M:GOTO6810
  111. 6882 IFT$="M+"THEN M=M+A:PRINT@280,ME$;M;:GOTO6810
  112. 6884 IFT$="CM"THENM=0:PRINT@280,ME$;M;:GOTO6810
  113. 6885 IFT$="M-"THENM=M-A:PRINT@280,ME$;M;:GOTO6810
  114. 6887 IFD>48THENPRINTT$;"(";A;")=";B;:A=B
  115. 6900 GOTO6810
  116. 6910 PRINTA*B:A=A*B:RETURN
  117. 6920 PRINTA+B:A=A+B
  118. 6930 RETURN
  119. 6940 PRINTA-B:A=A-B
  120. 6950 RETURN
  121. 6960 PRINTA/B:A=A/B:RETURN
  122. 6970 PRINT"ERROR": RESUME 6801
  123. 7000 RETURN
  124. 8000 RETURN
  125. 9000 RETURN
  126. 10000 PRINT"MICROLINE 83A PRINTER SETUP"
  127. 10010 PRINT"1) WIDE  2) NARROW PAPER":INPUTW1:PRINT
  128. 10020 PRINT"1) CONDENSED  2) NORMAL"
  129. 10030 PRINT"3) BOLD       4) WIDE"
  130. 10040 INPUTP1:PRINT
  131. 10050 PRINT"1) 6  3) 8 LINES/INCH":INPUTV1
  132. 10060 IF V1=2ORP1>4ORV1>3ORW1>2THENPRINT"NON VALID INPUT":GOTO 10010
  133. 10070 LPRINTCHR$(27);CHR$(64+W1);CHR$(30);
  134. 10080 K$=CHR$(30):IFP1=1THENK$=CHR$(29)
  135. 10090 IFP1=3THEN K$=CHR$(29)+CHR$(31)
  136. 10100 IFP1=4 THENK$=CHR$(31)
  137. 10110 LPRINTK$;CHR$(27);CHR$(53+V1);
  138. 10120 RETURN
  139. 12000 CLS
  140. 12006 PRINT"ADD-ENTER EACH NUMBER THEN 'ENTER'"
  141. 12007 PRINT"ENTER 'E' TO STOP A ROW ENTRY AND 'T' TO  GET TOTAL"
  142. 12010 DIM A(20,15),T(15),E(15),TT(20)
  143. 12015 FORO=0TO15
  144. 12020 FORI=0TO20
  145. 12030 CA$="0":INPUTCA$:IF CA$<>"E"ANDCA$<>"T"THEN A(I,O)=VAL(CA$)
  146. 12035 TT(I)=TT(I)+A(I,O)
  147. 12040 IFCA$="E"THENE(O)=I:PRINT:GOTO12055
  148. 12041 IF CA$="T"THEN E(O)=I:GOTO 12057
  149. 12050 NEXTI
  150. 12055 NEXTO
  151. 12056 '
  152. 12057 FORR=0TO O
  153. 12058 IF TR<E(R)THENTR=E(R)
  154. 12060 FORJ=0TOE(R)-1
  155. 12070 PRINT A(J,R);
  156. 12080 T(R)=T(R)+A(J,R)
  157. 12090 NEXTJ
  158. 12092 PRINTTAB(25);"=";T(R)
  159. 12093 T1=T1+T(R)
  160. 12095 NEXTR
  161. 12100 PRINTSTRING$(40,"-");
  162. 12105 FORI=0TOTR-1
  163. 12106 PRINTTT(I);:NEXTI
  164. 12108 PRINTTAB(25);"=";T1
  165. 12110 INPUT"PRESS RETURN";A$:RETURN
  166.