Калькулятор

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Современный инженерный калькулятор

Калькуля́тор (лат. calculātor «счётчик») — электронное вычислительное устройство для выполнения операций над числами или алгебраическими формулами.

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

В зависимости от возможностей и целевой сферы применения калькуляторы делятся на простейшие, бухгалтерские, инженерные (научные), финансовые. В отдельные классы обычно выделяют программируемые калькуляторы, дающие возможность выполнения сложных вычислений по предварительно заложенной программе, а также графические — поддерживающие построение и отображение графиков. Специализированные калькуляторы предназначены для выполнения вычислений в достаточно узкой сфере (финансовые, строительные и т. п.)

По исполнению калькуляторы могут быть настольными или компактными (карманными). Отдельные модели имеют интерфейсы для подключения персонального компьютера, печатающего устройства, внешнего модуля памяти или иных внешних устройств. Современные персональные компьютеры, сотовые телефоны, КПК и даже наручные часы могут иметь программы, выполняющие функции калькулятора.

Термином "калькулятор" также называются специализированные программы, встраиваемые в веб-сайты (например, "калькулятор калорий", "калькулятор размеров одежды" и пр.) или в бытовую технику (например, простой медицинский калькулятор может встраиваться в спортивный тренажёр).

Этимология[править | править код]

Латинское слово calculator «счётчик, счетовод» происходит от глагола calculo «считаю, подсчитываю», который, в свою очередь, происходит от слова calculus «камешек» (камешки использовались для счёта); calculus же является уменьшительным от calx «известь».

В Советском Союзе для обозначения малогабаритного электронного вычислительного устройства использовался термин «микрокалькулятор», впервые применённый в 1974 году для микрокалькулятора «Электроника Б3-04». Просто «калькуляторами» называли бо́льшие по размеру настольные вычислительные устройства. И настольные, и микрокалькуляторы официально назывались «ЭКВМ» (сокр. «электронные клавишные вычислительные машины»)[1]. В настоящее время термин «калькулятор» используется как для настольных, так и для карманных калькуляторов, но по отношению к тем же устройствам может употребляться и термин «микрокалькулятор», так что эти термины можно считать синонимами.

Типы калькуляторов[править | править код]

Современный программируемый калькулятор
  • Простейшие калькуляторы предназначены для выполнения только ординарных арифметических расчётов. Имеют небольшие размеры и вес, обычно не более одного дополнительного регистра памяти и минимальное число функций (как правило, только арифметические операции и, возможно, одна-две функции, такие, как извлечение квадратного корня, обратная функция, смена знака или вычисление процентов). Не поддерживают представление чисел с плавающей запятой. Как правило, имеют 8-разрядный семисегментный индикатор, диапазон представляемых чисел: от ±10−7 до ±(108−1);
  • Инженерные (англ. scientific, изредка употребляется русская калька «научный калькулятор»): предназначены для научных и инженерных расчётов различной степени сложности. Ориентированы на научных работников, инженеров, студентов технических специальностей и старших школьников.
Работают с представлением чисел в форматах как с естественной, так и с плавающей запятой (во втором случае порядок обычно имеет два, реже — три разряда, мантисса — не менее восьми разрядов, так что максимальный диапазон поддерживаемых ненулевых значений — от 1·10−999 до 9,999999999·10999 по модулю), многие современные конструкции также позволяют непосредственно оперировать обыкновенными дробями, в том числе выполнять с ними операции, преобразовывать обыкновенные дроби из правильных в неправильные и обратно, обыкновенные дроби в десятичные и обратно.
Реализуют алгебраическую логику, с приоритетами операций и скобками; реже применяется обратная польская запись. Поддерживают вычисление элементарных функций. Обычный минимум: квадрат и квадратный корень, обратная функция, десятичные и натуральные логарифмы и антилогарифмы, прямые и обратные тригонометрические функции; развитые модели реализуют более широкий набор элементарных функций, могут также поддерживать статистические расчёты, переводы мер из одной системы в другую, преобразования углов из системы градус, минута, секунда в десятичные доли градуса и обратно, логические функции, работу в различных системах счисления, тригонометрические расчёты с углами в градусах, радианах и градах. Общее число поддерживаемых функций может составлять до нескольких сотен.
Число дополнительных регистров памяти — не менее одного, но может доходить до десятка и более. Из-за большого количества поддерживаемых функций клавиатура инженерных калькуляторов содержит клавиши двойного/тройного назначения; в некоторых моделях на одну кнопку может быть возложено до четырёх функций. Наиболее развитые модели поддерживают не только числовые, но и символьные вычисления.
  • Бухгалтерские калькуляторы ориентированы на профессиональные арифметические расчёты с денежными суммами, то есть на применение бухгалтерами и кассирами. Обычно выпускаются в настольном исполнении, имеют корпус с крупными клавишами и дисплеем большого размера. Клавиатура может дополнительно содержать клавиши для более удобного ввода денежных сумм (кнопки «00» и «000»), поддерживается большее, чем в инженерных калькуляторах, число знаков (индикатор вмещает до 12—15 цифр), режимы работы с фиксированным количеством разрядов дробной части и автоматическое округление). Обычно имеют не более одного-двух регистров памяти, но поддерживают арифметические операции с записью в регистр и вычисление процентов. Как правило, не имеют на клавиатуре кнопок двойного/тройного назначения. Реализуют арифметическую логику: операции сложения и вычитания нажимаются после ввода числа, но функции умножения и деления производятся в обычной форме.
