home *** CD-ROM | disk | FTP | other *** search
/ AppleDisk Magazine Miscellaneous Programs / AppleDisk_Misc_Programs_1.dsk / CALCOLATRICE.bas < prev    next >
Encoding:
BASIC Source File  |  1987-01-01  |  3.6 KB  |  101 lines

  1. 10  HOME : PRINT 
  2. 20  PRINT  CHR$(4);"PR#3"
  3. 30  PRINT 
  4. 40  IF  PEEK(104) < >96  THEN  POKE 103,1: POKE 104,96: POKE 24576,0: PRINT  CHR$(4);"RUN CALCOLATRICE"
  5. 50  PRINT  CHR$(4);"BLOAD CALCOLA"
  6. 60  ONERR  GOTO 1040
  7. 70  PRINT  CHR$(4);"BLOAD MEMORY,A$82B,L$A0"
  8. 80 START = 2048
  9. 90 PI = 3.14159265359
  10. 100 ER$ = "ERRORE"
  11. 110  CALL START
  12. 120  ONERR  GOTO 930
  13. 130  CALL START +3
  14. 140  IF  PEEK(49152) = 145  THEN 1010
  15. 150 A$ = ""
  16. 160  FOR N = 0 TO 14
  17. 170 B =  PEEK(START +6 +N) -128: IF B <1  THEN 190
  18. 180 A$ = A$ + CHR$(B)
  19. 190  NEXT N
  20. 200 N1 =  VAL(A$)
  21. 210 A$ = ""
  22. 220  FOR N = 0 TO 14
  23. 230 B =  PEEK(START +21 +N) -128: IF B <1  THEN 250
  24. 240 A$ = A$ + CHR$(B)
  25. 250  NEXT N
  26. 260 N2 =  VAL(A$)
  27. 270 INV =  PEEK(START +39)
  28. 280 R =  PEEK(START +40):R = (R = 172) +PI *(R = 205)/180 +PI *(R = 190)/200
  29. 290 OP =  PEEK(START +36):LO = OP
  30. 300 IM =  PEEK(START +37): IF IM < >0  THEN OP = IM
  31. 310  IF INV = 1  THEN 350
  32. 320  IF INV = 2  THEN 340
  33. 330  ON OP GOTO 360,390,420,450,460,470,480,490,500,510,520,530,540,750,550,560,570,580,590,600,610,620,130,630,650,670,690,710,730
  34. 340  ON OP GOTO 370,400,430,450,480,470,460,490,500,520,510,530,540,750,550,560,570,580,590,600,610,620,130,640,660,680,700,720,740
  35. 350  ON OP GOTO 380,410,440,450,460,470,480,490,500,510,520,530,540,750,550,560,570,580,590,600,610,620,130,630,650,670,690,710,730
  36. 360 N$ =  STR$( SIN(N1 *R)): GOTO 770
  37. 370 N$ =  STR$( ATN(N1/ SQR(1 -N1 ^2))/R): GOTO 770
  38. 380 N$ =  STR$(( EXP(N1) - EXP( -N1))/2): GOTO 770
  39. 390 N$ =  STR$( COS(N1 *R)): GOTO 770
  40. 400 N$ =  STR$( ATN( SQR(1 -N1 ^2)/N1)/R): GOTO 770
  41. 410 N$ =  STR$(( EXP(N1) + EXP( -N1))/2): GOTO 770
  42. 420 N$ =  STR$( TAN(N1 *R)): GOTO 770
  43. 430 N$ =  STR$( ATN(N1)/R): GOTO 770
  44. 440 N$ =  STR$(( EXP(N1) - EXP( -N1))/( EXP(N1) + EXP( -N1))): GOTO 770
  45. 450 N$ =  STR$( LOG(N1)/ LOG(10)): GOTO 770
  46. 460 N$ =  STR$( LOG(N1)): GOTO 770
  47. 470 N$ =  STR$( LOG(N2)/ LOG(N1)): GOTO 770
  48. 480 N$ =  STR$( EXP(N1)): GOTO 770
  49. 490 N$ =  STR$(N2 ^N1): GOTO 770
  50. 500 N$ =  STR$(10 ^N1): GOTO 770
  51. 510 N$ =  STR$(N1 ^2): GOTO 770
  52. 520 N$ =  STR$( SQR(N1)): GOTO 770
  53. 530 N$ =  STR$(1/N1): GOTO 770
  54. 540 N$ =  STR$(N2 ^(1/N1)): GOTO 770
  55. 550 N$ =  STR$(1/ COS(N1 *R)): GOTO 770
  56. 560 N$ =  STR$(1/ SIN(N1 *R)): GOTO 770
  57. 570 N$ =  STR$(1/ TAN(N1 *R)): GOTO 770
  58. 580 N = N1/100:N$ =  STR$(((LO = 21)  OR (LO = 22)) *N2 *N +((LO < >21)  AND (LO < >22)) *N): GOTO 770
  59. 590 N$ =  STR$(N2/N1): GOTO 770
  60. 600 N$ =  STR$(N2 *N1): GOTO 770
  61. 610 N$ =  STR$(N2 -N1): GOTO 770
  62. 620 N$ =  STR$(N2 +N1): GOTO 770
  63. 630 N$ =  STR$(N1 *3.2808399): GOTO 770
  64. 640 N$ =  STR$(N1 *0.3048): GOTO 770
  65. 650 N$ =  STR$(N1 *0.6213712): GOTO 770
  66. 660 N$ =  STR$(N1 *1.6093440): GOTO 770
  67. 670 N$ =  STR$(N1 *0.03527396): GOTO 770
  68. 680 N$ =  STR$(N1 *28.34952313): GOTO 770
  69. 690 N$ =  STR$(N1 *2.20462262): GOTO 770
  70. 700 N$ =  STR$(N1 *0.45359237): GOTO 770
  71. 710 N$ =  STR$(N1 *0.39370079): GOTO 770
  72. 720 N$ =  STR$(N1 *2.54): GOTO 770
  73. 730 N$ =  STR$((N1 *1.8) +32): GOTO 770
  74. 740 N$ =  STR$((N1 -32)/1.8): GOTO 770
  75. 750 N$ = "1": IF N1 < = 1  THEN 770
  76. 760 N1 =  INT(N1):N = N1 -1: FOR A = N1 TO 2  STEP  -1:N1 = N1 *N:N = N -1: NEXT A:N$ =  STR$(N1): GOTO 770
  77. 770 M = 14
  78. 780  FOR N =  LEN(N$) TO 1  STEP  -1
  79. 790 X$ =  MID$ (N$,N,1)
  80. 800  IF X$ = " "  OR X$ = ""  THEN 870
  81. 850 X =  ASC(X$) +128
  82. 860  POKE START +6 +M,X:M = M -1
  83. 870  NEXT N
  84. 880  FOR N = M TO 0  STEP  -1
  85. 890  IF N <0  THEN 910
  86. 900  POKE START +6 +N,0
  87. 910  NEXT N
  88. 920  GOTO 130
  89. 930  POKE START +38,1
  90. 940  FOR N = 1 TO 9
  91. 950  POKE START +6 +N,0
  92. 960  NEXT N
  93. 970  FOR N = 1 TO 6
  94. 980  POKE START +14 +N, ASC( MID$ (ER$,N,1)) +128
  95. 990  NEXT N
  96. 1000  GOTO 130
  97. 1010  PRINT  CHR$(4);"BSAVE MEMORY,A$82B,L$A0"
  98. 1020  TEXT 
  99. 1030  PRINT  CHR$(4);"PR#6": END 
  100. 1040  FOR N = 1 TO 160: POKE 2091,0: NEXT N
  101. 1050  GOTO 80