КЛУБ ЛЮБИТЕЛЕЙ КАЛЬКУЛЯТОРОВ


Главная

Форумы Регистрация Музей

На микрокалькуляторах пишут слово "Программируемый". Но это не означает, что на нем можно написать ту программу, которую вы захотите написать. В этой статье описываются основные типы программируемых микрокалькуляторов.

Что означает «Программируемый микрокалькулятор»

Известно, что программа – это последовательность действий, предназначенная для решения задачи, заданная на языке вычислительной системы. Значит, программируемый микрокалькулятор – микрокалькулятор, способный выполнять заданную последовательность действий или команд. То есть, запрограммировав один раз набор команд, например, для решения квадратного уравнения, можно решать такие уравнения, лишь подставляя исходные данные.

Значит, программируемый микрокалькулятор – микрокалькулятор, который способен выполнить программу, заложенную в него пользователем.

Основные различия у программируемых микрокалькуляторов – в языке, на котором составляется для него программа.

Программируемые микрокалькуляторы бывают несколько типов.

1. Микрокалькуляторы с простым программированием без ветвления

Такие микрокалькуляторы запоминают нажатия клавиш. Для программирования такого микрокалькулятора нужно войти в режим программирования и ввести последовательность действий, которую микрокалькулятор должен выполнять, при этом на экране микрокалькулятора будет отображаться результат вычислений. К сожалению, никак нельзя проконтролировать правильность ввода программы.

В качестве дополнительных функций в некоторых микрокалькуляторах могут быть предусмотрены специальные команды. Например, в микрокалькуляторе Citizen SRP-145T или SRP-265 есть команда [x] и [HALT]. Если при вводе программы выбрать команду [x], то микрокалькулятор остановит счет и предложит ввести число. Если ввести [HALT], то программа также остановится для того, чтобы иметь возможность проконтролировать результат вычислений.

Предположим, что необходимо вычислить длину и площадь круга по заданному радиусу.

Формула вычисления длины окружности:

, где r – радиус

Площадь круга вычисляется также:

Программа для вычисления длины и площади выглядит так:

Нажимаемая клавиша

Показания индикатора

Примечание

[PRG]

0.

Вход в режим программирования

[M]

0.

Занесение радиуса в память

[*]

0.

Вычисление радиуса

[2]

0.

[*]

0.

[PI]

3.1415926535

[=]

0.

[HALT]

HLT
0.

Остановка и вывод значения радиуса

[MR]

0.

Извлечение значения радиуса

[x2]

0.

Вычисление площади круга

[*]

0.

[PI]

3.1415926535

[=]

0.

Вывод площади на индикатор

[PRG]

0.

Выход из режима программирования

Примечание: клавиша [M] заносит число из регистра индикатора в регистр памяти. На разных микрокалькуляторах она может иметь другое начертание, например, [x->M] или [Min].

Каждый раз, когда нужно посчитать длину окружности и площадь круга нужно только вводить значение радиуса и нажимать клавишу [RUN].

Предположим, что радиус равен двум. Нажимаем клавиши:

Нажимаемая клавиша

Показания индикатора

Примечание

[C]

0.

Сброс предыдущих вычислений (можно не нажимать, если вычисления еще не производились)

[4]

4.

Радиус

[RUN]

HLT
25.13274123

Запускаем программу и получаем значение длины окружности

[RUN]

50.26548246

Запускаем снова и получаем значение площади круга

Как я уже говорил, при вводе программы никак нельзя проверить правильность ввода. Если вы в предыдущем примере ошибетесь и наберете вместо команды умножения команду деления, то ошибку можно и не заметить. Для проверки правильности ввода программы необходимо проверять ее на контрольном примере, когда известен правильный результат.

Список наиболее популярных моделей микрокалькуляторов с простым программированием: Citizen SRP-145, SRP-145T, SRP-265

2. Микрокалькуляторы с простым программированием и ветвлением

В этих микрокалькуляторах наряду с возможностью ввода программы имеются несколько команд, позволяющих прервать последовательное выполнение команд и перейти вперед или назад на несколько шагов программы.

Программируемый микрокалькулятор с простым ветвлениемДля перехода используются команды [Goto], [Rtn], [x>0] и [x<=M] (см. рис.)

Действия этих команд могут отличаться в разных моделях микрокалькуляторов.

Например, в микрокалькуляторах Casio fx-3600PV, fx-3900PV при выполнении команды [x>0] если в регистре X находилось число большее нуля, то программа продолжит выполняться с начала программы, а в микрокалькуляторе Citizen SRP-175 после команды [x>0] необходимо указать, сколько шагов программы микрокалькулятор должен пропустить – вперед или назад. Команда [x<=M] аналогична команде [x=0], но сравнение происходит с регистром памяти M. Команда [Rtn] продолжит выполнение программы с первого шага.

Наиболее популярные модели микрокалькуляторов с простым программированием и ветвлением: Casio fx-3600PV, fx-3900PV, Citizen SRP-175.