Дополнительно часто поддерживают все или некоторые специальные «бухгалтерские» функции:
  • «Check&Correct» («проверка и коррекция»): калькулятор запоминает цепочку выполняемых операций, позволяя впоследствии просмотреть её, при необходимости внести изменения и автоматически повторить все вычисления с новым значением некоторых промежуточных данных.
  • «Cost-Sell-Margin» («стоимость-продажа-прибыль»): вычисляет себестоимость, продажную цену или прибыль, зная остальные два параметра.
  • «MU», «Mark-Up» / «Mark-Down» («продажная цена и себестоимость»): вычисляет надбавку к цене.
  • «VAT» и «VAT-II» («налог на добавленную стоимость»): позволяет нажатием одной кнопки добавлять/убирать из цены величину налога на добавленную стоимость, соответственно, по одной или одной из двух ставок.
  • «GT» («Grand Total function», «общий итог»): автоматическое вычисление итоговой суммы по всем произведённым вычислениям (выдача суммы всех значений, которые калькулятор вычислил после нажатий клавиши «=» с момента сброса).
  • «Currency Conversion» («конвертация валюты»).
  • «RATE» / «-TAX» / «+TAX»: вычисление налогов (НДС)[2]
  • Финансовые ориентированы на выполнение финансовых расчетов и поддерживают стандартный минимальный набор математических функций, к которому добавляются операции со сложными процентами и специфические функции, применяемые в банковской сфере и иных финансовых приложениях: расчет аннуитета, перпетуитета, дисконтов, размера выплат по кредитам, приведённого денежного потока и тому подобное. Как правило, реализуют алгебраическую логику с приоритетами операций и скобками.
  • Программируемые калькуляторы по функциональным возможностям находятся на уровне сложных инженерных калькуляторов, но дополнительно они дают возможность многократно повторять вычисления, создавая и исполняя программы пользователя. Как правило имеют большое количество регистров памяти (10 и более), могут иметь интерфейсы для подключения внешних устройств, персонального компьютера, дополнительных модулей памяти, аппаратных датчиков, исполнительных устройств. По функциональности наиболее развитые программируемые калькуляторы приближаются к простейшим портативным компьютерам, формально отличаясь от них исключительно своей узкой специализацией. Существует несколько способов программирования калькуляторов (см. статью), в зависимости от модели калькулятор может поддерживать один или два из них.
  • Графические калькуляторы имеют графический экран и поддерживают команды, которые позволяют отображать графики функций или даже выводить на экран произвольные рисунки. Почти все графические калькуляторы являются программируемыми[3]. Графический дисплей может также иметь обычный инженерный калькулятор для поддержки натурального ввода формул и отображения таблиц, но он не называется графическим калькулятором.
  • Печатающие калькуляторы, оснащённые встроенным печатающим устройством, обеспечивающим вывод производимых вычислений, результатов, итогов, графиков на бумажную ленту. Выделяются в отдельный класс в маркетинговых материалах и рыночной аналитике[4], хотя с технической точки зрения в этом выделении нет особого смысла. Современные печатающие калькуляторы по конструкции и вычислительным возможностям обычно относятся к классу бухгалтерских. Ранее со встроенными печатающими устройствами выпускались некоторые инженерные и программируемые калькуляторы, но современные модели этих типов чаще просто имеют интерфейс для подключения внешнего печатающего устройства.
  • Специализированные калькуляторы — калькуляторы или программно-аппаратные комплексы, предназначенные для выполнения узкоспециализированных вычислений. Например, штурманский калькулятор для навигационных вычислений, калькулятор для расчета конструкций зданий и сооружений (Construction Master[5]) и т. п.

История[править | править код]

Casio 14-A (1957 год). Весь стол на фото — это и есть калькулятор: сверху дисплей и клавиатура, основная схема вмонтирована в стол.

Историю вычислительных машин, в том числе и калькуляторов, традиционно начинают с суммирующей машины Паскаля, созданной в 1643 году Блезом Паскалем, и арифмометра Лейбница изобретённого в 1673 году немецким математиком Готфридом Вильгельмом Лейбницем. Массовый выпуск механических устройств автоматизации счёта начался в конце XIX века: суммирующие машины, табуляторы и арифмометры стали реальным подспорьем в бухгалтерии, статистике и инженерных расчётах.

Настольный электронный калькулятор Friden model 132 (1965 год).

Электронные клавишные вычислительные устройства были созданы в 1950-х годах с использованием сначала реле, а затем полупроводниковых компонентов. Первые такие приборы были размером с мебельную тумбу и весили более сотни килограммов. Так, в 1957 компанией Casio был выпущен один из первых серийных калькуляторов 14-А[6]. Он выполнял четыре действия арифметики над 14-разрядными десятичными числами. Конструкция использовала реле, весила 140 кг и была выполнена в виде стола с тумбой-вычислительным блоком, клавиатурой и дисплеем, при работе потребляла 300 Вт[7].

Программируемый калькулятор на дискретных полупроводниках HP 9100A.

В 1961 в Великобритании начат выпуск первого массового полностью электронного калькулятора ANITA MK VIII с 11-разрядным индикатором на газоразрядных лампах, полной клавиатурой для ввода числа + десять клавиш для ввода множителя. В СССР в 1964 году выпущен первый отечественный серийный электронный калькулятор «Вега»[8], в США в том же году появился массовый полностью транзисторный калькулятор FRIDEN 130 (4 регистра, обратная польская нотация).

Полупроводниковые калькуляторы быстро усложнялись. В 1965 году компания Wang Laboratories выпустила калькулятор Wang LOCI-2, который мог вычислять логарифмы, Casio представила первый калькулятор со встроенной памятью «Casio 001» (размеры 37×48×25 см, вес 17кг), а Olivetti выпустила «Programma 101» — первый калькулятор, который мог сохранять программу и многократно выполнять вычисления по ней. В 1967 году свой настольный программируемый калькулятор AL-1000 представила Casio, а в СССР начался выпуск «ЭДВМ-П» — калькулятора с вычислением трансцендентных функций. Наконец, в 1969 году Hewlett-Packard выпустила настольный программируемый калькулятор для научно-технических расчётов HP 9100A. Он имел 16 дополнительных регистров памяти, 192 шага программы, вычислял одной командой все основные математические функции и позволял писать программы со сложной логикой, к нему можно было подключать устройство хранения данных и принтер. Калькулятор помещался на столе и весил около 18 кг. HP 9100A и его расширенная версия HP 9100B были, вероятно, наиболее совершенными калькуляторами, выполненными на дискретных полупроводниковых элементах.

Карманный калькулятор CRAIG (Bomwar 901B)

