Content deleted Content added
Tags: Mobile edit Mobile app edit Android app edit |
m →Related tools: minor correction Tags: Mobile edit Mobile app edit Android app edit App section source |
||
(26 intermediate revisions by 16 users not shown) | |||
Line 1:
{{Short description|Can automatically carry out a stored sequence of operations}}
'''Programmable calculators''' are [[calculator]]s that can automatically carry out a sequence of operations under the control of a stored [[computer programming|program]]. Most are [[Turing complete]], and, as such, are theoretically general-purpose computers. However, their user interfaces and programming environments are specifically tailored to make performing small-scale numerical computations convenient, rather than for general-purpose use.
The first programmable calculators such as the [[IBM CPC]] used [[punched cards]] or other media for program storage. Hand-held electronic calculators store programs on magnetic strips, removable read-only memory cartridges, flash memory, or in battery-backed read/write memory.
Line 8:
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 [[pixel-addressable]]. Some have a touch screen, buzzers or other sound producers, internal clocks, modems or other connectivity devices including IrDA transceivers, several types of ports for peripherals like printers, and ports for memory cards of a number of types.
The wide availability and low cost of [[personal computer]]s including [[laptop computer]]s, [[smartphone]]s and [[tablet computer|tablets]] gradually made programmable calculators obsolete for most applications. Many mathematical software packages can be automated and customized through [[scripting languages]] and [[plug-in (computing)|plug-ins]] in a manner similar to handheld programmable calculators. However,
==Earlier devices==
Line 22:
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 [[electrical cable|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.<ref>
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 series|TI-83]] and [[TI-84 Plus series|-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.
Line 32:
File:HP-41CX.jpg|[[HP-41C|HP-41CX]] with magnetic card reader and thermal printer
File:Elektronika MK-52.JPG|A complete range of programmable calculators were developed in former [[USSR]]. Some of them (like this [[MK-52]]), was used even in space missions.
</gallery>
Line 48 ⟶ 44:
=== BASIC ===
[[BASIC]] is a widespread programming language commonly adapted to desktop computers and pocket computers.
The most common [[programming language|languages]] now used in high range calculators are proprietary [[BASIC]]-style dialects as used by [[Casio]] <small>([[Casio BASIC]] or BasicLike)</small> and [[Texas Instruments|TI]] <small>([[TI-BASIC]])</small>. These BASIC dialects are optimised for calculator use, combining the advantages of BASIC and keystroke programming. They have little in common with mainstream BASIC.<ref>{{cite web|url=http://insight4survey.files.wordpress.com/2007/06/kissane7400.pdf |title=Programming Casio FX-7400G+
A complete port of [[BBC Basic]] to the TI-83 subfamily of calculators is now available. It is installed via a cable or IrDA connection with a computer.
Line 55 ⟶ 51:
{{main|RPL (programming language)}}
[[RPL (programming language)|RPL]] is a special [[Forth (programming language)|Forth]]-like programming language used by [[
The language [[Prime Programming Language|PPL]] was introduced with the [[HP Prime]] calculator and is much like [[Pascal (programming language)|Pascal]].
Line 63 ⟶ 59:
{{main|Assembly language}}
An assembler integrated into the TI 89 and related calculators
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 [[assembly language]], a technique that was first discovered and utilized on the [[TI-85]] due to a programming flaw in a mode-switching key.{{citation needed|date=February 2016}} By the time the [[TI-83]] came out, TI and HP had realized the need to address the support needs of homebrew programmers, and started to make assembly language libraries and documentation available for prospective developers. Software, particularly games, could now be nearly as fast and as graphical as their [[Game Boy line|Game Boy]] counterparts, and TI, in particular, would later formalize assembly programming into support for packaged applications for future calculators such as the TI-83 Plus and [[TI-89]]; HP
Programs and toolkits to allow on-board assembly-like programming (often [[x86|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.
Line 94 ⟶ 90:
{{main|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.<ref>Description of the [http://www.hpmuseum.org/hp25c.htm HP-
=== Cassette tape ===
{{further|Compact Cassette#Data recording}}
[[Compact cassette]]s offered a simple, inexpensive alternative to magnetic cards. Usually, an interface module, such as the [[Casio FA-1]], was used to connect the calculator to an ordinary cassette recorder, and digital data were encoded as [[Frequency-shift keying|frequency-shift keyed]] audio signals.<ref>Description of the [http://www.voidware.com/calcs/fx501p.htm FX-
[[Sharp Corporation|Sharp]] and [[Hewlett-Packard]] also sold dedicated [[Microcassette|micro-]] or [[Mini-Cassette|mini-cassette]] recorders that connected directly to the calculator. These set-ups, while being more practical and reliable, were also more expensive.
Line 128 ⟶ 124:
* Pocket computers often offered additional programming languages as option. The [[Casio PB-2000]] for example offered [[C (programming language)|ANSI-C]], [[BASIC]], [[Assembly language|Assembler]] and [[Lisp (programming language)|Lisp]].<ref>Description of the [http://cdecas.free.fr/computers/pocket/pb2000.php PB-2000] in [http://cdecas.free.fr/computers/pocket Caz Pocket Computers]</ref>
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)<ref>The picture of the [http://pocket.free.fr/html/casio/fx-700p_e.html FX-700P] and [http://pocket.free.fr/html/casio/fx-702p_e.html FX-702P] show the text "programmable calculator"</ref> and pocket computer the dedicated "pb-" series while [[Sharp Corporation|Sharp]] marketed all BASIC-programmable devices as pocket computers.
==Related tools==
{{More citations needed section|date=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.
Line 158 ⟶ 154:
== See also ==
* [[Calculator input methods]]
* [[
* [[Pocket computer]]
* [[Scientific calculator]]
Line 166 ⟶ 162:
<references />
{{Calculator navbox}}
{{Computer sizes}}
|