3. Микрокалькуляторы с памятью формул

К таким микрокалькуляторам относятся двухстрочные микрокалькуляторы, в которых вычисляемая формула записывается в привычной нам алгебраической форме. В них можно сохранить одно или несколько выражений, а потом запускать на выполнение.

В микрокалькуляторах Citizen SRP-280, SRP-285II и SRP-300 для хранения программ используются две области, называемые PROG1 и PROG2. В каждую область можно занести строку длиной до 72 команды каждая. Суммарно получается 144 команды. В микрокалькуляторе Casio fx-5500LA можно сохранять несколько формул общей длиной 1095 шагов (до 127 шагов каждая формула). Для вызова необходимой формулы надо пролистать экран, используя клавиши со стрелками.

Одной командой, так же как и для микрокалькуляторов с простым программированием, считается каждое выполняемое действие. Например, программа вычисления Arcsh (A / 4) займет 5 шагов: [Sinh-1 (], [A], [/], [4], [)]. Обратите внимание, что команда вычисления гиперболического арксинуса вместе с открывающей скобкой занимает один шаг, несмотря на то, что для ее ввода нужно нажать целых 4 клавиши: [2nd], [hyp], [2nd], [sinh-1].

Чтобы сохранить программу необходимо ввести ее как обычное выражение и сохранить в одну из областей: PROG1 или PROG2.

Предположим, нам надо ввести программу вычисления формулы

SQRT(B ^ 2 – 4 * A * C)

Нажимаемая клавиша

Показания индикатора

Примечание

[C]

0.

Сброс предыдущих вычислений (можно не нажимать, если вычисления еще не производились)

[SQRT] [P/V RCL] [->] [^] [2]
[-] [4] [*]  [P/V RCL] [*]
[P/V RCL] [->] [->] [Enter]

Citizen SRP-285II

Вводим формулу

[SAVE] [<-] [<-] [Enter]

Сохраняем в области PROG1 и получаем результат вычисления по формуле

[P/V RCL] [<-] [<-]

Citizen SRP-285II

Извлекаем программу PROG1 на выполнение

[Enter] [Enter]

Citizen SRP-285II

Запрос на ввод переменной B. Рядом появляется предыдущее значение. Его можно изменить или оставить без изменений

5 [Enter]

A=0

Запрос на ввод переменной A

3 [Enter]

C=0

Запрос на ввод переменной C

2 [Enter]

1. Результат

К сожалению, в программируемых микрокалькуляторах этого типа нет команд ветвления.

Список микрокалькуляторов с памятью формул: Casio fx-4200P, fx-5500LA, Citizen SRP-280, SRP-285II, SRP-300

4. Программируемые микрокалькуляторы с развитым языком программирования

Встроенный язык программирования таких микрокалькуляторов, напоминающий компьютерный Бейсик или С уже дает возможность писать полноценные программы. Так что, изучив программирование на микрокалькуляторах, можно смело начинать изучение программирования на обычных компьютерах, и наоборот. Основное ограничение на использование возможностей программирования в таких микрокалькуляторах – наличие свободной памяти для написания программ.

В настоящее время в магазинах программируемые микрокалькуляторы с развитым языком программирования представлены фирмами (в алфавитном порядке): Casio, Citizen, Hewlett Packard, Sharp, Texas Instruments и другие. Каждая фирма-изготовитель, в основном, включает собственный язык программирования в микрокалькуляторы, но, в принципе, они все похожи.

Программируемые микрокалькуляторы Casio с формульным вводом (true algebraic logic) могут иметь одну или несколько строк на дисплее. С точки зрения программирования это сказывается лишь в удобстве написания программ.

Язык программирования основан на формульном вводе с добавлением команд ввода/вывода и ветвления.

Например, часть программы для нахождения корней квадратного уравнения

на микрокалькуляторе CFX-9850G будет выглядеть так:

Для ввода данных используются командой "?". Вот пример программы вычисления корней квадратного уравнения.

Casio CFX-9850G

Программируемые микрокалькуляторы Citizen сначала копировали аналоги Casio (SRP-320G), но потом изменили встроенный язык программирования, сделав его больше похожим на C, поскольку у него есть похожие команды организации циклов,

Citizen SRP-350

а также пред- и постинкрементные операторы "++" и декрементные "--".

В наиболее продвинутых с точки зрения возможностей программирования микрокалькуляторах Citizen SRP-350 и SRP-400G имеется наибольшее среди программируемых калькуляторов Citizen количество команд (пример для SRP-350, в SRP-400G еще больше): For, If - Then - Else, Switch, Case, Do-W, While, Exit, Defaul, Clr-D, Clr-T, Input, Print, Goto, Gosub, Label, Data, Read, RStore, Locat, Sleep, Rem, Swap, End.

 

Особняком в программируемых микрокалькуляторах стоят модели фирмы Hewlett Packard. Это связано с тем, что большинство программируемых микрокалькуляторов этой фирмы имели специальный язык программирования, называемый языком с обратной польской нотацией (RPN - Reverse Polish Notation). Вместо формульного ввода в микрокалькуляторах использовался стек чисел, а операции вводятся после ввода чисел.