Калькуляторы современного вида, то есть малогабаритные карманные или настольные, начали выпускаться с 1970 года, когда промышленность освоила выпуск интегральных микросхем, резко сокративших размеры и массу электронных приборов и снизивших их энергопотребление до уровня, позволяющего калькулятору работать от комплекта батарей хотя бы в течение нескольких часов. В 1970 году Sharp и Canon начали продажи калькуляторов, которые можно было держать в руке (весом порядка 800 г). В 1971 появился первый действительно карманный (131×77×37 мм) калькулятор 901B фирмы Bomwar; он выполнял 4 арифметические операции, имел дисплей на светодиодах и стоил 240 долларов.

Hewlet-Packard HP-35 (1972 год)

В 1972 году Hewlett Packard выпустила HP-35 — первый карманный калькулятор для инженерных расчётов, поддерживающий вычисление прямых и обратных тригонометрических функций, логарифмов и антилогарифмов, извлечение корня и возведение в произвольную степень; использовалась логика RPN с четырьмя операционными регистрами, имелся дополнительный регистр памяти. Модель была очень популярной, за 3,5 года было продано более 300000 экземпляров при цене 395 USD (около 2366 USD в ценах 2018 года). HP-35 стал родоначальником целого семейства калькуляторов Hewlett Packard использующих RPN, и вошёл в поддерживаемый IEEE «IEEE milestones» — список исторически значимых изобретений и устройств в области электротехники и электроники. В 2007 году специально в память об этой модели фирма выпустила калькулятор под названием «HP-35s» — неграфический инженерный программируемый калькулятор с логикой RPN, сохранивший, насколько это возможно, общую компоновку HP-35 и имеющий с ним определённое сходство.

Hewlet-Packard HP-35s (2007 год)

В 1973 году в продаже появился калькулятор Sharp EL-805, в котором впервые был использован ЖК-дисплей, в 1978 — карманный калькулятор Casio Mini card (толщина 3.9 мм). В 1979 Hewlett Packard выпустила первый калькулятор с алфавитно-цифровым индикатором — HP-41C, программируемый, с возможностью подключения дополнительных модулей — RAM, ROM, устройства чтения штрих-кодов, кассеты с магнитной лентой, флоппи-дисков, принтеров и др. В 1985 появился первый программируемый калькулятор с графическим дисплеем Casio FX-7000G.

В целом во вторую половину 1980-х годов и последующее десятилетие происходил процесс удешевления калькуляторов и снижения их энергопотребления. Значительно увеличился срок автономной работы калькуляторов. Питание от солнечных батарей и ЖК-дисплеи из экзотики перешли в разряд ординарного оборудования, одновременно практически исчезли из употребления калькуляторы со светодиодными индикаторами (за исключением отдельных настольных моделей).

Несмотря на широкое распространение компьютеров, в том числе портативных, а также гаджетов, имеющих большую вычислительную мощность (смартфоны, планшеты, мини-ноутбуки, даже часы), калькуляторы и в XXI веке продолжают оставаться востребованными на рынке. При этом нередко можно наблюдать ситуацию, когда пользователь, работающий за мощным компьютером, держит на столе калькулятор и периодически обращается к нему. Аналитики сообщают, что одновременно с распространением гаджетов, теоретически способных заменить калькулятор, снижается спрос лишь на простейшие карманные калькуляторы, которые используются для эпизодических бытовых расчётов.[4] Преимуществом «настоящих» калькуляторов продолжает оставаться эргономика, разработанная под конкретное применение, простота обращения, минимум необходимых сервисных операций, портативность и большой срок автономной работы.

Функциональность калькуляторов изменилась с конца XX века не слишком сильно, хотя прогресс сказывается и на них. Принципиальным новшеством стало снабжение топовых моделей научных калькуляторов системами символьной алгебры. Появление дешёвых ЖК-дисплеев с достаточно высоким разрешением привело к появлению нового класса калькуляторов — графических. За счёт роста производительности и удешевления электронных компонентов выросла скорость вычислений и объём памяти, соответственно, усложнились используемые языки программирования и увеличились возможности программируемых калькуляторов. Семисегментные индикаторы постепенно уступают место полноценным графическим дисплеям даже у обычных научных калькуляторов (что позволяет более естественно отображать формулы и результаты вычислений). В последние годы у инженерных калькуляторов появились цветные ЖК-дисплеи высокого разрешения и сенсорные экраны.

В России/СССР[править | править код]

«Электроника Б3-18М»

Если не считать простейшие приспособления для облегчения вычислений в виде обычных русских счётов, то первым массово производимым устройством для автоматизации вычислений в России был арифмометр Однера. Изобретённый в 1874 году арифмометр начал серийно производиться с 1890 года на Санкт-Петербургском механическом заводе. Модель оказалась столь удачной, что девяносто лет, до конца 1970-х, производилась лишь с небольшими усовершенствованиями (модель «Феликс-М»).

В 1950-х годах в СССР было налажено серийное производство электромеханических калькуляторов с электрическим приводом — модели «Быстрица», «ВММ», «ВМП» и др. В 1964 году разработан и начал серийно производиться первый в СССР полностью электронный настольный калькулятор «Вега», в котором использовались дискретные полупроводники и память на ферритовых элементах[9]

Первый советский калькулятор, выполненный с использованием микросхем — Искра 111Т. Программируемые калькуляторы начали производиться в 1972 году с настольной «Искра 123». В 1974 году был выпущен первый карманный калькулятор — «Электроника Б3-04»; именно в связи с ним впервые был использован термин «микрокалькулятор». Первым массовым советским инженерным калькулятором стала Электроника Б3-18: поступив в продажу в 1976 году она впоследствии была дважды модифицирована (Б3-18А и и Б3-18М) и производилась до середины 1980-х. Со второй половины 1970-х в СССР было освоено производство калькуляторов всех типов и назначений; общее число типов советских калькуляторов порядка сотни, среди них имеются как аналоги западных моделей, так и полностью собственные разработки.

«Электроника МК-52», модуль расширения памяти и руководство по эксплуатации

