Введение
Образовательный язык программирования CESIL, или Computer Education in Schools Instruction Language, — это язык программирования, разработанный для знакомства учащихся британских средних школ с основами компьютерного программирования. Это простой язык, включающий в себя всего четырнадцать команд.
CESIL, or Computer Education in Schools Instruction Language, is a programming language designed to introduce pupils in British secondary schools to elementary computer programming. It is a simple language containing a total of fourteen instructions.
Предыстория
Компьютерное образование в школах (CES) — это проект, разработанный в конце 1960-х и начале 1970-х годов компанией International Computers Limited (ICL). CESIL был разработан ICL в рамках проекта CES и представлен в 1974 году. В те времена в школах практически не было компьютеров, поэтому ученики писали программы на листах с кодами, которые затем переносили на перфокарты или бумажные ленты. Как правило, эти данные отправлялись для выполнения на мейнфрейм-компьютере, а результаты, напечатанные на линейном принтере, возвращались позднее.
Структура
Поскольку CESIL не был разработан как язык, поддерживающий взаимодействие, отсутствует возможность ввода данных в реальном времени. Вместо этого числовые данные включаются в отдельный раздел в конце программы. Фундаментальным принципом CESIL является использование единственного аккумулятора для выполнения математических операций. CESIL работает только с целыми числами, а результаты операций деления округляются при необходимости. Отсутствуют средства для работы со структурами данных, такими как массивы, и для обработки строк, хотя строковые константы могут быть выведены с помощью инструкции PRINT. Инструкция или операция указывается во втором столбце, а операнд – в третьем. На некоторых листах кодирования комментарии и текст инструкции PRINT записывались в четвертом столбце.
Инструкции
Инструкции или операции записываются заглавными буквами и могут иметь один операнд, который может быть ячейкой памяти, константным целым числом или меткой строки. Ячейки памяти и метки строк являются буквенно-цифровыми, длиной до шести символов, и начинаются с буквы. Числовые целочисленные константы должны иметь знак + или −, при этом ноль обозначается как +0.
Вход и выход
IN – считывает следующее значение из данных и сохраняет его в аккумуляторе. OUT – выводит текущее значение аккумулятора. Перевод строки не печатается. PRINT "текст в кавычках" – выводит заданный текст. Перевод строки не печатается.
Хранение памяти
ЗАГРУЗИТЬ местоположение или ЗАГРУЗИТЬ константу – копирует значение данного местоположения или константы в аккумулятор. СОХРАНИТЬ местоположение – копирует содержимое аккумулятора в данное местоположение. ВЫЧИТАТЬ местоположение или ВЫЧИТАТЬ константу – вычитает значение данного местоположения или константы из аккумулятора. УМНОЖИТЬ местоположение или УМНОЖИТЬ константу – умножает аккумулятор на значение данного местоположения или константы. РАЗДЕЛИТЬ местоположение или РАЗДЕЛИТЬ константу – делит аккумулятор на значение данного местоположения или константы. Результат округляется вниз, если результат положительный, и вверх, если результат отрицательный. В каждом случае результат операции сохраняется в аккумуляторе, заменяя предыдущее значение.
Управление программой
JUMP label – безусловно передает управление в точку с меткой label. JINEG label (Jump If NEGative) – передает управление в точку с меткой label, если аккумулятор содержит отрицательное значение. JIZERO label (Jump If ZERO) – передает управление в точку с меткой label, если аккумулятор содержит ноль. ( используется в начале строки для обозначения комментария.
Инструменты программирования CESIL
Эмулятор CESIL, разработанный для работы в Windows и называемый Visual CESIL, доступен бесплатно. Интерпретатор CESIL, разработанный для платформы Android и называемый Wyrm CESIL, доступен для бесплатной установки.