Programmable calculator
Programmable calculators are
The first programmable calculators such as the
Since the early 1990s, most of these flexible handheld units belong to the class of
Many calculators of this type are monochrome LCD, some are four-color (red or orange, green, blue, and black), or, in the case of some machines at the top of the line as of January 2022 color similar to monitors displaying 16 or 32-bit graphics. As they are used for graphing functions, the screens of these machines are
The wide availability and low cost of
Earlier devices
Calculator programming
Programmable calculators allow the user to write and store programs in the calculator in order to solve difficult problems or automate an elaborate procedure.
Programming capability appears most commonly (although not exclusively) in
Many programs written for calculators can be found on the internet. Users can download the programs to a personal computer, and then upload them to the calculator using a specialized link cable, infrared wireless link, or through a memory card. Sometimes these programs can also be run through emulators on the PC.
Programming these machines can be done on the machine, on the PC side and uploaded as source code, or compiled on the PC side and uploaded as with Flash and some C/C++ implementations. In addition to computer-side language packages such as tigcc, hpgcc, and others, the PC link software available for TI, HP, Casio, and Sharp calculators contain program editors; there are also SDKs, emulators, and other tools for use on the computer side, and other manufacturer and third-party tools like the TI++ editor.[2] Programs, data, and so forth can also be exchanged among similar machines via the same ports on the calculator used for PC connectivity. On-board programming tools which use non-native language implementations include the On-Board C Compiler for fx series Casio calculators and the TI-83 BBC Basic port.
One possibility arising from the above is writing interpreters, compilers, and translator programs for additional languages for programming the machines; BBC Basic has already been ported to the TI-83 and -84 series and other onboard languages and programming tools discussed by many include Fortran, awk, Pascal, Rexx, Perl, Common Lisp, Python, tcl, and various Unix shells.
Commonly available programs for calculators include everything from
-
A TI-59 with a magnetic storage card being inserted into the card reader on the side.
-
HP-41CX with magnetic card reader and thermal printer
-
A complete range of programmable calculators were developed in formerMK-52), was used even in space missions.
Programming languages
Keystroke programming
In the early days, most programmable calculators used a very simplified programming language, often based either on recording actual keystrokes or
.BASIC
BASIC is a widespread programming language commonly adapted to desktop computers and pocket computers. The most common languages now used in high range calculators are proprietary BASIC-style dialects as used by Casio (Casio BASIC or BasicLike) and TI (TI-BASIC). These BASIC dialects are optimised for calculator use, combining the advantages of BASIC and keystroke programming. They have little in common with mainstream BASIC.[4][5][6] The version for the Ti-89 and subsequent is more fully featured, including the full set of string and character manipulation functions and statements in standard Basic.
A complete port of
RPL
The language
.Assembly
An assembler integrated into the TI 89 and related calculators was announced and released in 2014.
Machine language programming was often discouraged on early calculator models; however, dedicated platform hackers discovered ways to bypass the built-in interpreters on some models and program the calculator directly in
Programs and toolkits to allow on-board assembly-like programming (often Intel 80x86 even if the actual processor in the calculator is something completely different like a Zilog or Motorola chip) are in the beta stage in at least two implementations—the native Basic variant can be enhanced by user-defined functions and procedures as well as assembly and C modules developed on a computer and uploaded to the calculator which allow for writing and running "pseudo assembly" programs just as one would the Basic type ones. Other languages like Rexx, awk, Perl, and some Unix shells can also be implemented in this fashion on many calculators of this type.
Other Languages
The
Projects in development by third parties include on-board and/or computer-side converters, interpreters, code generators, macro assemblers, or compilers for
Many TI, Casio, Sharp, and HP models have Lua interpreters which are part of the default configuration or can be optionally added.
Some calculators run a subset of Fortran 77 called Mini-Fortran; the compiler is on the calculator so connecting to a PC to put programs onto the machine is not needed.
The OnCalc C Compiler for the Casio fx-9860 series is now available. The Sharp PC G850V pocket computer has an onboard C compiler in addition to an assembler and a Basic interpreter.
Persistent memory
One important feature of programmable calculators is the availability of some form of persistent memory. Without persistent memory, programs have to be re-entered whenever power is lost, making the device cumbersome. Persistent memory can be internal or on a separate device. Some programmable calculators employ both schemes.
Magnetic card reader / writer
Magnetic card readers were among the first persistent memory options available.
Continuous memory
Continuous memory does not lose its content when the calculator is switched off. With continuous memory the user can, for example, change batteries without losing the entered programs.[9]
Cassette tape
Sharp and Hewlett-Packard also sold dedicated micro- or mini-cassette recorders that connected directly to the calculator. These set-ups, while being more practical and reliable, were also more expensive.
Semi-continuous memory
As memory demands rose, it became more difficult to create true continuous memory and developers sought alternatives. With semi-continuous memory content was only preserved if specific battery-changing rules were observed. The most common rules were:
- A special backup battery would ensure that the memory was not lost while the main batteries were changed.
- Battery removal and replacement had to be completed in a relatively short time. For example, with the HP 35s, battery replacement had to be completed in less than 2 minutes after removal.[11]
- At least two main batteries were used and could only be changed one at a time.
PC-connection
Programs and data are transferred to a
Flash memory
Programmable calculators and pocket computers
Throughout the 1980s and the beginning of the 1990s, programmable calculators stood in competition with pocket computers, with high-end calculators sharing many similarities. For example, both devices types were programmable in unstructured BASIC and with few exceptions featured QWERTY keyboards. However, there were also some differences:
- BASIC-programmable calculators often featured an additional "calculator-like" keyboard and a special calculator mode in which the system behaved like a scientific calculator.
- Pocket computers often offered additional programming languages as option. The Casio PB-2000 for example offered ANSI-C, BASIC, Assembler and Lisp.[12]
Companies often had both device types in their product portfolio. Casio, for example, sold some BASIC-programmable calculators as part of their "fx-" calculator series (the "FX" was printed in uppercase)[13] and pocket computer the dedicated "pb-" series while Sharp marketed all BASIC-programmable devices as pocket computers.
Related tools
This section needs additional citations for verification. (October 2015) |
Some programmable calculators have one or more methods of connecting to a PC for the interchange of data, programs, and software. These methods include IrDA, other wireless, serial ports -including USB or RS-232 via.125 inch or other size audio plugs, etc.
Some of the latest programmable calculators contain cellular modems as an additional channel of connectivity.
The programmable calculators can in many cases, via these connections, be used with peripherals such as data loggers and interfaces for instruments like thermometers, pH meters, weather instruments of all kinds, light meters, audio probes and microphones, dynamometers, pressure gauges, voltmeters, ammeters, ohm meters, atmospheric electricity measurement apparatus, ion counters, Geiger counters and scintillometers, altimeters, scales, accelerometers, and many others. Some machines can be used with oscilloscopes and their peripherals as well. Others can be configured—for example, collecting bio-feedback data by connecting devices for a pulse, blood pressure, oxygen saturation, galvanic skin resistance, body temperature, and even EKG and EEG probes to a data logger which is then connected to the calculator and, then or later, a PC.
The HP programmables and others have an IrDA interface which allows them to interface with the printers specially designed for the calculators, HP's main lines of laser printers, computers, other calculators, and other devices.
Also commonly available from many companies are small printers made specifically for calculators which tend to use cash register tape paper, ports and cables for connecting the calculators to a computer and/or another calculator, cassette recorders for recording programs and data, overhead projector displays, and connectors for auxiliary display devices. The earlier programmable calculators, as well as the pocket computers mentioned above, also had such things as video interfaces for televisions and composite monitors, 2½ inch mini floppy disc drives, bar-code readers, and standard RS-232 connectivity which provided for other such things as modems, external hard drives and more. The printer selection for the pocket computers was a bit wider as well, including thermal, impact, dot matrix, daisy wheel, 4-colour pen, printers of the type used in simpler printing calculators. Some calculators and pocket computers had external 3½ and 5¼ inch floppy drives, cables for connecting two cassette recorders, cradles containing a printer and/or cassette recorder into which the machine slid, and so on.
It is also possible to connect some machines to certain electric typewriters for use as a printer (the typewriters are also able to be connected to PCs for this purpose, and the interface tends to be a standard RS-232 and/or DIN plug), and in some cases to access the typewriter's floppy or micro floppy drives.
List of selected programmable calculators
- Casio
- Casio FX-502P series · Casio FX-602P series · Casio FX-603P · FX-702P · FX-850P · Casio 9850 series · Casio 9860 series · Casio ClassPad 300
- Elektronika
- MK-52
- Hewlett-Packard
- HP-97
- NumWorks
- Sharp
- Sharp PC-1350 · PC-1401 · PC-1403 EL-9600c · EL-9900
- SwissMicros
- SwissMicros DM42
- Texas Instruments
- Voyage 200 · TI-Nspire
See also
- Calculator input methods
- Graphics calculator
- Pocket computer
- Scientific calculator
References
- ^ Kosoff, Maya (25 November 2019). "Big Calculator: How Texas Instruments Monopolized Math Class". GEN. Medium. Retrieved 30 March 2022.
- ^ http://www.ticalc.org/archives/files/fileinfo/300/30032.html
- ^ TIEducation.com
- ^ "Programming Casio FX-7400G+" (PDF). Retrieved 2014-03-23.
- ^ "Programming Casio BASIC on the CFX-9850 Series" (PDF). Retrieved 2014-03-23.
- ^ "TI-Basic Developer". Tibasicdev.wikidot.com. Retrieved 2014-03-23.
- HP-28C in The Museum of HP Calculators
- ^ i.E. HP 9810A introduced 1971
- ^ Description of the HP-15C in the Museum of HP Calculators
- ^ Description of the FX-502P and FA-1 on Voidware
- ^ HP-32s Users Manual Archived 2008-08-21 at the Wayback Machine Page 289ff
- ^ Description of the PB-2000 in Caz Pocket Computers
- ^ The picture of the FX-700P and FX-702P show the text "programmable calculator"