Первым карманным программируемым калькулятором в СССР была «Электроника Б3-21» выпускавшаяся с 1977 года; использовала логику RPN с двумя операционными регистрами, память на 13 регистров и 60 шагов программы. Калькулятор стал родоначальником серии, куда вошли, кроме него, настольные калькуляторы МК-46, МК-64, MC-1103, совместимые по архитектуре и системе команд, с дополнительными возможностями — могли работать в качестве средства контроля производственного процесса, для чего имели систему ввода с измерителем напряжения на 8 каналов и дополнительный индикатор для отображения отклонения измеренного значения от вычисленного.

В 1979 году появился программируемый калькулятор Б3-34, выпускавшийся в корпусе, аналогичном Б3-21, но существенно превосходящий его по возможностям и несовместимый по системе команд. Позже появился его функциональные аналог МК-54, в котором были использованы бескорпусные микросхемы, за счёт чего уменьшен размер, масса, снижена цена. МК-56 — настольное исполнение МК-54. Все три модели полностью программно-совместимы, для них было выпущено несколько широко известных справочников с программами научно-технических вычислений, а также серии статей в популярных журналах «Техника-молодёжи» и «Наука и жизнь», обучающие программированию, описывающие особенности калькуляторов и содержащие примеры программ, от технических до игровых. В 1985 году появились две новые модели того же ряда, МК-61 и МК-52, с расширенным набором функций и увеличенной памятью. МК-52 позволял подключать блок дополнительной памяти для хранения программ и данных и библиотеку программ. В 1985 году в издательстве «Наука. Физматлит» вышло первое издание самого массового в СССР справочника по расчетам на микрокалькуляторах проф. Дьяконова В. П., тираж всех трёх изданий книги составил 1,05 млн экз.

С 1986 года выпускался калькулятор «Электроника МК-85» (модификация — МК-85М), программируемый на языке «Бейсик». Объём выпуска был небольшим, так что массовой эта модель не стала. После распада СССР собственное производство калькуляторов в России полностью прекращено и до настоящего момента не восстановилось. За буквально единичными исключениями (например, выпускаемый единичными экземплярами МК-161), все калькуляторы на российском рынке — иностранного производства[4].

Конструкция[править | править код]

Типичный калькулятор имеет дисплей (индикатор), клавиатуру, изготовленные в едином корпусе, в котором помещается также электронная схема калькулятора и элементы питания.

Современный инженерный непрограммируемый калькулятор. Двойное питание, алфавитно-цифровой ЖК-дисплей, клавиатура тройного назначения. Поддерживает 274 функции.

Дисплей[править | править код]

В качестве дисплея в современных калькуляторах применяются, в основном, индикаторы на жидких кристаллах (ЖКИ). Профессиональные бухгалтерские калькуляторы исполняются как с ЖКИ, так и с вакуумно-люминесцентным индикатором (последний потребляет гораздо больше электроэнергии, зато он хорошо виден при слабом внешнем освещении).

В зависимости от назначения калькулятора информация отображается на следующих типах индикаторов:

  • на цифровом семисегментном (простейшие модели);
  • специализированном матричном для вывода цифровых и нецифровых символов;
  • графическом (построение графиков, вывод формул в алгебраическом виде, таблиц и т. п.)

Клавиатура[править | править код]

Клавиатура калькуляторов содержит клавиши (кнопки), нажатие которых обеспечивает ввод чисел и выполнение операций и функций. Клавиатура содержит как минимум следующие клавиши:

  • Цифровые — десять клавиш с арабскими цифрами от 0 до 9, для ввода чисел. Возможно также использование в сложных командах. Традиционно клавиши 1-9 располагаются квадратом 3x3, единица — слева внизу, девятка — справа вверху, нуль — отдельно, под единицей (то же расположение, что на дополнительном правом цифровом поле компьютерной клавиатуры).
  • Десятичная запятая (точка) — для ввода десятичного разделителя.
  • Арифметические операции — для ввода операций «+» (сложение), «-» (вычитание), «×» (умножение), «÷» (деление).
  • Знак равенства «=» — для выполнения последней операции в цепочных вычислениях в калькуляторах с арифметической или алгебраической логикой.
  • Ввод («↑» или «ENTER» или «В↑» или «E↑») — для завершения ввода числа в калькуляторах с обратной польской записью.
  • Очистка (обозначается «C», обычно красного цвета) — для обнуления значения на индикаторе и отмены операции, если таковая была введена.

Помимо перечисленных обязательных клавиш, калькулятор может содержать (и обычно содержит) большее или меньшее количество клавиш вычисления функций, работы с регистрами памяти, управления порядком вычислений. Нажатие на такие клавиши приводит к выполнению соответствующей операции или вычислению функции, обозначенной на ней, от числа, отображаемого на индикаторе калькулятора. Состав поддерживаемых функций определяется моделью калькулятора. Калькуляторы с алгебраической логикой вычислений имеют также клавиши скобок.

В простейших калькуляторах одной клавише соответствует одна функция. При росте числа поддерживаемых функций клавиатура начинает недопустимо разрастаться, поэтому в инженерных калькуляторах, поддерживающих от десятков до сотен функций, клавиатура или её часть работает в совмещённом режиме: одной клавише соответствует две или более функции, одно из обозначений наносится на саму клавишу, второе — над ней (иногда третье — рядом со вторым). На клавиатуре в таком случае помещается клавиша-модификатор «F» (также встречаются названия «Shift» или «2nd»). Нажатие на эту клавишу непосредственно перед нажатием на клавишу двойного назначения приводит к тому, что срабатывает не основная, а дополнительная функция последней клавиши. Иногда на одну клавишу может быть привязано три-четыре функции, в таких случаях обозначения пишут сверху, снизу, сбоку клавиши, на ней самой другим цветом и так далее, а для ввода третьей или четвёртой функции используют специальные клавиши (например, «3rd» или «K»). Возможно также переключение режимов работы калькулятора и выбор выполняемой функции в зависимости от режима. Например, клавиша может выполнять обычную тригонометрическую функцию, после нажатия «F» — обратную; но при этом калькулятор с помощью отдельной клавиши или переключателя может быть переведён в режим статистических расчётов, и в этом случае та же клавиша будет вызывать одну из команд статистической обработки.

Клавиатура калькулятора проектируется в расчёте на работу с ней одной рукой, поэтому практически никогда не используются комбинации из нескольких одновременно нажатых клавиш. Исключение могут составлять очень редко используемые сервисные операции (например, операция очистки всей памяти в калькуляторе с большим числом регистров).

