home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 1 / ARM_CLUB_CD.iso / contents / apps / maths / progs / scicalc / !SciCalc / !Help < prev    next >
Encoding:
Text File  |  1992-07-15  |  14.6 KB  |  443 lines

  1. A Scientific Calculator
  2. -----------------------
  3.  
  4. Version 1.06d (16-Jul-92)
  5.  
  6.  
  7. * If you do not read documentation then please note the *
  8. * following 'key' (sic) features of this calculator.    *
  9. *                                                       *
  10. *    Result dragging                                    *
  11. *    Key short cuts ( + translation table)              *
  12. *    Fully algerbaic                                    *
  13. *    Constant operations                                *
  14. *    Adjust acesses the inverse function                *
  15.  
  16.  
  17. * This app is fast approaching its FOURTH birthday -    *
  18. * long term users please read the questions near the    *
  19. * of this document and - perhaps - reply.               *
  20.  
  21.  
  22. Files included in this package :-
  23.   
  24.   !Run
  25.   !RunImage
  26.   !Sprites
  27.   !Help     [this file]  
  28.   Templates
  29.   Sprites
  30.   HelpText
  31.   KeyTable
  32.   MakeTable
  33.   chkspr    ) my chkspr util, rename the app and see what
  34.   !Boot     ) happens (nothing!), description in Comments.
  35.  
  36.  
  37.   This scientific calculator was written to forefill the
  38. need of a decent scientific calc under RISC OS. Since it
  39. was first written several pd SciCalcs have surfaced
  40. (even Acorn had its hand in one) but I feel that this calc
  41. is significantly better and more useable; the decision is
  42. yours!
  43.  
  44.  
  45. Introduction
  46. ------------
  47.  
  48.   The calculator is fully algerbraic.
  49.  
  50.   [ This means expressions are evaluated using
  51.     BODMAS order (Brackets, Power, Multiple/Divide,
  52.     Add/Subtract - where brackets are evaluated
  53.     first). Hence 2+3*4 is calculated as 2+(3*4)
  54.     unlike non-algerbraic calculators that would
  55.     evaluate (2+3)*4                                ]
  56.  
  57.  
  58.   Also the calculator handles magnitudes greater than
  59. 99999999, using 9 digits with scientific notation (9 digits
  60. because the tenth digit in BBC BASIC 5 is generally wrong
  61. when doing function calculations)
  62.  
  63.  
  64. NOTE The largest number handled is of the order 1*10^32,
  65.      this is the largest number BBC BASIC 5 can use - if
  66.      this application is run on a, hypothical, new version
  67.      of BASIC supporting extra precision then this should
  68.      be no problem.
  69.  
  70.   Ontop of all this the calculator has a very large range
  71. of scientific functions, with which anyone who has ever
  72. used a casio calculator ought to feel familar with
  73. (version 1.00 was based extreemly closely on the fx350).
  74.  
  75.  
  76. Usage
  77. -----
  78.  
  79.   Functions are accessed by using the standard
  80. 'Reverse-Polish' method used on normal calculators
  81. (eg 20 sin rather than sin 20).
  82.  
  83.   To use a function on the currently displayed number
  84. click select on the funtion name
  85.  
  86. ***  The inverse function of a key is available  ***
  87. ***  by clicking ADJUST rather than SELECT       ***
  88.  
  89.  (ie SELECT for sin, ADJUST for arcsin). 
  90.  
  91.  
  92.   Unobvious Adjust functions are:-
  93.  
  94. EXP  where SELECT sets the multiplying power of ten
  95.      and ADJUST gives PI (EXP also gives PI if you
  96.      have not entered any digits after a clear or
  97.      equals).
  98.  
  99. rnd  where SELECT fixs the display (see menu options
  100.      below) and ADJUST gives a random number.
  101.  
  102.  
  103.   If an algerbraic operation (*/+-^) is clicked on twice
  104. then the calculator enters 'constant' mode, a 'K' lights up
  105. in the top left hand corner of the window to signify this.
  106. Once in constant mode the selected algerbraic operation is
  107. repeated with the current register on any entered numbers
  108. each time = is clicked (try it and see!). Constant mode is
  109. canceled by AC or entering any other algerbric operation.
  110.  
  111.  
  112.   Clicking on SciCalc's iconbar sprite or on the
  113. calculator's keys will cause the calculator to claim the
  114. caret and then numbers (including hex) can be entered via
  115. the keyboard or keypad. Note if numlock is off you will not
  116. be able to use the keypad(!).
  117.  
  118. <Escape> will return the caret to its original position.
  119.  
  120. NOTE # is AC, <delete> is C and <SH><del> is AC
  121.  
  122.  
  123. Memory
  124. ------
  125.  
  126.   Memory funtions avaliable are :- 
  127.  
  128. MR                 Memory recall
  129. M+ (SELECT)        Memory plus
  130. M- (ADJUST on M+)  Memory minus
  131. Min                Memory set to display
  132.  
  133. To clear the memory SELECT clear and then SELECT Min
  134.  
  135. If a number is stored in the memory then the memory
  136. indicator (small M in the top left corner) is 'lit
  137. up'.
  138.  
  139.  
  140. Menu Options
  141. ------------
  142.  
  143. Option 'Ascii'
  144.  
  145. This option has a submenu which displays all the ASCII
  146. characters in a window. To place an ascii value of a
  147. character in the display icon simply click on that
  148. character (clicking with select removes the window,
  149. clicking with adjust does not!). The ASCII value of the
  150. character will be displayed in the current base in the
  151. display icon. 
  152.  
  153.  
  154. Options 'Degrees' and 'Hex'
  155.  
  156.   To change the current angular measure choose the
  157. approprate item. All angular functions will now operate in
  158. this measure and the correct angular measure indicator will
  159. 'light up'.
  160.   The angular measure may also be set by clicking on the
  161. approprate indicator.
  162.  
  163.  
  164. Options 'Dec', 'Hex' and 'Bin'
  165.  
  166.   To change the current display base choose the approprate
  167. item. 'Dec' represents base 10 (the usual one!), 'Hex' base
  168. 16 and 'Bin' base two. The display icon will change to the
  169. approprate base and the correct base indicator will 'light
  170. up'.
  171.   The base may also be set by clicking on the approprate
  172. indicator.
  173.  
  174. NOTE: In base 16 sin, cos, tan, 1/x, log and ln become A,
  175.       B, C, D, E and F for hex entry. In bases 16 and 2 the
  176.       following functions cease to work (function!) sin,
  177.       cos, tan, root, 1/x, log, ln, rnd, rnd#, EXP.
  178.  
  179.  
  180. Options 'Norm','Fix' and 'Sci'
  181.  
  182.   To change the method of displaying base ten numbers
  183. choose the approprate item from the approprate submenu (ie
  184. for fix 3 choose '3' from the 'Fix' submenu). 'Fix'
  185. specifies the number of decimal places to be displayed
  186. (rounding if nessecary) the number if required, 'Sci'
  187. specifies the number of significant digits past the decimal
  188. point under scientific notation (again rounding if
  189. nessecary). 'Norm' unsets the 'Fix' and 'Sci' choice and
  190. returns the display mode to the one chosen by the
  191. application as approprate
  192.  
  193. NOTE: The function 'rnd' will set the internal register to
  194.       the value of the displayed register (ie if you are
  195.       using Fix 3 to show 3.14159265 the the display is
  196.       3.142 and on clicking rnd the register storing
  197.       3.14159265 becomes 3.142 so if you choose 'Norm' the
  198.       display is still 3.142). Norm unsets Fix and Sci
  199.       settings.
  200.             
  201.  
  202. Result Dragging
  203. ---------------
  204.  
  205.   The value currently displayed (in the format displayed)
  206. can be transfered from !SciCalc to any other application
  207. (or the filer) as a textfile.
  208.  
  209.   To store the value simply drag the display icon onto the
  210. receiving application. The receiving application will treat
  211. this as it would when a textfile is dragged onto it. To
  212. facilite this !SciCalc does not claim the caret when you
  213. click on the display icon (whereas it does if you click on
  214. any other).
  215.  
  216.   Sometimes it is either inconvient or impossible to drag
  217. the display icon onto the receiving application (eg a
  218. writeable icon). The result can be sent as if is was typed
  219. in by placing the pointer over the calculator and pressing
  220. <SHIFT>.
  221.  
  222.   The <SHIFT> facilty is also particulay useful when using
  223. !Edit because !Edit does not move the caret to the end of a
  224. inserted file, the <SHIFT> facility does this by default.
  225. (Note Impression does not have this problem and drags can
  226. be done easily.)
  227.  
  228.  
  229. Appendix 1 - Functions
  230. ---------------------
  231.  
  232.   Key              Select                  Adjust
  233. -----------------------------------------------------------
  234. ! sin   ! Sine (x)                 ! Arcsine (x)          ! 
  235. ! cos   ! Cosine (x)               ! Arccosine (x)        !
  236. ! tan   ! Tangent (x)              ! Arctangent (x)       !
  237. ! 1/x   ! The reciprocal of x      ! ---                  !
  238. ! log   ! Log base 10 (x)          ! 10 to the power x    !    
  239. ! ln    ! Log base e (x)           ! e to the power x     !
  240. ! EXP   ! pi or time 10^(entry)    ! pi                   !
  241. ! !     ! x factorial              ! ---                  !
  242. ! Min   ! put x in the memory      ! ---                  !
  243. ! M+    ! add x to the memory      ! add -x to the memory !
  244. ! MR _  ! display the memory       ! ---                  !
  245. !   €   ! the square root of x     ! x²                   !
  246. ! x^y   ! x raised to power entry  ! x^(1/y)              !
  247. ! not   ! logical not x            ! ---                  !
  248. ! and   ! logical and x with entry ! ---                  !
  249. ! or    ! logical or x with entry  ! ---                  !
  250. ! eor   ! logical eor x with entry ! ---                  !
  251. ! rnd   ! Register set to display  ! Random # from 0 to 1 !
  252. ! AC    ! Clears all except memory ! ---                  !
  253. ! C     ! Clears display only      ! ---                  !
  254. ! +/-   ! swaps the sign of x      ! ---                  !
  255. ! (     ! Open bracket,20 levels   ! ---                  !
  256. ! )     ! Close bracket            ! ---                  !
  257. -----------------------------------------------------------
  258.  
  259. Appendix 2 - Key short cuts
  260. ---------------------------
  261.  
  262. The following keys are short cuts to their 'iconsakes' :-
  263.  
  264. 0 1 2 3 4 5 6 7 8 9 - + / * = ( )
  265.  
  266. The following keys are short cuts to their 'iconsakes' only
  267. in base 16 (case unimportant) :-
  268.  
  269. A B C D E F
  270.  
  271. The following keys are mapped as such :-
  272.  
  273. <Delete>        Clear
  274. <Shift><Delete> All Clear
  275. #               Clear
  276.  
  277.  
  278. Appendix 3 - Versions
  279. ---------------------
  280.  
  281. v1.03  Due to popular appeal (well I did ask for comments!)
  282.        I have now made the mode buttons act to clicks (fix
  283.        and sci do not but no benefit would be gained if you
  284.        could). The divide key has been 'spriteized' (cos
  285.        someone who obviously doesn't use Latin 1 asked me
  286.        to).
  287.  
  288. v1.04  Hex input can be in upper or lower case (thanks Damon).
  289.        Fixed the caret claiming bug (for good?)
  290.        Dragable results (idea from Keith Slone, thanks!)
  291.  
  292. v1.05  ASCII table added
  293.        When <SHIFT> is pressed the pointer need not be
  294.        on the display icon.
  295.        Calculator now starts at its template file position!
  296.  
  297. v1.05b Oh well - so there were a couple bugs that I didn't
  298.        check in my hurry to release the 1.05 version (b for
  299.        bug fix!). Now the window for the ascii table is big
  300.        enough(!) and mode changes are handled properly (I
  301.        AM slacking a bit!)
  302.  
  303. v1.06  Well,well,well. I found a bug that has been resident
  304.        for yonks! (goes to show I actually use it!) - but
  305.        I fixed it. Now brackets ought to work perfectly.
  306.        FINALLY implemented constant operations (who noticed
  307.        it was in the template defn?) Ok, outside stats fns
  308.        I think I have done all I want to do on this app
  309.        now. I am planning on writing a statistical analyser
  310.        - so watch out!
  311.  
  312. v1.06c Bug fixes again. The constant feature turned on
  313.        incorrectly (2*3*4 turned it on because there are
  314.        two *s !). Also clicking on the iconbar sprite
  315.        claims the caret. This must be it!
  316.  
  317. v1.06d Bug fixes again! Fix and Sci didn't work properly
  318.        (ta Mike Smith) & fixed a few niggles I noticed when
  319.        playing. Changed my help system over to msgtrans (hmm,
  320.        my system was basically the same, just slower cos in
  321.        BASIC!).
  322.  
  323.  
  324. Comments after 4 years!
  325. -----------------------
  326.  
  327. Yes indeed - this app is now about FOUR YEARS old!
  328.  
  329. Question - Who has been using it for more than two? 
  330.            (if you have - what are YOUR niggles with it?)
  331.  
  332. Question - Does it look nice?
  333.  
  334. Question - How do you people rate this app to the competition.
  335.            (Does it need a revamp?)
  336.  
  337. Question - Who uses the ASCII table?
  338.  
  339. No one has ever commented about the key short cuts.
  340.  
  341. Question - Does this mean everyone is happy with them as
  342.            they are or has someone found a more
  343.            comprehensive set?
  344.  
  345. Question - Do you really use result dragging - Can I improve
  346.            the output format? (user defined)
  347.  
  348. Question - More functions? (extra popup key window?) Which?
  349.  
  350. Answers on a postcard(!) or Arcade or maurp@csv.warwick.ac.uk
  351.  
  352.  
  353. Comments - For advanced users
  354. -----------------------------
  355.  
  356.   The file 'KeyTable' holds the key translation array, this
  357. has been created using the file 'MakeTable'. This array
  358. maps ASCII values to icon numbers.
  359.  
  360.   Simply the file holds one byte for every ASCII character
  361. from 32 (space) to 94 (^). The byte stores the icon to be
  362. 'clicked' if that particular key is pressed. The supplied
  363. translation table just translates the numbers and
  364. arithmetic operators, if you wish to translate other
  365. functions just call up the template in !FormEd, find the
  366. icon number for the function, set the appropriate line in
  367. 'MakeTable' to the icon number and run it to create the new
  368. table (ASCII 255 = no translation).
  369.  
  370.  
  371.   The ChkSpr Utility
  372.  
  373.   The chkspr utility will, when run, examine the '!Sprites'
  374. file and check if the first sprite is the application's
  375. name. If not that sprite's name will be changed to the
  376. application directory's name. The !Boot file contains
  377. 'Run ChkSpr', this runs the util, the next line contains
  378. 'IconSprites <Obey$Dir>.!Sprites' this loads the new sprite
  379. in. The filer always calls any new (ie renamed) app's !Boot
  380. file so the new sprite is automatically loaded for display.
  381.  
  382. Please feel free to use the utility separately from the
  383. rest of the package but please note that the conditions set
  384. out below apply to it.
  385.  
  386.  
  387. Conditions of Use
  388. -----------------
  389.  
  390.   This application is supplied free to everyone 'as is', I
  391. do not give any guarantee that it is free of bugs, or
  392. supply any warranty about its suitabliliy for use. However
  393. if there are any problems with it and you notify me of them
  394. then I probably will do my best to recify them.
  395.  
  396.   You may give this application to anyone, via any medium,
  397. so long as :- 
  398.  
  399.   1) It is delivered with ALL the supplied files and
  400.      unaltered (except !Run & !Boot files) .
  401.  
  402.   2) It is not supplied on a disc you are charging
  403.      for (except for media and postage costs).
  404.   
  405.   You have permission to use any part or the whole
  406. application in a project you intend to place in the public
  407. domain, as long as I am fully credited. If you wish to use
  408. these routines in a program that is for sale (for however
  409. much and for whatever reasons) or released as copyright
  410. material then my express permission in writing must be
  411. obtained. I maintain copyright on all the material
  412. supplied and reserve the right to amend these conditions in
  413. cases where I deem misuse.
  414.  
  415.    A large number of hours of work have gone into the
  416. production and maintenance of this application and although
  417. I have supplied the application free, donations will be
  418. gratefully received (and if over 7 pounds I will send you a
  419. disc with updates of this and all other pd stuff I have
  420. written. Please include a letter telling me which apps of
  421. mine you use and their version numbers).
  422.  
  423.  
  424. Contacts
  425. --------
  426.  
  427. My address:
  428.  
  429.   6 Parklands Place,
  430.   Guildford,
  431.   Surrey GU1 2PS.
  432.  
  433.  
  434. BBS I call frequently:
  435.  
  436.   Arcade  BBS          [081 654 2212]   mbx 23
  437.  
  438. Email address (the best way to contact me)
  439.  
  440. maurp@csv.warwick.ac.uk
  441.  
  442. © Emmet Spier 1992 - USE and Enjoy!
  443.