Калькулятор | это... Что такое Калькулятор? (original) (raw)
Современный инженерный калькулятор
Калькуля́тор (лат. calculātor «счётчик») — электронное вычислительное устройство для выполнения операций над числами или алгебраическими формулами.
Калькулятор заменил ручные (механические) вычислительные устройства и приспособления, такие как абаки, счёты, математические таблицы (прежде всего — таблицы логарифмов), логарифмические линейки, механические или электромеханические арифмометры.
В зависимости от возможностей и целевой сферы применения калькуляторы делятся на простейшие, бухгалтерские, инженерные (научные), финансовые. В отдельные классы обычно выделяют программируемые калькуляторы, дающие возможность выполнения сложных вычислений по предварительно заложенной программе, а также графические — поддерживающие построение и отображение графиков. Специализированные калькуляторы предназначены для выполнения вычислений в достаточно узкой сфере (статистические, медицинские, специальные финансовые расчёты и т. п.); такие калькуляторы сейчас чаще реализуются в виде программ для универсальных персональных компьютеров, КПК, планшетов, хотя могут изготавливаться и «в железе».
По исполнению калькуляторы могут быть настольными или компактными (карманными). Отдельные модели имеют интерфейсы для подключения персонального компьютера, печатающего устройства, внешнего модуля памяти или иных внешних устройств. Существуют калькуляторы, встроенные в персональные компьютеры, сотовые телефоны, КПК и даже наручные часы. Специализированные калькуляторы встраиваются в бытовую технику (например, простой медицинский калькулятор может встраиваться в спортивный тренажёр).
Содержание
- 1 Этимология
- 2 Конструкция
- 3 Логика операций
- 4 Программирование калькуляторов
- 5 Типы калькуляторов
- 6 История
- 7 Советские калькуляторы
- 8 Современные программируемые калькуляторы
- 9 Программы-калькуляторы
- 10 Эмуляторы калькуляторов
- 11 См. также
- 12 Примечания
- 13 Литература
- 14 Ссылки
Этимология
Латинское слово calculator «счётчик, счетовод» происходит от глагола calculo «считаю, подсчитываю», который в свою очередь происходит от слова calculus «камешек» (камешки использовались для счёта); calculus же является уменьшительным от calx «известь».
В Советском Союзе для обозначения малогабаритного вычислительного устройства использовался термин «микрокалькулятор», впервые применённый в 1973 году для микрокалькулятора «Электроника Б3-04». Просто «калькуляторами» называли большие по размеру настольные вычислительные устройства. И настольные, и микрокалькуляторы официально назывались «ЭКВМ — электронные клавишные вычислительные машины». Впоследствии, после отмирания «больших» калькуляторов, термины «калькулятор» (в рассматриваемом смысле) и «микрокалькулятор» стали синонимами.
Конструкция
Типичный калькулятор имеет дисплей (индикатор) и специальную клавиатуру, изготовленные в едином корпусе, в котором помещается также электронная схема калькулятора и элементы питания.
Дисплей
В качестве дисплея в калькуляторах применяются, в основном, индикаторы на жидких кристаллах (ЖКИ). Профессиональные бухгалтерские калькуляторы исполняются как с ЖКИ, так и с вакуумно-люминесцентными индикаторами.
В зависимости от назначения калькулятора информация отображается на следующих типах индикаторов:
- на цифровом семисегментном (простейшие модели);
- специализированном матричном для ввода цифровых и нецифровых символов;
- графическом (построение графиков, ввод формул в алгебраическом виде, таблиц и т. п.)
Клавиатура
Клавиатура калькуляторов содержит клавиши (кнопки), нажатие которых обеспечивает ввод чисел и выполнение операций и функций. Клавиатура содержит, как минимум, следующие клавиши:
- Цифровые — десять клавиш с арабскими цифрами от 0 до 9, для ввода чисел. Возможно также использование в сложных командах. Традиционно клавиши 1-9 располагаются квадратом 3x3, единица — слева внизу, девятка — справа вверху, нуль — отдельно, под единицей.
- Десятичная запятая (точка) — для ввода десятичного разделителя.
- Арифметические операции — для ввода операций «+» (сложение), «-» (вычитание), «×» (умножение), «÷» (деление).
- Знак равенства «=» — для выполнения последней операции в цепочных вычислениях в калькуляторах с арифметической или алгебраической логикой.
- Ввод («↑» или «ENTER» или «В↑» или «E↑») — для завершения ввода числа в калькуляторах с обратной польской записью.
- Очистка (обозначается «C») — для обнуления значения на индикаторе и отмены операции, если таковая была введена.
Помимо перечисленных обязательных клавиш, калькулятор может содержать (и обычно содержит) большее или меньшее количество клавиш вычисления функций, работы с регистрами памяти, управления порядком вычислений. Нажатие на такие клавиши приводит к выполнению соответствующей операции или вычислению функции, обозначенной на ней, от числа, отображаемого на индикаторе калькулятора. Состав поддерживаемых функций определяется моделью калькулятора. Калькуляторы с алгебраической логикой вычислений имеют также клавиши скобок.
В простейших калькуляторах одной клавише соответствует одна функция. При росте числа поддерживаемых функций клавиатура начинает недопустимо разрастаться, поэтому в инженерных калькуляторах, поддерживающих от десятков до сотен функций, клавиатура или её часть работает в совмещённом режиме: одной клавише соответствует две или более функции, одно из обозначений наносится на саму клавишу, второе — над ней (иногда третье — рядом со вторым). На клавиатуре в таком случае помещается клавиша «F» (так же встречаются названия "Shift" или «2nd»). Нажатие на эту клавишу непосредственно перед нажатием на клавишу двойного назначения приводит к тому, что срабатывает не основная, а дополнительная функция последней клавиши. Иногда на одну клавишу может быть привязано три-четыре функции, в таких случаях обозначения пишут сверху, снизу, сбоку клавиши, на ней самой другим цветом и так далее, а для ввода третьей или четвёртой функции используют специальные клавиши (например, «3rd» или «K»). Возможно также переключение режимов работы калькулятора и выбор выполняемой функции в зависимости от режима. Например, клавиша может выполнять обычную тригонометрическую функцию, после нажатия «F» — обратную; но при этом калькулятор с помощью отдельной клавиши или переключателя может быть переведён в режим статистических расчётов, и в этом случае та же клавиша будет вызывать одну из команд статистической обработки.
Клавиатура калькулятора проектируется в расчёте на работу с ней одной рукой, поэтому практически никогда не используются комбинации из нескольких одновременно нажатых клавиш. Исключение могут составлять очень редко используемые сервисные операции (например, операция очистки всей памяти в калькуляторе с большим числом регистров).
Процессор и память
Процессор и память современных калькуляторов физически представляют собой электронные микросхемы большой и сверхбольшой степени интеграции. В калькуляторах используются как специализированные микросхемы, так и универсальные. Например, в калькуляторах серии TI-89 использован типовой процессор семейства Motorola 680x0, широко применяемый в мобильных устройствах и встраиваемых системах. Значительная часть калькуляторов использует внутреннее представление данных в виде двоично-десятичного кода (BCD), что значительно упрощает схемы ввода-вывода данных, но отрицательно сказывается на скорости вычислений и требует больше памяти для хранения данных.
Память калькулятора логически (с точки зрения пользователя) в большинстве случаев представляет собой набор регистров, каждый из которых может хранить одно число. Операционные регистры хранят данные, находящиеся в обработке в текущий момент. Помимо этого в калькуляторе может выделяться один или более командно-доступный регистр памяти для хранения констант или промежуточных результатов вычислений. В калькуляторах с одним регистром памяти клавиши управления этим регистром обозначаются, как правило, следующим образом:
- CM (MC) — очистка регистра памяти.
- M, П, STO — сохранение в регистре текущего отображаемого значения.
- MR, RM, RC, ИП — копирование значения из регистра памяти в операционный регистр X (на дисплей).
- M+, M-, M×, M÷ — выполнение указанной после «M» операции между текущим значением в регистре памяти и значением на дисплее, с помещением результата снова в регистр памяти.
Если регистров памяти несколько, они обычно нумеруются или обозначаются буквами латинского алфавита. В этом случае для выполнения операций с регистрами используются клавиши с вышеописанными обозначениями, после которых дополнительно нажимаются соответствующие цифровые или буквенные клавиши.
В наиболее совершенных современных моделях инженерных и программируемых калькуляторов непосредственная работа с регистрами памяти не применяется. Вместо этого пользователь имеет возможность описать переменные с определёнными именами и оперировать ими, вводя формулы с указанием имён этих переменных.
Элементы питания
В качестве элементов питания калькулятора могут использоваться солевые, щелочные или литий-ионные батареи или аккумуляторы. В современных калькуляторах, большинство из которых имеет крайне невысокое энергопотребление, практически повсеместно используются миниатюрные дисковые литий-ионные элементы. От одного нового элемента калькулятор при ежедневном использовании может работать несколько месяцев или даже лет. Некоторые производители снабжают калькуляторы солнечными батареями, мощности которых вполне хватает для работы инженерного калькулятора средних возможностей. Однако наиболее сложные и производительные программируемые калькуляторы требуют достаточно ёмких и мощных элементов питания, и в них могут использоваться несколько крупноразмерных элементов или аккумуляторов. Калькуляторы в настольном исполнении, а тем более — снабжённые печатающим устройством, могут также работать от электросети, подключаясь к ней через соответствующий сетевой блок питания.
Логика операций
Калькулятор реализует один (очень редко — два) из трёх вариантов логики операций, то есть порядка ввода команд, который требуется для выполнения арифметических вычислений (команд сложения, вычитания, умножения и деления). Это арифметическая логика, алгебраическая логика и логика вычислений с обратной польской записью. Первые две базируются на инфиксной нотации (когда в записи формулы знак бинарной операции помещается между операндами), последняя — на постфиксной нотации (когда знак операции помещается после операндов, к которым он относится).
Арифметическая логика
Арифметическая логика базируется на инфиксной нотации без приоритетов и скобок. Для выполнения операции «a * b» (где «*» — произвольная бинарная операция) пользователь сначала набирает значение a, затем нажимает одну из клавиш бинарной операции («+», «-», «×», «÷», возможно также «yx»), затем набирает значение b и нажимает клавишу «=». Выполняется введённая операция над числами a и b, а её результат отображается на дисплее. Если вместо «=» пользователь снова нажмёт клавишу бинарной операции, то произойдёт то же самое — ранее введённая операция выполнится и её результат отобразится, но этот результат станет первым операндом для той операции, клавиша которой была нажата.
Так, например, для вычисления значения выражения «30 * 5 + 45» пользователь должен последовательно нажать клавиши: «3», «0», «×», «5», «+», «4», «5», «=». При этом после нажатия плюса выполнится умножение 30 на 5, ранее введённое, на дисплее отобразится результат 150, а после знака равенства отобразится окончательный результат 195. Арифметическая логика не предполагает наличия приоритетов операций, все операции выполняются в том порядке, в котором вводятся. Так, попытка прямого цепочного вычисления выражения «1 + 2 × 3» приведёт к неверному результату, потому что сначала будет выполнено сложение, и только потом умножение, что даст в результате 9, а не 7, как должно получиться согласно правилам математики. Чтобы получить правильный результат, пользователь должен изменить порядок ввода: выполнить сначала операцию умножения, а только затем — сложения.
Арифметическая логика наиболее проста в реализации, поскольку требует для любых вычислений только два операционных регистра для двух последних операндов и сохранения только одной, последней введённой операции. Она вполне удобна для простых расчётов, когда пользователь не подготавливает заранее всю последовательность вычислений, а считает «на ходу», и его интересует только текущая операция и её результат. Но она не соответствует математическим правилам и затрудняет расчёты по сложным формулам, поскольку требует вводить данные и операции в том порядке, в котором они должны выполняться, а не в порядке записи в математической формуле. В 1970-х годах на некоторых моделях калькуляторов с арифметической логикой на клавишах операций вместо знаков «+», «-», «×», «÷» ставили «+=», «-=», «×=», «÷=», чтобы подчеркнуть, что при нажатии на клавишу предыдущая введённая операция будет немедленно выполнена. Сейчас подобные обозначения не применяются.
Алгебраическая логика
Алгебраическая логика строится на инфиксной записи операций, но, в отличие от арифметической, учитывает в вычислениях принятые в математике приоритеты операций и позволяет пользоваться скобками. Единичная бинарная операция выполняется точно так же, как и в случае арифметической логики, но при выполнении цепочных вычислений при вводе операции, приоритет которой выше, чем приоритет ранее введённой, либо при вводе открывающейся скобки, калькулятор сохраняет во внутренних регистрах ранее введённые операнды и позволяет продолжить ввод. И лишь когда пользователь нажмёт клавишу «=», либо введёт операцию с меньшим приоритетом или закрывающуюся скобку, выполняется вычисление результата введённого выражения либо его части.
Алгебраическая логика позволяет выполнять вычисления по математическим формулам, вводя данные, операции и скобки в том порядке, в котором они записаны в формуле, не задумываясь о правильном порядке выполнения операций. Платой за это удобство является усложнение калькулятора, поскольку для хранения операндов, над которыми ещё не выполнены операции, требуются дополнительные операционные регистры. Так как число этих регистров всегда ограничено, для калькуляторов с алгебраической логикой существует предел количества вложенных пар скобок, которые можно употребить в расчётах. Простейшие калькуляторы могут иметь ограничение в 2-3 пары вложенных скобок, более сложные — до десятка пар и более.
Обратная бесскобочная логика
Этот тип логики базируется на так называемой обратной польской записи (RPN, Reverse Polish Notation, обратной бесскобочной записи) выражений, в которой сначала записываются подряд значения операндов, а после них — знак выполняемой операции.
Архитектура калькуляторов с обратной бесскобочной логикой характеризуется наличием стека операционных регистров размером не менее трёх (обычно обозначаемых X, Y, Z) и специфической команды, обозначаемой на клавиатуре как «↑» или «ENTER» или «В↑» или «E↑». Вводимое с клавиатуры или извлекаемое из регистра памяти значение помещается в регистр Х. По команде «↑» происходит сдвиг значений в стеке в направлении X→Y→Z→ (и далее, если в стеке больше регистров), то есть эта операция позволяет разделить ввод последовательных операндов. При нажатии пользователем клавиши любой операции эта операция производится над находящимися в стеке операндами (обычно — над значениями в регистрах Y и X), а результат помещается в регистр X, значение которого отображается на дисплее. Остальные значения в стеке при этом сдвигаются обратно в направлении →Z→Y.
RPN функционально аналогична обычной инфиксной записи со скобками, но при этом вычисления тех же самых выражений требуют меньшего числа нажатий на клавиши. Для обычного калькулятора это лишь несколько ускоряет работу оператора. Для программируемого калькулятора появляется дополнительный положительный эффект — сокращение размеров программ; для калькулятора с небольшим объёмом программной памяти сокращение размера программы даже на несколько команд может быть весьма существенным.
В то же время пользование RPN сопряжено с определёнными затруднениями для оператора. Хотя практика показывает, что научиться применять её достаточно просто, для эффективного использования калькулятора с обратной бесскобочной логикой необходима предварительная тренировка и постоянное поддержание навыков машинального перевода вычисляемых выражений из традиционной алгебраической нотации в RPN. Среди обычных инженерных калькуляторов использование RPN являются редкостью; из зарубежных можно назвать несколько моделей фирмы HP, из советских (российских) — единственную модель «Электроника Б3-19М» (в настоящее время не выпускается). Более популярна RPN в программируемых калькуляторах, её поддерживает множество зарубежных моделей, а среди российских (советских) программируемых калькуляторов до 1985 года вообще все поддерживали исключительно RPN; появившиеся позже модели с алгебраической логикой, программируемые на Бейсике, так и не стали массовыми.
Вычисление функций
Реализованные в калькуляторе двухместные функции, такие как вычисление произвольной степени или произвольного корня, выполняются обычно в соответствии с принятой для данного калькулятора логикой выполнения арифметических операций. Для калькуляторов с арифметической или алгебраической логикой это означает, что для вычисления функции пользователь сначала вводит первый её операнд, затем нажимает клавишу функции, после чего вводит второй операнд и нажимает клавишу «=». На калькуляторе с обратной бесскобочной логикой операнды сначала вводятся последовательно, через клавишу ввода, после чего нажимается клавиша вычисления функции.
А вот вычисление одноместных функций, независимо от логики арифметических вычислений, чаще всего реализуется по постфиксной схеме, то есть для вычисления такой функции пользователь сначала вводит (или вычисляет) аргумент, после чего просто нажимает клавишу нужной функции, и результат вычисления данной функции от ранее введённого аргумента отображается на дисплее. Лишь наиболее сложные калькуляторы с алгебраической логикой позволяют вводить вызовов функций в естественном (алгебраическом) виде: сначала вводится знак функции, после него, в скобках — значение или выражение, от которого эта функция должна быть вычислена. Такой порядок ввода данных удобен своей наглядностью, но только при наличии достаточно крупного дисплея, отображающего всю вводимую формулу или хотя бы заметную её часть.
Программирование калькуляторов
Параметры
Программируемый калькулятор обладает, помимо всех качеств сложного инженерного калькулятора, функциями ввода, редактирования и выполнения программ, то есть так или иначе описанных последовательностей вычислений, которые, будучи однажды введены, могут многократно повторно использоваться. В связи с этим к числу значимых параметров калькулятора, помимо логики вычислений, числа регистров памяти, набора поддерживаемых функций и возможностей отображения добавляются такие параметры, как:
- Объём программной памяти, который может измеряться в байтах, командах или операторах языка программирования. Объём программной памяти ограничивает максимальный размер исполняемой программы, определяя тем самым пределы возможностей калькулятора. Во многих современных программируемых калькуляторах оперативная память, как и в обычных компьютерах с архитектурой фон Неймана, изначально едина и не делится на память данных (регистры памяти) и память программ. Разделение памяти на регистровую и программную производится отдельной командой, что даёт возможность более гибкого её использования.
- Способ программирования определяется языком, на котором составляются программы (см. ниже).
- Технические ограничения программ, связанные с особенностями реализации командного языка и схемотехники калькулятора. Например, количество подпрограмм, которые могут быть вложены друг в друга, наличие или отсутствие косвенной адресации в командном языке.
- Сохранение содержимого памяти при выключении калькулятора и наличие устройств для оперативного ввода/вывода программ, например, электронных карт. Для программируемых калькуляторов эта особенность является крайне важной, так как она определяет возможность оперативного использования калькулятора в нужный момент при наличии заблаговременно введённой и подготовленной к использованию программы. При сбросе содержимого памяти при выключении каждому сеансу работы вынужденно предшествует определённый подготовительный процесс, заключающийся во вводе программы и её проверке.
Режимы работы
Чтобы обеспечить работу с программами, программируемый калькулятор, помимо обычного режима ручных вычислений (того режима, в котором постоянно работают обычные калькуляторы) должен поддерживать ещё, как минимум, два режима работы: режим программирования и режим исполнения программы.
- В режиме программирования нажатия на клавиши приводят не к выполнению вычислений, а к внесению в программную память калькулятора команд (операторов) программы. В зависимости от модели, калькулятор может поддерживать тем или иным способом перемещение по вводимой программе, её просмотр, исправление ошибок ввода программы, редактирование.
- Режим исполнения программы включается по команде запуска программы, которую даёт оператор. В этом режиме калькулятор автоматически выполняет заданную программу над введёнными ранее данными. Выход из режима исполнения происходит либо принудительно, по команде оператора (такое прерывание обычно является аварийным), либо по достижении команды завершения либо приостановки исполнения, находящейся в самой программе.
Дополнительно программируемый калькулятор может поддерживать так или иначе организованный режим пошагового исполнения программы (он может быть совмещён с обычным режимом ручных вычислений). В таком режиме калькулятор по нажатию определённой клавиши на клавиатуре выполняет ровно одну, текущую команду программы и переходит в ручной режим. Пошаговое исполнение предназначено для отладки программ: после выполнения очередной операции или нескольких операций оператор имеет возможность проанализировать состояние калькулятора и убедиться, что исполнение программы происходит именно так, как планировалось, а в случае каких-то ошибок может устранить их, введя вручную правильные данные, и продолжить проверку, с тем чтобы выявить все возможные неисправности и впоследствии исправить их.
Способ программирования
Известно три принципиально различных способа программирования калькуляторов: символьно-кодовый машинный язык, язык высокого уровня и AER.
Символьно-кодовый язык
Программа представляет собой, предельно огрубляя, просто записанную с помощью кодов последовательность нажатий на клавиши калькулятора. Любая клавиша или допустимая комбинация клавиш имеет свой код. Программа записывается в программную память калькулятора в режиме программирования. Оператор вводит её нажатиями клавиш, при этом в память записываются соответствующие коды. В простейших программируемых калькуляторах программа может быть только линейной. В тех местах, где по логике формулы требуется ручной ввод данных, вводится специальная команда; во время исполнения программы калькулятор по этой команде прерывает вычисления, выдаёт приглашение на ввод данных и ждёт, пока оператор введёт требуемое значение. В более мощных калькуляторах, помимо обычных вычислительных операций и команд работы с памятью командный язык содержит специальные команды управления исполнением, то есть команды проверки условий, ветвления, организации циклов, безусловные переходы по адресу или метке, команды постановки символьных меток, обращения к подпрограммам и возврата из подпрограмм. Обязательно в командном языке имеется команда остановки программы (выхода из режима исполнения), по которой калькулятор завершает исполнение программы и останавливается, чтобы отобразить результаты.
AER (Algebraic Expression Reserve)
Оригинальный метод программирования AER был реализован в японском программируемом калькуляторе фирмы Sharp модели EL-5100 и следующих калькуляторах этой серии: EL-5100S, EL-5101, EL-5103, EL-5150, EL-5050, выпускавшихся в конце 1970-х — первой половине 1980-х годов. Он заключается в представлении программы как набора формул. Для каждого требуемого результата вычислений создаётся формула. Для каждой формулы оператор определяет аргументы (обозначаемые символами) и записывает в обычном, алгебраическом виде саму формулу (например, для формулы «f(A,B,C)=0,5·A·B·sin(C)» резервируются переменные A, B, C и вводится сама формула в виде «f() = .5 A B sin C»). Когда оператор нажимает клавишу вычисления формулы, калькулятор сначала самостоятельно запрашивает у пользователя значения аргументов A, B и C, после чего вычисляет введённую формулу. Легко видеть, что возможности собственно программирования (то есть создания программ со сложной логикой) при данном методе ограничены, зато он весьма нагляден, требует минимум времени на изучение и вполне достаточен, если требуется многократное вычисление значений по одним и тем же сложным формулам. Менее очевидным, но тоже существенным положительным качеством логики AER является также меньшее, по сравнению с обычной алгебраической логикой, число нажатий клавиш для ввода одних и тех же формул. Возможности калькулятора с логикой AER ограничиваются максимальным количеством и размером формул и максимально допустимым числом одновременно используемых переменных. У наиболее мощного представителя серии, EL-5150, максимальное количество программируемых формул составило 99 при предельной суммарной длине 1400 знаков, максимальное число используемых переменных — 26.
Широкого распространения логика AER не получила, так как при ограниченных возможностях требовала сложной клавиатуры с большим количеством знаков и сложного алфавитно-цифрового дисплея, которые в период её появления были ещё экзотикой. Тем не менее, некоторые современные программируемые калькуляторы поддерживают близкие к AER методы программирования. Так, например, калькулятор Citizen SRP-325G, помимо программирования на упрощённой версии Basic’а, поддерживает сохранение и исполнение в качестве программ введённых оператором формул. Данный режим очень близок к AER: оператор набирает формулу вычисления с использованием символьных переменных и команду сохранения этой формулы в программной памяти под одним из 10 доступных номеров; впоследствии по команде исполнения программы с данным номером калькулятор автоматически запрашивает у пользователя значения использованных в формуле переменных и вычисляет результат. Допускается даже пропуск операции умножения в формулах, характерный для AER.
Язык высокого уровня
Первые калькуляторы, программируемые на языке высокого уровня, реализовывали ограниченное подмножество языка Бейсик, специально адаптированного под использование в калькуляторе. До настоящего времени калькуляторы, программируемые на ЯВУ, используют либо Basic, либо собственный язык, построенный по его образцу. Среди немногочисленных исключений из этого правила — язык RPL, применяемый на программируемых калькуляторах фирмы Hewlett-Packard. Кроме того, наиболее мощные и сложные из выпускаемых сейчас калькуляторов имеют системы кросс-компиляции, позволяющие компилировать и выполнять в калькуляторе программы на языке Си; впрочем, для подготовки таких программ требуется уже компьютер.
Типы калькуляторов
Простейшие калькуляторы предназначены для выполнения только ординарных арифметических расчётов в быту и младшей школе. Имеют небольшие размеры и вес, обычно не более одного регистра памяти и минимальное число функций (как правило, только арифметические операции и, возможно, одна-две функции, такие как извлечение квадратного корня, обратная функция, смена знака или вычисление процентов). Реализуют простейшую арифметическую логику.
Бухгалтерские калькуляторы ориентированы на профессиональные арифметические расчёты с денежными суммами, то есть на применение бухгалтерами и кассирами. Обычно выпускаются в настольном исполнении, имеют корпус с крупными клавишами и дисплеем большого размера. Клавиатура может дополнительно содержать клавиши для более удобного ввода денежных сумм (кнопки «00» и «000»), поддерживается большее, чем в научных и инженерных калькуляторах, число знаков (индикатор вмещает до 12-15 цифр), режимы работы с фиксированным количеством разрядов дробной части и автоматическое округление). Обычно имеют не более одного-двух регистров памяти, но поддерживают арифметические операции с записью в регистр и вычисление процентов. Как правило, не имеют на клавиатуре кнопок двойного/тройного назначения. Реализуют арифметическую логику. Дополнительно часто поддерживают все или некоторые специальные «бухгалтерские» функции:
«Check&Correct» («проверка и коррекция»): калькулятор запоминает цепочку выполняемых операций, позволяя впоследствии просмотреть её, при необходимости внести изменения и автоматически повторить все вычисления с новым значением некоторых промежуточных данных.
«Cost-Sell-Margin» («продажа-покупка-прибыль»): вычисляет себестоимость, продажную цену или маржу, зная остальные два параметра.
«Mark-Up / Mark-Down» («продажная цена и себестоимость»): вычисляет надбавку к цене.
«VAT» и «VAT-II» («налог на добавленную стоимость»): позволяет нажатием одной кнопки добавлять/убирать из цены величину налога на добавленную стоимость, соответственно, по одной или одной из двух ставок.
«GT» («Grand Total function», «общий итог»): автоматическое вычисление итоговой суммы по всем произведённым вычислениям (выдача суммы всех значений, которые калькулятор вычислил после нажатий клавиши «=» с момента сброса).
«Currency Conversion» («конвертация валюты»).
Инженерные (англ. scientific, изредка употребляется русская калька «_научный калькулятор_»): предназначены для научных и инженерных расчётов различной степени сложности. Ориентированы на научных работников, инженеров, студентов технических специальностей и старших школьников. Работают с представлением чисел в форматах как с фиксированной, так и с плавающей запятой, иногда также позволяют непосредственно оперировать дробями. Реализуют алгебраическую логику, с приоритетами операций и скобками; реже применяется обратная польская запись. Поддерживают вычисление элементарных функций. Обычный минимум: квадрат и квадратный корень, обратная функция, десятичные и натуральные логарифмы и антилогарифмы, прямые и обратные тригонометрические функции; развитые модели реализуют более широкий набор элементарных функций, могут также поддерживать статистические расчёты, переводы мер из одной системы в другую, преобразования углов из системы градус, минута, секунда в десятичные доли градуса и обратно, логические функции, работу в различных системах счисления, тригонометрические расчёты с углами в градусах, радианах и градах. Общее число поддерживаемых функций может составлять до нескольких сотен. Число дополнительных регистров памяти — не менее одного, но может доходить до десятка и более. Из-за большого количества поддерживаемых функций клавиатура инженерных калькуляторов содержит клавиши двойного/тройного назначения; в некоторых моделях на одну кнопку может быть возложено до четырёх функций. Наиболее развитые модели поддерживают не только числовые, но и символьные вычисления.
Финансовые калькуляторы можно рассматривать как подкласс инженерных. Они ориентированы на выполнение финансовых расчетов и поддерживают стандартный минимальный набор математических функций, к которому добавляются операции со сложными процентами и специфические функции, применяемые в банковской сфере и иных финансовых приложениях: расчет аннуитета, перпетуитета, дисконтов, размера выплат по кредитам, приведённого денежного потока и тому подобное. Как правило, реализуют алгебраическую логику с приоритетами операций и скобками.
Программируемые калькуляторы по функциональным возможностям находятся на уровне сложных инженерных калькуляторов, но дополнительно они дают возможность многократно повторять сложные вычисления, создавая и исполняя программы пользователя. Имеют большое количество регистров памяти (10 и более), могут иметь интерфейсы для подключения внешних устройств, персонального компьютера, дополнительных модулей памяти, аппаратных датчиков, исполнительных устройств. По функциональности наиболее развитые программируемые калькуляторы приближаются к простейшим портативным компьютерам, формально отличаясь от них исключительно своей узкой специализацией. Существует несколько способов программирования калькуляторов (см. раздел), в зависимости от модели калькулятор может поддерживать один или два из них.
Графические калькуляторы имеют графический экран и поддерживают команды, которые позволяют отображать графики функций или даже выводить на экран произвольные рисунки. Все графические калькуляторы являются программируемыми.
Некоторые калькуляторы оснащаются встроенным печатающим устройством, которое обеспечивает вывод производимых вычислений, результатов, итогов, графиков на бумажную ленту. В основном эта функция характерна для дорогих бухгалтерских калькуляторов, также она встречается у отдельных моделей программируемых (в том числе графических) калькуляторов.
История
- 150 года до н. э. до 100 годом до н. э.: — прототипом калькулятора можно считать Антикитерский механизм устройство могло выполнять операции сложения, вычитания и деления
- 1643: Суммирующая машина Паскаля — арифметическая машина, изобретённая французским учёным Блезом Паскалем
- 1673: Калькулятор Лейбница — механический калькулятор, изобретённый немецким математиком Готфридом Вильгельмом Лейбницем
- 1961: Начат выпуск первого массового калькулятора — ANITA MK VIII (Англия, на газоразрядных лампах, полная клавиатура для ввода числа + десять клавиш для ввода множителя).
- 1964: Начат выпуск первого массового полностью транзисторного калькулятора — FRIDEN 130 (США, 4 регистра, использовалась «обратная польская нотация»). Начат выпуск первого серийного советского калькулятора «Вега»[1].
- 1965: компания Wang Laboratories выпустила калькулятор Wang LOCI-2, который мог вычислять логарифмы.
- 1967: первый советский калькулятор с вычислением трансцендентных функций «ЭДВМ-П».
- 1969: Выпущен первый настольный программируемый калькулятор — HP 9100A (США, транзисторный, использовалась «обратная польская нотация»).
- 1970: началась продажа калькуляторов, которые можно держать в руке (фирмы Sharp и Canon, вес калькуляторов порядка 800 г). Первый советский калькулятор, выполненный с использованием интегральных микросхем — Искра 111.
- 1971: появился первый карманный калькулятор — модель 901B фирмы Bomwar размером 131×77×37 мм, c 4 операциями и 8-разрядным «красным» индикатором (на светодиодах); цена $240.
- 1972: появился первый инженерный калькулятор — HP-35 фирмы Hewlett Packard;
- 1974: Первый советский микрокалькулятор — «Электроника Б3-04» (впервые использован термин «Микрокалькулятор»).
- 1977: разработан первый советский карманный программируемый микрокалькулятор «Электроника Б3-21».
- 1979: Hewlett Packard выпустила первый калькулятор с алфавитно-цифровым индикатором — HP-41C. Он был программируемым, с возможностью подключения дополнительных модулей — RAM, ROM, устройства чтения штрих-кодов, кассеты с магнитной лентой, флоппи-дисков, принтеров, разъёмов RS-232, HP-IL, HP-IB.
- 1980: появился Б3-34.
- 1985: появились МК-61 и МК-52.
- 1985: появился первый программируемый калькулятор с графическим дисплеем Casio FX-7000G.
- 1985: в крупном издательстве «Наука. Физматлит» вышло первое издание самого массового справочника по расчетам на микрокалькуляторах проф. Дьяконова В. П., тираж всех трех изданий книги составил 1,05 млн экз.
Советские калькуляторы
Советский калькулятор «Электроника МК-52», модуль расширения памяти и руководство по эксплуатации
Если не считать простейшие приспособления для облегчения вычислений в виде обычных русских счет, то первым устройством для автоматизации вычислений в России был арифмометр. Изобретенный в 1874 году арифмометр начал серийно производиться с 1890 года на Санкт-Петербургском механическом заводе. Модель оказалась столь удачной, что почти сто лет производилась с небольшими усовершенствованиями до конца 1970-х годов (модель «Феликс-М»). В 50-х годах XX века было налажено серийное производство электромеханических калькуляторов с электрическим приводом — модели «Быстрица», «ВММ», «ВМП» и др. В 1964-м году разработан и начал серийно производиться первый в СССР полностью электронный калькулятор модели «Вега». Начиная с 1974 года («Электроника Б3-04») производились карманные калькуляторы. В СССР производился широкий спектр программируемых калькуляторов: как настольных («Искра 123», 1972-й год), так и карманных («Электроника Б3-21», 1975-й год). С 1985 года выпускался калькулятор с языком программирования «Бейсик» («Электроника МК-85»). Всего в России/СССР выпускалось более 150 моделей калькуляторов.
Современные программируемые калькуляторы
Современные программируемые калькуляторы обладают графическим экраном; встроенным языком программирования высокого уровня; возможностью связи с PC (обычно для загрузки программ или данных) или с внешними устройствами; системой символьных вычислений, включающей различные манипуляции с выражениями, решение уравнений или их систем, символьное дифференцирование и интегрирование, а часто и решение дифференциальных уравнений в символьном виде; программами для рисования различных двумерных и трёхмерных графиков и диаграмм; операциями линейной алгебры; развитыми средствами статистического анализа данных; пакетом финансовых вычислений; вычислениями с комплексными числами; у многих из них есть возможность программирования на C на компьютере, с последующей кросс-компиляцией и загрузкой кода. Их память обычно составляет 100—400 килобайт ОЗУ и сотни килобайт или даже мегабайты флэш-памяти. Часто используются процессоры с тактовой частотой десятки мегагерц.
Современный программируемый калькулятор
Серии TI-89 и TI-92 фирмы Texas Instruments используют алгебраическую нотацию и версию Бейсика, называемую TI-BASIC. Компилятор с C для PC, а также средства программирования на Ассемблере, созданы любителями этого калькулятора. Большое число программ, в частности игр, написано разными авторами. Разница между двумя сериями заключается в дизайне: калькуляторы серии TI-92 обладают клавиатурой QWERTY и большим экраном, соответственно они не карманные. Недостатком является отсутствие отпечатанного руководства (в США они продаются с таким руководством). Для большинства руководство доступно только на CD-ROM и в интернете. Кроме того, кабель для связи с PC надо покупать за дополнительную плату. Калькуляторы используют процессор 68000 с тактовой частотой 12 МГц (10 МГц для некоторых старых экземпляров старых моделей). Другие параметры этих калькуляторов приведены в таблице.
объём доступногопользователю ОЗУ | объём доступнойпользователю флэш-памяти | дисплей | год выпуска | |
---|---|---|---|---|
TI-89 | 188K | 384K | 160×100 | 1998 |
TI-89 Titanium | 188K | 2.7M | 160×100 | 2004 |
TI-92 | 68K | нет | 240×128 | 1995 |
TI-92 Plus | 188K | 384K | 240×128 | 1998 |
Voyage 200 | 188K | 2.7M | 240×128 | 2000 |
В настоящее время производятся только TI-89 Titanium и Voyage 200. Из младших моделей особенно популярен TI-83 Plus.
Серия HP-49G (к которой относятся калькуляторы HP-49G, HP-49G+, а также HP-48GII и HP 50g) фирмы Hewlett-Packard использует быстрые процессоры ARM9, имеет развитую систему алгебраической (символьной) математики, обратную польскую нотацию и язык RPL (Reverse Polish Lisp). По своим возможностям эти калькуляторы ещё более продвинуты, чем TI-89/92. Однако, по отзывам пользователей, эти калькуляторы, изготовляемые в Китае, страдают от проблем чисто механического свойства: корпус пластиковый, клавиши резиновые, а главное, быстро (часто за несколько месяцев) выходят из строя. Фирма присылает новый калькулятор, но и там клавиши так же быстро ломаются. Что касается руководства, то оно отрывочно: многих сведений там просто нет. Руководство на 800 страниц выложено на сайт в электронном виде, но оно не полно и не переведено с английского языка.
Предыдущая серия, HP-48G, отличалась гораздо более высоким качеством клавиатуры и сборки, но калькуляторы этой серии больше не производятся. Частично указанные недостатки исправлены в модели HP 50g. Как и для TI-89/92, для HP-49G существует и компилятор Си, и масса игр и других программ. Параметры этих калькуляторов приведены в таблице.
объём доступногопользователю ОЗУ | объём доступнойпользователю флэш-памяти | дисплей | процессор | год выпуска | |
---|---|---|---|---|---|
HP-48GII | 80.7K | нет | 131×64 | Arm9 48 MHz | 2004 |
HP-49G | 330K | 500K | 131×64 | Saturn 4 MHz | 2000 |
HP-49G+ | 330K | 500K | 131×80 | Arm 75 MHz | 2003 |
Фирма Casio тоже выпускает программируемые калькуляторы, в том числе цветные графические, а также с вводом информации при помощи стилуса (ClassPad 300 Plus), хотя и менее продвинутые, чем HP или TI.
Ещё более слабые калькуляторы выпускает фирма Sharp. Они обладают памятью до 30К и только базовыми возможностями — в частности, нет символьных вычислений. Вместе с тем, Sharp выпускает единственные калькуляторы с сенсорным экраном, как у КПК. Другая интересная модель — Sharp IQ-7000, представляющая собой органайзер со съёмной картой, содержащей интерпретатор с Бейсика.
Программируемые калькуляторы, в том числе графические, выпускает также Citizen. Некоторые модели (Citizen SRP-320G) считают с ошибками — например, arcsin(arccos(arctg(tg(cos(sin(9°)))))) вычисляется неправильно.
Программы-калькуляторы
Кроме производимых устройств-калькуляторов существуют также компьютерные программы-калькуляторы. Такие программы представляют собой специализированный программный продукт, предназначенный для узкого круга вычислений, например:
- Статистические калькуляторы предназначены для выполнения различных расчетов, необходимых при обработке больших массивов данных — результатов социологических опросов, научных исследований и тому подобное. Имеют средства для быстрого вычисления распределений, отклонений, корреляций, средних значений и так далее. Большинство инженерных калькуляторов также поддерживают важнейшие статистические функции.
- Медицинские калькуляторы используются врачами, фармацевтами, медсёстрами, студентами-медиками. Могут быть реализованы как в виде отдельного устройства, планшета для обхода больных, так и в виде программы универсального компьютера/КПК. Реализуют функции медицинского справочника, обеспечивают медицинские расчеты со справочным материалом, расчет дозировки лекарств, доступ к базам данных лечебного учреждения и так далее.
- Калькулятор беременности — рассчитывает срок беременности и её ход при помощи календаря.
- Калькулятор калорий - рассчитывают калорийность отдельных блюд и помогают следить за соблюдением калорийности диеты.
- Ипотечный калькулятор — для расчёта банковских займов.
- Покерный калькулятор — для расчёта шансов на победу покерных комбинаций.
- Металлопрокатный калькулятор ориентирован на металлопрокат. Позволяет рассчитывать вес проката в зависимости от размеров, материала и другое.
- другие типы программ-калькуляторов: калькулятор вкладов, курсов валют, НДС, ОСАГО и т. д.
Эмуляторы калькуляторов
Calculator.NET: один из свободных эмуляторов простейшего калькулятора
Распространённое компьютерное приложение — программа, рисующая на экране калькулятор с кнопками, которые можно нажимать мышкой (как правило, можно также нажимать цифровые кнопки на клавиатуре с тем же эффектом). Такая программа удобна для тех, кто привык работать с обычным калькулятором. Эмуляторы калькуляторов существуют для большинства известных типов операционных систем и, как правило, входят в стандартный набор поставляемых с системой утилит, как, например, известная программа-калькулятор Microsoft Windows из набора стандартных программ ОС Windows.
Некоторые такие программы специально делаются для эмуляции (или симуляции) конкретной модели калькулятора, воспроизводя его внешний вид и все функции (в том числе и свойственные ему ошибки). При эмуляции калькулятора производится полное копирование функций калькулятора (используются коды прошивки калькулятора), при симуляции — только приблизительное повторение функций. Эмулятор может быть частью системы разработки ПО для калькулятора. Так, например, для калькуляторов семейства HP 50g, одного из мощнейших программируемых калькуляторов, имеющихся на рынке, свободно доступна среда разработки, включающая эмулятор и отладчик, работающие под управлением Windows.
Другой подход к реализации калькуляторов в компьютере — ввод выражений в командной строке (например, bc). Такие калькуляторы ещё называют строчными. В целом это удобнее, поскольку можно вводить сложные выражения и при необходимости вызывать их повторно (с модификацией или без), а также видеть историю вычислений.
Наконец надо отметить, что на компьютерах можно применять системы компьютерной математики Derive, MuPAD, Mathcad, Mathematica, Maple, MATLAB и другие. Многие в командном режиме работы являются в сущности сверхмощными калькуляторами. Их возможности неизмеримо больше чем у обычных и даже научных микрокалькуляторов. Но, они куда дороже, сложнее в применении и требуют дорогого компьютера. Их нельзя поместить в карман и использовать с автономным питанием длительное время. Некоторые системы, например Maple, имеют эмулятор калькулятора с прекрасным графическим интерфейсом и возможностями выполнения не только численных, но и символьных (формульных) вычислений с графической визуализацией вычислений. Наиболее полное описание их возможностей дано в многочисленных книгах профессора Дьяконова В. П. и др. авторов.
См. также
Примечания
Литература
- Дьяконов В. П. Расчет нелинейных и импульсных устройств на программируемых микрокалькуляторах. Справочное пособие. М.: Радио и связь. — 1984. — 170 с.
- Дьяконов В. П. Справочник по расчетам на микрокалькуляторах. Издание 3-е дополненное и переработанное. М.: Наука. Физматлит. — 1989. — 464 с.
- Дьяконов В. П. Современные зарубежные микрокалькуляторы. М.: СОЛОН-Р. — 2002. — 400 с.
- Я. К. Трохименко, В. П. Захаров, Н. П. Ромашко, В. А. Жижко, Ю.М. Польский. Программируемые микрокалькуляторы: устройство и использование. — Москва: Радио и связь, 1990. — 272 с. — 40 000 экз. — ISBN 5-256-00318-6
Ссылки
Калькулятор на Викискладе? |
---|
Советские и российские калькуляторы
- Коллекция отечественных калькуляторов
- Программа-эмулятор большого количества советских калькуляторов
- База знаний по программируемым микрокалькуляторам и МК-152 в частности. Новости, статьи, программы, форум…
- Сайт российского производителя калькулятора МК-152 (выпускается на данный момент)
- Онлайн-калькуляторы
Калькуляторы других стран
- Programmable calculators (англ.)
- Calculator Museum (англ.)
- Программируемые калькуляторы
- The Museum of HP Calculators (англ.)
Классы компьютеров | |
---|---|
По выполняемым задачам | Универсальные • Специализированные |
По представлению данных | Аналоговые • Гибридные • Цифровые |
По системе исчисления | Двоичные • Троичные • Десятичные |
По рабочей среде | Квантовый • Оптический • Электронный • Биокомпьютер • Механический (Пневматический • Гидравлический) |
По назначению | Настольный (Сервер • Рабочая станция • Персональный • Домашний • Моноблок • Игровая приставка • Медиацентр) • Интернет-устройство (Нетбук • Интернет-планшет • Планшетный нетбук • Неттоп) • Консольный компьютер |
Суперкомпьютеры | Мини (Супермини) • Персональный • Мейнфрейм |
Малые и мобильные | Микро • Мобильное интернет-устройство • КПК • Ноутбук • Субноутбук (Ультрабук • Нетбук • Смартбук) • Планшетный (Интернет-планшет) • Электронная книга • Смартфон • Handheld PC • Slate PC • UMPC • Портативная игровая система • Терминал (Мобильный) • Носимый • Электронный переводчик • Калькулятор |
Другие | Умная пыль • Нанокомпьютер |