Процессор и память[править | править код]

К145ИК2А - управляющая микросхема калькулятора "Электроника Б3-09"

Процессор и память современных калькуляторов физически представляют собой электронные микросхемы большой и сверхбольшой степени интеграции. В калькуляторах используются как специализированные микросхемы, так и универсальные. Например, в калькуляторах серии TI-89 использован типовой процессор семейства Motorola 680x0, широко применяемый в мобильных устройствах и встраиваемых системах. Значительная часть калькуляторов использует внутреннее представление чисел в виде двоично-десятичного кода (BCD), что значительно упрощает схемы ввода-вывода, но отрицательно сказывается на скорости вычислений и требует несколько больше памяти (примерно в 4/log₂10 ≈ 1,2 раза) для хранения того же объёма данных, по сравнению с обычным двоичным кодированием.

Память калькулятора логически (с точки зрения пользователя) в большинстве случаев представляет собой набор регистров, каждый из которых может хранить одно число. Калькулятор имеет как минимум два операционных регистра, хранящих данные, находящиеся в обработке в текущий момент. Традиционно первый операционный регистр (значение которого отображается на дисплее калькулятора), обозначается как «X», а второй операционный регистр (который хранит ранее введённый операнд) — как «Y».

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

  • CM (MC) — очистка регистра памяти, то есть запись в него значения 0 (нуль).
  • M, П, STO — сохранение в регистре текущего значения из операционного регистра X (числа, отображаемого на дисплее).
  • MR, RM, RC, ИП — копирование значения из регистра памяти в операционный регистр X (на дисплей).
  • MR(c) — комбинированная клавиша извлечения значения из регистра памяти и очистки регистра. При однократном её нажатии значение из регистра памяти копируется в операционный регистр X (на дисплей), а при нажатии её два раза подряд в регистр памяти записывается нуль.
  • M+, M-, M×, M÷ — выполнение указанной после «M» операции между текущим значением в регистре памяти и значением на дисплее, с помещением результата снова в регистр памяти. Содержимое операционного регистра X при этом остаётся прежним. Чаще всего встречается операция суммирования в регистре («M+»), остальные три — значительно реже. Изредка встречаются и другие операции с регистром памяти, например «M+X²» в калькуляторе «Электроника Б3-18». Операции в регистре могут существенно облегчать некоторые типы расчётов. Например, при вычислении суммы рекуррентного ряда, где каждый следующий член получается из предыдущего, оператор может после получения каждого члена ряда нажимать клавишу суммирования в регистре; так как при суммировании в регистре значение на дисплее не меняется, его нет необходимости специально сохранять для вычисления следующего члена ряда. При этом в регистре памяти будет накапливаться сумма, которую можно будет отобразить после того, как будут вычислены все нужные члены ряда.

Когда регистр памяти содержит ненулевое значение, на индикаторе отображается служебный символ (обычно буква М).

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

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

Элементы питания[править | править код]

В качестве элементов питания калькулятора могут использоваться солевые, щелочные или литий-ионные батареи или аккумуляторы. В современных калькуляторах, большинство из которых имеет крайне невысокое энергопотребление, практически повсеместно используются миниатюрные дисковые щелочные элементы. От одного нового элемента калькулятор при ежедневном использовании может работать от нескольких месяцев до нескольких лет. Некоторые производители снабжают калькуляторы солнечными батареями, мощности которых вполне хватает для работы инженерного калькулятора средних возможностей, либо двойным питанием, то есть сочетанием солнечных и химических батарей. При этом наличие солнечной батареи снимает часть нагрузки с аккумулятора, продлевая срок автономной работы калькулятора, а аккумулятор обеспечивает устойчивую работу в условиях недостаточного освещения. Лишь наиболее сложные и производительные программируемые калькуляторы требуют ёмких и мощных элементов питания; в них могут использоваться несколько крупноразмерных элементов или аккумуляторов. Также может применяться, особенно в настольных моделях, питание от электросети через соответствующий сетевой блок питания.

Логика операций[править | править код]

Калькулятор реализует один (очень редко — два) из трёх вариантов логики операций, то есть порядка ввода команд, который требуется для выполнения арифметических вычислений (команд сложения, вычитания, умножения и деления). Это арифметическая логика, алгебраическая логика и логика вычислений с обратной польской записью. Первые две базируются на инфиксной нотации (когда в записи формулы знак бинарной операции помещается между операндами), последняя — на постфиксной нотации (когда знак операции помещается после операндов, к которым он относится).

Арифметическая логика[править | править код]

Арифметическая логика базируется на инфиксной нотации без приоритетов и скобок. Для выполнения операции «a * b» (где «*» — произвольная бинарная операция) пользователь сначала набирает значение a, затем нажимает одну из клавиш бинарной операции («+», «-», «×», «÷», возможно также «yx»), затем набирает значение b и нажимает клавишу «=». Выполняется введённая операция над числами a и b, а её результат отображается на дисплее. Если вместо «=» пользователь снова нажмёт клавишу бинарной операции, то произойдёт то же самое — ранее введённая операция выполнится и её результат отобразится, но этот результат станет первым операндом для той операции, клавиша которой была нажата.

Так, например, для вычисления значения выражения «30 * 5 + 45» пользователь должен последовательно нажать клавиши: «3», «0», «×», «5», «+», «4», «5», «=». При этом после нажатия плюса выполнится умножение 30 на 5, ранее введённое, на дисплее отобразится результат 150, а после знака равенства отобразится окончательный результат 195. Арифметическая логика не предполагает наличия приоритетов операций, все операции выполняются в том порядке, в котором вводятся. Так, попытка вычисления выражения 1 + 2 × 3 путем нажатия кнопок в последовательности «1», «+», «2», «×», «3», «=» приведёт к неверному результату, потому что сначала будет выполнено сложение, и только потом умножение, что даст в результате 9, а не 7, как должно получиться согласно правилам математики. Чтобы получить правильный результат, пользователь должен изменить порядок ввода: выполнить сначала операцию умножения, а только затем — сложения.

