Добавить в корзинуПозвонить
Найти в Дзене
Компаратор

О программируемости Casio fx-9860GIII. Часть 1

Классикой жанра является испокон веков встроенный в программируемые калькуляторы (ПК) Casio интерпретатор BASIC-о-подобного языка программирования (ЯП). Правда, BASIC-о-подобия в нём не так уж и много - разве что в синтаксисе операторов условий и переходов. Как по мне, то подобия и вовсе нет. Ну что это за BASIC, у которого знак вопроса заменяет функцию input(), а функцию вывода промежуточного результата - символ треугольника? Это, конечно, здорово, когда для написания программы используется дисплей, вмещающий 8 строк по 21 символу в каждой, но до BASIC-а тут как до Луны. Присваивание тут больше напоминает "калькуляторное" сохранение выражения в переменной и обозначается символом "стрелка", а не знаком "равно". А как вам односимвольные переменные - все как одна глобальные и, как несложно догадаться, количеством не более 28? А исключительно одномерные массивы, которых может быть всего навсего шесть штук? На самом деле, ЯП fx-9860GIII больше похож на макроязык, призванный автоматизироват

Классикой жанра является испокон веков встроенный в программируемые калькуляторы (ПК) Casio интерпретатор BASIC-о-подобного языка программирования (ЯП). Правда, BASIC-о-подобия в нём не так уж и много - разве что в синтаксисе операторов условий и переходов. Как по мне, то подобия и вовсе нет.

Ну что это за BASIC, у которого знак вопроса заменяет функцию input(), а функцию вывода промежуточного результата - символ треугольника? Это, конечно, здорово, когда для написания программы используется дисплей, вмещающий 8 строк по 21 символу в каждой, но до BASIC-а тут как до Луны.

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

А как вам односимвольные переменные - все как одна глобальные и, как несложно догадаться, количеством не более 28?

А исключительно одномерные массивы, которых может быть всего навсего шесть штук?

На самом деле, ЯП fx-9860GIII больше похож на макроязык, призванный автоматизировать исполнение всех многочисленных функций научного графического калькулятора, среди которых только математических функций более 240.

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

Нырять вглубь макроязыка ПК Casio я не вижу смысла, а вот о среде программирования fx-9860GIII скажу.

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

Вот что мне показалось интересным:

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

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

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

В третьих, "блочность" ввода программного кода. В целях максимально возможной экономии памяти, а также упрощения синтаксического анализатора ЯП Casio, все операторы и функции в его программах хранятся в виде незримых кодов, которые на лету транслируются в мнемонические формат, пригодный для восприятия человеком. Соответственно, чтобы ввести в программу оператор, или ту или иную функцию, их нужно выбрать либо из меню операторов PRGM, либо из каталога - CATALOG. Тогда нужный код будет выставлен в программу.

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

Кстати, кириллические символы в кодовой таблице fx-9869GIII присутствуют, поэтому при должном упорстве можно заставить его "говорить" и по-русски, но вводить придётся по одному символу.

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

А вот Undo/Redo, увы, нет.

В пятых. У среды программирования Casio нет продвинутых средств отладки, но зато предусмотрено прерывание бесконечных циклов клавишами [AC] с выводом подтверждения [BREAK?] и далее, нажатием [EXIT]. Ну хоть что-то... Остальное по-старинке - выводом промежуточных результатов "треугольником", который останавливает исполнение программы до нажатия [EXE].

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

Все эти "?", треугольники, вездесущие символы возврата каретки... Жесть!
Все эти "?", треугольники, вездесущие символы возврата каретки... Жесть!

Так что Micro Python выглядит крайне желательным "гостем" в ПК Casio. Однако о Python будем говорить во второй части "программируемости Casio fx-9860GIII".