Окно калькулятора HP 49G+ в RPN режиме

На рисунке показан вид дисплея микрокалькулятора HP 49G+ в RPN режиме (после ввода числа 2.36 в стек).

Пример вычисления формулы :

Режим RPN в микрокалькуляторе HP 49G+

Такой порядок ввода несколько непривычен, но к нему быстро привыкаешь, и порой он может казаться даже более удобным, чем обычный формульный ввод. Программирование в микрокалькуляторе HP-49G+, самом мощном микрокалькуляторе фирмы, несколько необычно.

 

И, наконец, таблица с основными возможностями программирования в микрокалькуляторах:

Модель

Citizen
SRP-145
SRP-145T
Citizen
SRP-265
Casio
fx-3600PV
Casio
fx-3900PV
Casio
fx-4200P
Casio
fx-5500LA
Citizen
SRP-280
Citizen
SRP-285II
Citizen
SRP-300
Citizen
SRP-325G
Citizen
SRP-350
Citizen
SRP-400G
Casio
fx-4500PA
Casio
fx-3950P,
fx-3650P
Casio
fx-50F Plus
Casio
fx-4800P
Casio
fx-5800P
Casio
fx-6300G
Casio
fx-7400G PLUS
Casio
ALGEBRA FX 2.0 PLUS
Casio
fx-9750G PLUS,
CFX-9850GB PLUS,
CFX-9950GB PLUS,
CFX-9850GC PLUS
Casio
fx-9860G,
fx-9860SD

Модель

Простое программирование + + Простое программирование
Простое программирование и ветвление + + Простое программирование и ветвление
Память формул + + + + + Память формул
Развитой язык +

+

+ + + + + + + + + + + Развитой язык
Кол-во шагов (байт) 40 40 38 300 63+279 3) 127+1095 3) 74 2*74 2*74 400 1200 32К 1103 360 640 4500 28500 400 20К 144К 28К, 28К, 60К, 60К 64К Кол-во шагов (байт)
Максимальное количество программ 1 1 2 4 * 1) * 1) 1 2 2 10 36 * 1) * 1) 4 4 * 1) * 1) 10 * 1) * 1) * 1) * 1) Максимальное количество программ
Редактирование программы Нет Нет Нет Да Да Да Да Да Да Да Да Да Да Да Да Да Да Да Да Да Да Да Редактирование программы
Количество регистров памяти 1 1 7 7 7 26 7 8 8 26..59 26 28 26..163 7 7 26..476 26..2398 26..76 26 5) 28 5) 28 5) 28 5) Количество регистров памяти
Запрос чисел Да Да Да Да Да Да Нет Нет Нет Да Да Да Да Да Да Да Да Да Да Да Да Да Запрос чисел
Переход на начало Goto 0, x>0, x<=M Нет Нет Да Да Нет Нет Нет Нет Нет

Переход на начало Goto 0, x>0, x<=M

Кол-во меток для переходов Нет Нет Нет Нет Нет Нет Нет Нет Нет 10 10 10 * 4) 10 ? 36 38 10 36 38 38 38 Кол-во меток для переходов
Условные переходы Нет Нет Goto 0,
x>0,
x<=M
Goto 0,
x>0,
x<=M
Нет Нет Нет Нет Нет Да Да Да Да Да ? Да Да Да Да Да Да Да Условные переходы
Подпрограммы Нет Нет Нет Нет Нет Нет Нет Нет Нет Да Да Да Да Нет ? Да Да Да Да Да Да Да Подпрограммы
Циклы Нет Нет Нет Нет Нет Нет Нет Нет Нет Да Да Да Нет Нет ? Нет Да Да Да Да Да Да Циклы
Библиотека встроенных функций Нет Нет Нет Нет Нет Да Нет Нет Нет Да Нет Нет Нет Нет 23 Нет 128 Нет Нет Нет Нет Нет Библиотека встроенных функций
Индексное обращение к памяти Нет Нет Нет Нет Нет Нет Нет Нет Нет Да Нет Да Да Нет ? Да Да Да Да Да Да Да Индексное обращение к памяти

Примечания:
1) Количество программ определяется свободной памятью в пределах общего количества байт памяти";
2) Емкость памяти "Formula Memory" и "MEMO";
3) Емкость памяти "Formula Memory" и "Formula Storage Memory";
4) Не ограничено";
5) Кроме обычных регистров имеются другие типы данных.

Если вы встретите какие-нибудь неточности или ошибки, просьба сообщить мне.

Сергей Фролов


Внимание: все материалы этого сайта защищены Законом об авторском праве.
Запрещено любое использование материалов сайта без письменного разрешения авторов.


All Rights Reserved, Copyright (C) Sergei Frolov, 2004-2017, sfrolov@gmail.com
Все права защищены (C) Сергей Фролов, 2004, 2017, sfrolov@gmail.com, [info] sfrolov