Арифметическая постфиксная логика[править | править код]

Разновидность арифметической логики, в которой используется постфиксная нотация для сложения и вычитания. Отличительной особенностью калькуляторов с этой логикой является наличие клавиш с обозначениями «+=» и «-=». Нажатие на эти клавиши приводит к вычислению, соответственно, суммы и разности последних двух введённых чисел. Например, чтобы вычислить 2 — 3, необходимо нажать [2] [+=] [3] [-=]. При этом операции умножения и деления выполняются обычным образом. В настоящее время калькуляторы с такой логикой производятся и используются для бухгалтерских вычислений.

Алгебраическая логика[править | править код]

Алгебраическая логика строится на инфиксной записи операций, но, в отличие от арифметической, учитывает в вычислениях принятые в математике приоритеты операций и позволяет пользоваться скобками. Единичная бинарная операция выполняется точно так же, как и в случае арифметической логики, но при выполнении цепочных вычислений при вводе операции, приоритет которой выше, чем приоритет ранее введённой, либо при вводе открывающейся скобки, калькулятор сохраняет во внутренних регистрах ранее введённые операнды и позволяет продолжить ввод. И лишь когда пользователь нажмёт клавишу «=», либо введёт операцию с меньшим приоритетом или закрывающуюся скобку, выполняется вычисление результата введённого выражения либо его части.

Алгебраическая логика позволяет выполнять вычисления по математическим формулам, вводя данные, операции и скобки в том порядке, в котором они записаны в формуле, не задумываясь о правильном порядке выполнения операций. Платой за это удобство является усложнение калькулятора, поскольку для хранения операндов, над которыми ещё не выполнены операции, требуются дополнительные операционные регистры. Каждая вложенная пара скобок и каждая высокоприоритетная операция, расположенная в цепочке вычислений после низкоприоритетной, требует два операционных регистра: для сохранения операнда и отложенной операции. Так, например, при вычислении формулы:

согласно правилам приоритета ни одна из операций не может быть выполнена до ввода последнего параметра j; к моменту, когда пользователь введёт первую закрывающуюся скобку, калькулятор должен сохранить в операционных регистрах 10 операндов и 9 операций.

Так как число регистров ограничено, для калькуляторов с алгебраической логикой существует предел сложности выражения, которое может быть вычислено без преобразования. Простейшие инженерные калькуляторы могут иметь ограничение в 3-5 чисел, ожидающих выполнения (соответственно — столько же пар вложенных скобок и отложенных операций в вычисляемой формуле), более сложные — до десятка и более.

Приоритет и ассоциативность сложения, вычитания, умножения и деления соответствуют принятым в математике, но прочие бинарные операции могут разными калькуляторами выполняться по-разному. Например, цепочечное возведение в степень «2 ^ 3 ^ 4 =»[10] в разных моделях может означать 234 или (23)4, а «− 2 ^ 2 =» — как (−2)2, так и −(22). Для гарантии правильности расчётов необходимо внимательно изучить документацию конкретной модели калькулятора, а в неоднозначных ситуациях — использовать дополнительные скобки. Некоторые модели калькуляторов автоматически вставляют в поле ввода дополнительные скобки для отображения приоритетов операций[11].

Обратная бесскобочная логика[править | править код]

Этот тип логики базируется на так называемой обратной польской нотации (RPN, Reverse Polish Notation, обратной бесскобочной записи) выражений, в которой сначала записываются подряд значения операндов, а после них — знак выполняемой операции.

Основная статья: Обратная польская запись

Архитектура калькуляторов с обратной бесскобочной логикой характеризуется наличием стека операционных регистров размером не менее трёх (обычно обозначаемых X, Y, Z) и специфической команды, обозначаемой на клавиатуре как «↑» (также «ENTER», «В↑»,«E↑»). Вводимое с клавиатуры или извлекаемое из регистра памяти значение помещается в регистр Х и отображается на дисплее. По команде «↑» происходит сдвиг значений в стеке в направлении X→Y→Z→ (и далее, если в стеке больше регистров), то есть эта операция позволяет разделить ввод последовательных операндов. При нажатии пользователем клавиши любой операции эта операция производится над находящимися в стеке операндами (обычно — над значениями в регистрах Y и X), а результат помещается в регистр X. Остальные значения в стеке при этом сдвигаются обратно в направлении →Z→Y. Ниже в таблице показан порядок вычисления выражения «1 + 2 × 3» на калькуляторе с RPN и содержимое регистров стека после нажатия каждой клавиши (в предположении, что изначально стек был полностью обнулён).

Регистр T 0 0 0 0 0 0 0 0
Регистр Z 0 0 0 0 1 1 0 0
Регистр Y 0 0 1 1 2 2 1 0
Регистр X (дисплей) 0 1 1 2 2 3 6 7
Нажатая клавиша «1» «↑» «2» «↑» «3» «×» «+»
Выполняемая операция ввод сдвиг ввод сдвиг ввод «2×3» «1+6»

Иногда калькуляторы с RPN имеют ещё один дополнительный операционный регистр, в который после выполнении операции сохраняется предыдущее содержимое регистра X. При необходимости это значение можно извлечь с помощью специальной команды. Скобки в RPN не нужны, так как операции выполняются в порядке ввода.

RPN функционально аналогична обычной инфиксной записи со скобками, но при этом вычисления тех же самых выражений требуют меньшего числа нажатий на клавиши. Практика показывает, что научиться применять RPN достаточно просто, но для эффективного использования калькулятора с обратной бесскобочной логикой необходима предварительная тренировка и постоянное поддержание навыков. Среди обычных инженерных калькуляторов использование RPN является редкостью; из зарубежных можно назвать несколько моделей фирмы HP, из советских — единственную модель «Электроника Б3-19М» (в настоящее время не выпускается). Более популярна RPN в программируемых калькуляторах, в том числе благодаря достигаемому с её использованием сокращению размеров программ: для калькулятора с небольшим объёмом программной памяти экономия буквально одной-двух команд иногда определяет, поместится ли крайне необходимая программа в памяти, или её придётся сокращать, жертвуя возможностями и удобством использования.

Вычисление функций[править | править код]

