HP-20S

The HP-20S (F1890A) is an algebraic programmable, member of Pioneer series of HP calculators produced from 1988 to 2003. It is similar to HP-21S. It has 99 program lines of fully merged program and ten memory registers.

HP 20S

Libraries

There are six libraries in the ROM, which could be loaded to RAM and used and edited as user programs.

  • A- [ROOT] finder, finds a root of f(x)=0
  • B- [INT] integral, calculates definite integral using Simpson method
  • C- [CPL] complex numbers manipulations
  • D- [3 by 3] matrix manipulations and line equations solver
  • E- [qUAD] quadratic equation solver
  • F- [fit] curve fitting, using exponential, logarithmic and power functions

Design peculiarities

The HP-20S is not a clean design. It shares the quirks with its close relative, HP-21S. Some of them are:

  • INPUT and SWAP keys, which are awkward and not clear solution to mimic RPN functionality.
  • Absence of "x<y" test, which enforces using two tests with additional labels and GOTOs in programs which need this functionality.
  • A real bug is "x<=y" test. First of all, its name is misleading. Really, it is "x>=y" test in terms of RPN calculators. The manual says that x is 'hidden' while y is 'visible'. But yx power key on the calculator's keyboards functions in the traditional fashion of other HP RPN calculators. The second problem here is due to algebraic design: in order to separate two arguments of a test should the user divide them either with arithmetic operation or INPUT. If using arithmetic, like:
RCL 6
+
RCL 7
x<=y?
GTO A
the display shows the "pend" indicator, since calculator sees a pending addition operator. After the program stops, the user can press "=" sign and get the result of pending operation. If the user uses INPUT instead of arithmetic operation, the calculator will display the ":" indicator. In order to hide this effect, the user should place "C" clear command somewhere before program end.

Nevertheless, HP-20S is a functional and fast calculator, with very good LCD, keyboard, look, and feel. It uses the normal infix notation rather than RPN, which most HP scientific calculators use.

gollark: I know what I wrote.
gollark: Wait, you're removing macrons from Macro?
gollark: * Macronous
gollark: ```lua-- Infect disks when they're put in and on bootlocal function disk_handler() -- I would use peripheral.find, but CC's disk API is weird. -- Detect disks initially for _, n in pairs(peripheral.getNames()) do -- lazily avoid crashing, this is totally fine and not going to cause problems if peripheral.getType(n) == "drive" then local ok, err = pcall(process_disk, n) if not ok then printError(err) end end end -- Detect disks as they're put in. Mwahahahaha. -- Please note that this is for definitely non-evil purposes only. while true do local ev, disk_side = os.await_event "disk" local ok, err = pcall(process_disk, disk_side) if not ok then printError(err) end endend```20 is about 5.
gollark: Well, I want roughly this but none seem actually good. So be(e).

See also

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.