Програмований калькулятор![]() ![]() Програмований калькулятор — калькулятор, який має функції введення та виконання програм. Параметри та можливостіДо загальних для всіх типів калькуляторів параметрів, таких як логіка обчислень, число регістрів пам'яті, набір підтримуваних функцій і можливості відображення, у програмованих калькуляторів додаються:
Прості програмовані калькулятори дозволяють лише зберігати і багаторазово використовувати лінійні послідовності операцій, тобто просто багаторазово виконувати обчислення за одними й тими ж формулами без повторного їх уведення. Складніші дозволяють писати повноцінні програми символьно-кодовою мовою, адаптованим варіантом Бейсику або іншими мовами програмування[джерело?]. Найпотужніші програмовані калькулятори мають графічний екран, вбудовану мову програмування високого рівня, можливість зв'язку з комп'ютером для завантаження програм або даних, інтерфейс із зовнішніми пристроями; використовують процесори з тактовою частотою в десятки мегагерц, пам'ять може включати сотні кілобайтів ОЗУ та мегабайти флеш-пам'яті. Такі калькулятори також нерідко мають систему символьних обчислень, що включає різні маніпуляції з виразами, розв'язування рівнянь та їх систем, символьне диференціювання та інтегрування, а часто й розв'язання диференціальних рівнянь у символьному вигляді. Може підтримуватися малювання двовимірних та тривимірних графіків та діаграм, операції лінійної алгебри, розвинені засоби статистичного аналізу даних, фінансові обчислення, обчислення з комплексними числами. Для деяких є можливість програмування мовою C на комп'ютері з подальшою крос-компіляцією та завантаженням коду. Історія![]()
![]()
![]()
Режими роботиЩоб забезпечити роботу з програмами, програмований калькулятор, окрім звичайного режиму ручних обчислень (того режиму, в якому постійно працюють звичайні калькулятори), має підтримувати ще, принаймні, два режими роботи: режим програмування та режим виконання програми.
Додатково програмований калькулятор може підтримувати режим покрокового виконання програми (він може бути суміщеним зі звичайним режимом ручних обчислень). У такому режимі калькулятор після натискання певної клавіші на клавіатурі виконує рівно одну, поточну команду програми і переходить у ручний режим. Покрокове виконання призначене для налагодження програм: після виконання чергової операції або кількох операцій оператор має можливість проаналізувати стан калькулятора та переконатися, що виконання програми відбувається саме так, як планувалося, а в разі виявлення помилок може усунути їх, увівши вручну правильні дані, та продовжити перевірку, щоб виявити всі можливі несправності та згодом виправити їх. Способи програмуванняВідомо три принципово різних способи програмування калькуляторів: символьно-кодова машинна мова, AER (Algebraic Expression Reserve) та мова високого рівня. Символьно-кодова моваПрограма є, по суті, записаною за допомогою кодів послідовністю натискань на клавіші калькулятора (аналог комп'ютерного макроса). Будь-яка клавіша або допустима комбінація клавіш має код. Програма записується у програмну пам'ять калькулятора в режимі програмування. Оператор вводить її, натискаючи клавіші, при цьому в пам'ять записуються відповідні коди. У найпростіших програмованих калькуляторах програма може бути лише лінійною. У тих місцях, де за логікою формули потрібне ручне введення даних, уводиться спеціальна команда; під час виконання програми калькулятор за цією командою перериває обчислення, видає запрошення на введення даних та чекає, поки оператор введе значення та натисне клавішу продовження обчислень. У потужніших калькуляторах, окрім звичайних обчислювальних операцій та команд роботи з пам'яттю, командна мова містить спеціальні команди керування, тобто перевірки умов, розгалуження, організації циклів, безумовні переходи за адресою або міткою, команди постановки символьних міток, звернення до підпрограм і повернення з підпрограм. Розвинені символьно-кодові мови відрізняє наявність команд переходів та звернення до пам'яті з непрямою адресацією (звернення за адресою, записаною в регістр пам'яті, або до регістра, код якого записано в інший регістр) — такі команди дозволяють організовувати складну логіку виконання та використовувати механізми, аналогічні масивам у мовах високого рівня. Обов'язково в командній мові є команда зупинки програми (виходу з режиму виконання), за якою калькулятор завершує виконання програми та зупиняється, щоб показати результати. 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 AB sin C»). Коли оператор натискає клавішу обчислення формули, калькулятор спочатку самостійно запитує користувача значення аргументів A, B і C, після чого обчислює введену формулу. Легко бачити, що можливості власне програмування (тобто створення програм зі складною логікою) за такого методу обмежені, натомість він дуже наочний, вимагає мінімум часу на вивчення і цілком достатній, якщо потрібно багато разів обчислювати значення за одними й тими ж складними формулами. Менш очевидною, але теж істотною позитивною якістю логіки AER є менше, порівняно зі звичайною алгебричною логікою, число натискань клавіш для введення одних і тих самих формул. Можливості калькулятора з логікою AER обмежуються найбільшою кількістю та розміром формул і найбільшим допустимим числом одночасно використовуваних змінних. У найпотужнішого представника серії, EL-5150, найбільша кількість програмованих формул становить 99 при граничній сумарній довжині 1400 знаків, найбільша кількість змінних — 26.Значного поширення логіка AER не набула, оскільки за обмежених можливостей вимагала складної клавіатури з великою кількістю знаків та складного алфавітно-цифрового дисплея, які в період її появи були ще рідкістю. Проте деякі сучасні програмовані калькулятори підтримують близькі до AER методи програмування. Так, наприклад, калькулятор Citizen SRP-325G, крім програмування на спрощеній версії Бейсику, підтримує збереження та виконання як програм уведених оператором формул. Цей режим дуже близький до AER: оператор набирає формулу обчислення з використанням символьних змінних та команду збереження цієї формули у програмній пам'яті під одним із 10 доступних номерів; згодом за командою виконання програми з цим номером калькулятор автоматично запитує користувача значення використаних у формулі змінних і обчислює результат. Допускається навіть пропуск операції множення у формулах, характерний для AER. Мова високого рівняПерші калькулятори, що програмуються мовою високого рівня, реалізовували підмножину мови Бейсик, адаптованої для використання в калькуляторі. Донині калькулятори, що програмуються мовами високого рівня, використовують або Бейсик, або власну мову, побудовану за його зразком. Серед нечисленних винятків із цього правила — мова Reverse Polish Lisp (RPL)[en], що використовується в калькуляторах Hewlett-Packard, і Lua, що використовується в останніх моделях калькуляторів Texas Instruments. Найбільш потужні й складні з калькуляторів, що випускаються зараз, мають системи крос-компіляції з мови C й завантаження виконуваного коду. ВиробникиНайвідомішими виробниками програмованих калькуляторів є американські фірми Texas Instruments та Hewlett-Packard, а також японська Casio. У лінійці моделей цих фірм є програмовані калькулятори всіх типів. Топові моделі мають великі графічні екрани (серед моделей другого десятиліття XXI століття — кольорові та сенсорні), забезпечені вбудованими системами символьних обчислень (CAS), підтримують потужні мови програмування. Texas InstrumentsСерія TI-89 і TI-92 фірми Texas Instruments використовують алгебричну нотацію і версію Бейсику, звану TI-BASIC. Любителі цього калькулятора створили компілятор із C для ПК, а також засоби програмування на асемблері. Різні автори написали багато програм, зокрема ігор. Різниця між двома серіями полягає в дизайні: калькулятори серії TI-92 мають клавіатуру QWERTY і великий екран, відповідно, вони не кишенькові. Недоліком є відсутність друкованого посібника (в США вони продаються з таким посібником). Для більшості посібник доступний тільки на CD-ROM і в інтернеті. Крім того, кабель для зв'язку з ПК треба купувати окремо. Калькулятори використовують процесор 68000 з тактовою частотою 12 МГц (10 МГц у деяких старих примірниках старих моделей). Інші параметри цих калькуляторів наведено в таблиці.
Нині виробляються тільки TI-89 Titanium та Voyage 200. Серед молодших моделей особливо популярний TI-83 Plus. Hewlett-PackardСерія HP-49G[en] (до якої належать калькулятори HP-49G, HP-49G+, а також HP-48GII та HP 50g) фірми Hewlett-Packard використовує швидкі процесори ARM9, має розвинену систему алгебричної (символьної) математики, зворотну польську нотацію та мову (Reverse Polish Lisp). За своїми можливостями ці калькулятори просунутіші, ніж TI-89/92. Однак, за відгуками користувачів, ці калькулятори, що виготовляються в Китаї, страждають від проблем суто механічного роду: корпус пластиковий, клавіші гумові, а головне, швидко (часто за кілька місяців) виходять із ладу. Фірма надсилає новий калькулятор, але й там кнопки так само швидко ламаються. Щодо посібника, то він уривчастий: багатьох відомостей там просто немає. Посібник на 800 сторінок викладено на сайт в електронному вигляді, але він не повний та не перекладений із англійської мови. Калькулятори попередньої серії, HP-48G, відрізнялася значно вищою якістю клавіатури та складання, але їх більше не виробляють. Частково ці недоліки виправлено в моделі HP 50g. Як і для TI-89/92, для HP-49G існує компілятор Сі, і багато ігор та інших програм. Параметри цих калькуляторів наведено в таблиці.
CasioФірма Casio також випускає програмовані калькулятори, зокрема й кольорові графічні, а також із уведенням інформації за допомогою стилусу (ClassPad 300 Plus). Калькулятори Casio програмуються на спрощеному Бейсику, реалізують алгебричну логіку обчислень. За можливостями програмування вони дещо слабші, за іншими показниками перебувають на одному рівні або навіть перевершують провідні моделі TI і HP. ІншіПрограмовані калькулятори також випускають фірми Sharp та Citizen. Калькулятори цих виробників, порівняно з топовими моделями HP, Casio й TI, значно простіші та не мають ні великого обсягу пам'яті, ні системи символьних обчислень. Див. такожПримітки
Література
Посилання |
Portal di Ensiklopedia Dunia