Вычисление одноместных функций (фиксированных степеней и корней, тригонометрических, логарифмов и пр.), независимо от логики вычислений, чаще всего реализуется по постфиксной схеме:

  1. Пользователь вычисляет или вводит с клавиатуры аргумент.
  2. Пользователь нажимает клавишу (клавиши) вычисляемой функции.
  3. Калькулятор вычисляет функцию, соответствующую нажатой клавише, и отображает результат вычисления на индикаторе.

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

[5], [×], [4], [=], [lg].

Наиболее сложные калькуляторы с алгебраической логикой позволяют вводить вызов функций в естественном (алгебраическом) виде: сначала вводится знак функции, после него, в скобках — значение или выражение, от которого эта функция должна быть вычислена. То есть вычисление предыдущего примера в таком калькуляторе потребует нажатия клавиш:

[lg], (, [5], [×], [4], ), [=].

В некоторых моделях открывающаяся скобка набирается автоматически при нажатии клавиши функции, а закрывающиеся скобки автоматически вставляются при нажатии на клавишу «равно».

Первый из описанных вариантов проще в реализации и одновременно более экономичен, так как для вычисления самой функции требуется нажать только клавишу функции. Но для вычислений по сложным формулам при этом требуется либо выработанный навык, либо предварительная роспись порядка ввода формулы на бумаге. Второй вариант нагляднее и проще для пользователя, так как всё алгебраическое выражение может быть введено полностью в естественном виде, но это удобно только при наличии достаточно крупного алфавитно-цифрового дисплея, отображающего всю вводимую формулу или хотя бы существенную её часть. К тому же при вводе обычно требуется нажать больше клавиш.

Программы-калькуляторы[править | править код]

Calculator.NET: одна из свободных программ-калькуляторов

Кроме производимых устройств-калькуляторов, существуют также компьютерные программы-калькуляторы. Такие программы представляют собой специализированный программный продукт, предназначенный для узкого круга вычислений, например:

  • Статистические калькуляторы предназначены для выполнения различных расчетов, необходимых при обработке больших массивов данных — результатов социологических опросов, научных исследований и тому подобное. Имеют средства для быстрого вычисления распределений, отклонений, корреляций, средних значений и так далее. Большинство инженерных калькуляторов также поддерживают важнейшие статистические функции.
  • Медицинские калькуляторы используются врачами, фармацевтами, медсёстрами, студентами-медиками. Могут быть реализованы как в виде отдельного устройства, планшета для обхода больных, так и в виде программы универсального компьютера/КПК. Реализуют функции медицинского справочника, обеспечивают медицинские расчёты со справочным материалом, расчет дозировки лекарств, доступ к базам данных лечебного учреждения и так далее.
  • Калькулятор беременности — рассчитывает срок беременности и её ход при помощи календаря.
  • Калькулятор калорий — рассчитывают калорийность отдельных блюд и помогают следить за соблюдением калорийности диеты.
  • Ипотечный калькулятор — для расчёта банковских займов.
  • другие типы программ-калькуляторов: калькулятор вкладов, курсов валют, НДС, ОСАГО и т. д.

Online калькуляторы[править | править код]

Распространённое компьютерное приложение — online программа-калькулятор, рисующая на экране калькулятор с кнопками, которые можно нажимать мышкой (как правило, можно также нажимать цифровые кнопки на клавиатуре с тем же эффектом). Такая программа удобна для тех, кто привык работать с обычным калькулятором. Программы-калькуляторы существуют для большинства известных типов операционных систем и, как правило, входят в стандартный набор поставляемых с системой утилит, как, например, известная программа-калькулятор Microsoft Windows из набора стандартных программ Windows.

Другой подход к реализации калькуляторов в компьютере — ввод выражений в командной строке (например, bc). Такие калькуляторы ещё называют строчными. В целом это удобнее, поскольку можно вводить сложные выражения и при необходимости вызывать их повторно (с модификацией или без), а также видеть историю вычислений.

  • В Интернете имеются сайты[12], предоставляющие в онлайн-режиме доступ к online калькуляторам различного назначения и сложности.

Эмуляторы (симуляторы) калькуляторов[править | править код]

Некоторые программы специально делаются для эмуляции (или симуляции) конкретной модели калькулятора, воспроизводя его внешний вид и все функции (в том числе и свойственные ему ошибки). При эмуляции калькулятора производится полное копирование функций калькулятора (используются коды прошивки калькулятора), при симуляции — только приблизительное повторение функций. Эмулятор может быть частью системы разработки ПО для калькулятора. Так, например, для калькуляторов семейства HP 50g, одного из мощнейших программируемых калькуляторов, имеющихся на рынке, свободно доступна среда разработки, включающая эмулятор и отладчик, работающие под управлением Windows.

Существуют специализированные сайты, предоставляющие возможность эмулировать некоторые модели калькуляторов, например, чтобы изучить его работу[13][14].

Производство и потребление калькуляторов в XXI веке[править | править код]

Производители[править | править код]

На конец первого десятилетия XXI века массовым производством калькуляторов занимались несколько десятков фирм, имеющих в своём ассортименте в общей сложности сотни моделей различного назначения. Среди производителей — около десятка всемирно известных брендов и только несколько фирм, выпускающих калькуляторы всех типов. Лидером по общему производству калькуляторов является CASIO — в 2006 году она объявила о выпуске миллиардного экземпляра. В том же году Sharp выпустила 600-миллионный калькулятор. В общемировом объёме продаж лидерами являются четыре компании: CASIO, Hewlett Packard, Texas Instruments, Citizen. Некоторые бренды имеют заметно большую локальную популярность в отдельных странах или регионах. Так, в России безусловным лидером среди брендов является Citizen, а вот продукция одного из «большой четвёрки» — Texas Instruments, — распространена слабо. Помимо Citizen, HP и CASIO, в России также широко распространены калькуляторы Canon, Sharp, STAFF, ASSISTANT, Kenko.[4]

Если в СССР спрос на калькуляторы удовлетворялся собственным производством (также использовались, главным образом в учреждениях, калькуляторы производства стран СЭВ), то теперь в России используются почти исключительно импортные калькуляторы[4]. После распада СССР производство калькуляторов, как и практически всей массовой сложной электроники, было свёрнуто, не выдержав конкуренции с валом импортной продукции. Часть производств осталась в бывших союзных республиках (в том числе один из основных производителей советских калькуляторов, НПО «Кристалл», расположенный на Украине). Предприятия, производящие электронные приборы и компоненты, выпуском собственно калькуляторов не занимаются. Например, зеленоградское предприятие «Ангстрем», один из немногих российских производителей электронных схем для калькуляторов, работает на экспорт[4], а санкт-петербургское ПАО «Светлана», производившее в советские времена широкий ассортимент калькуляторов, полностью переориентировано на производство промышленной электроники[15]. Несколько моделей советских калькуляторов продержались в производстве до середины 1990-х годов или даже больше (например, калькуляторы МК-51 и МК-71 производства «Ангстрем», последние выпущенные экземпляры которых датируются 1999—2000 годом), но объём их выпуска был очень мал. На 2019 год в России только НПП «Семико» в Новосибирске производит в очень малых объёмах программируемые калькуляторы (МК-152, МК-152М, МК-161, МК-163), представляющие собой развитие ряда МК-52 — МК-61[16]; к тому же эти модели позиционируются скорее как устройства промышленной электроники.

Также в мире производятся сотни видов дешёвых noname-калькуляторов. Большей частью они сильно уступают по качеству продукции мировых брендов, но успешно конкурируют с ними, главным образом в нижних ценовых сегментах, за счёт существенно меньшей цены. В России noname-модели широко распространены, кроме того, на российском рынке, по признанию экспертов, значительная часть калькуляторов, продаваемых под известными брендами, является подделкой.[4]

Объёмы и структура рынка[править | править код]

На 2009 год евроазиатский рынок калькуляторов оценивался в 4,5-6 миллионов евро в месяц.

Ранее (до 1990-х годов) во всём мире основную долю рынка (65-70 % в денежном выражении) составляли настольные бухгалтерские и простейшие арифметические карманные калькуляторы. Первые активно применяются для ординарных ежедневных расчётов в офисной работе, а также в торговле, в качестве дополнения к кассовому аппарату, вторые — для повседневных бытовых расчётов.

На Западе ситуация в последние десятилетия кардинально изменилась. Это произошло после того, как калькуляторы были «легализованы» в учебном процессе в западных школах и ВУЗах, а приёмы обращения с калькулятором вошли в общую школьную программу; использование калькуляторов в учебном процессе там не только не возбраняется, но иногда является даже обязательным. В результате в Западной Европе доля инженерных и графических калькуляторов заметно выросла и на 2009 год составляла в количественном выражении 33 %, а в денежном — на 25 % превышала долю настольных и простых карманных калькуляторов.

В России, где применение калькуляторов в учебных заведениях до сих пор строго ограничено, ситуация остаётся такой же, как ранее в Европе: 70 % рынка продолжают занимать настольные калькуляторы, 10-12 % — карманные, доля инженерных калькуляторов колеблется в пределах 5-13 %. Также в России намного меньше, чем на Западе, спрос на печатающие калькуляторы. Помимо объективных причин, различия в спросе на определённые типы калькуляторов аналитики связывают с маркетинговой политикой поставщиков[4].

См. также[править | править код]

Примечания[править | править код]

  1. А. М. Ерофеев, В. Г. Живов, Ю. И. Романов. Основы построения ЭКВМ и элементы импульсной техники : [Для подгот. и повышения квалификации механиков по ремонту и техн. обслуживанию вычислит. техники]. — М.: Статистика, 1975. — 183 с.
  2. CT-555N | Citizen calculator
  3. Исключения редки, но существуют, например, Casio fx-6200G — не программируемый
  4. 1 2 3 4 5 6 7 8 Считаем прибыль – обзор рынка калькуляторов // «Канцелярия» : Журнал. — 2009. — 12 сентября.
  5. https://www.calculated.com/mobile/prd101/Construction-Master-Pro-4065-Construction-Calculator.html
  6. Casio 14-A
  7. Casio (calculator). www.firstversions.com. Дата обращения 17 февраля 2017.
  8. Museum of Soviet Calculators — VEGA  (недоступная ссылка с 12-10-2016 [1129 дней)] Архивная копия от 29 сентября 2010 на Wayback Machine
  9. Museum of Soviet Calculators — VEGA  (недоступная ссылка с 12-10-2016 [1129 дней)] Архивная копия от 29 сентября 2010 на Wayback Machine
  10. Знаком «^» записана команда вычисления произвольной степени.
  11. https://www.youtube.com/watch?v=Kbed667arQk&feature=youtu.be&t=337
  12. Calculator.net: Free online calculators…
  13. http://files.righto.com/calculator/sinclair_scientific_simulator.html
  14. https://pmk.arbinada.com/mk61emuweb.html
  15. НПО «Светлана»
  16. Сайт НПП «Семико». Раздел ЭКВМ

Литература[править | править код]

  • Микрокалькулятор // Сельскохозяйственный энциклопедический словарь / Редкол.: В. К. Месяц (гл. ред.) и др. — М.: Советская энциклопедия, 1989. — С. 311. — 655 с.
  • Кройль, Ганс. Что умеет мой микрокалькулятор? = Was kann mein elektronischer taschenrechner? / Перевод с нем. Ю. А. Данилова. — М.: Мир, 1981. — 133 с. — (В мире науки и техники. 83).
  • Дьяконов В. П. Расчет нелинейных и импульсных устройств на программируемых микрокалькуляторах : Справочное пособие. — М.: Радио и связь, 1984. — 176 с.
  • Дьяконов В. П. Справочник по расчетам на микрокалькуляторах. — 3-е изд., доп. и перераб. — М.: Наука, 1989. — 462 с. — ISBN 5-02-013988-2.
  • Дьяконов В. П. Современные зарубежные микрокалькуляторы. — М.: Салон-Р, 2002. — 393 с. — ISBN 5-93455-148-5.
  • Байков В. Д., Селютин С. А. Вычисление элементарных функций в ЭКВМ. — М.: Радио и связь, 1982. — 64 с.