СЕСИЛ
CESIL или компьютерное образование в школах , обучения язык , , [1] — это язык программирования , предназначенный для ознакомления учащихся британских средних школ с элементарным компьютерным программированием . Это простой язык, содержащий в общей сложности четырнадцать инструкций .
Фон
[ редактировать ]Компьютерное образование в школах (CES) — это проект, начатый в 1968 году под руководством группы Джона Хоскинса. [2] В сентябре 1969 года проект был передан компании International Computers Limited (ICL) и стал ICL-CES. [2] CESIL был разработан ICL в рамках проекта ICL-CES и представлен в 1974 году. [3] В те дни очень немногие школы (если вообще были) имели компьютеры, поэтому ученики писали программы на листах кодирования, которые затем переносились на перфокарты или бумажную ленту . [4] Обычно его отправляют для запуска на мэйнфрейме , а вывод на построчный принтер возвращается позже. [5]
Структура
[ редактировать ]Поскольку CESIL не был разработан как интерактивный язык, в нем нет возможности вводить данные в режиме реального времени. Вместо этого числовые данные включаются в отдельный раздел в конце программы. [6]
Фундаментальным принципом CESIL является использование одного аккумулятора , который обрабатывает математические операции. [4] Числовые значения хранятся в переменных , которые в CESIL называются местами хранения. [7] CESIL работает только с целыми числами, а результаты операций DIVIDE при необходимости округляются. [8] Нет никаких возможностей для структур данных, таких как массивы , а также для обработки строк , хотя строковые константы могут быть выведены с помощью инструкции PRINT. [4]
Переходы и циклы могут быть условными или безусловными и передавать работу программы на строку с определенной меткой, которая указана в первом столбце листа кодирования. [9] Инструкция или операция указывается во втором столбце, а операнд – в третьем столбце. [10] На некоторых листах кодирования комментарии и текст инструкции PRINT будут записаны в четвертом столбце. [11]
Инструкции
[ редактировать ]Инструкции или операции записываются в верхнем регистре и могут иметь один операнд, которым может быть местоположение хранилища, постоянное целочисленное значение или метка строки. Адреса магазинов и метки линий состоят из букв и цифр длиной до шести символов и начинаются с буквы. [12] Числовые целочисленные константы должны иметь знак + или –, а ноль обозначается как +0. [13] [а]
Ввод и вывод
[ редактировать ]IN
– считывает следующее значение из данных и сохраняет его в аккумуляторе. [4] Сообщение об ошибке*** PROGRAM REQUIRES MORE DATA ***
выводится, если программа пытается прочитать предоставленные данные за пределами конца. [14]OUT
– печатает текущее значение аккумулятора. Возврат каретки не печатается. [15]PRINT "text in quotes"
– печатает заданный текст. Возврат каретки не печатается. [15]LINE
– печатает возврат каретки, тем самым начиная новую строку. [16]
Память
[ редактировать ]LOAD location
илиLOAD constant
– копирует значение заданной ячейки или константы в аккумулятор. [17]STORE location
– копирует содержимое аккумулятора в заданное место. [10]
Математические инструкции
[ редактировать ]ADD location
илиADD constant
– добавляет значение заданной ячейки или константы в аккумулятор. [18]SUBTRACT location
илиSUBTRACT constant
– вычитает значение данного местоположения или константы из аккумулятора. [19]MULTIPLY location
илиMULTIPLY constant
– умножает аккумулятор на значение данного местоположения или константы. [20]DIVIDE location
илиDIVIDE constant
– делит аккумулятор на значение заданной ячейки или константы. [21] Результат округляется в меньшую сторону, если результат положительный, и в большую сторону, если результат отрицательный. [8] А*** DIVISION BY ZERO ***
Сообщение об ошибке печатается, если делитель равен нулю. [22]
В каждом случае результат операции сохраняется в аккумуляторе, заменяя предыдущее значение.
Программное управление
[ редактировать ]JUMP label
– безоговорочно передает управление отмеченному месту. [23]JINEG label
( Jump ative) – передает управление в отмеченное место , I f NEG если аккумулятор содержит отрицательное значение. [24]JIZERO label
( Jump ) – передает управление в отмеченное место , I f ZERO если аккумулятор содержит ноль. [9]HALT
– завершает программу. [15]
Другие символы
[ редактировать ]В CESIL в начале строк используются три специальных символа.
%
используется для обозначения конца программы и начала данных. [11]*
используется для обозначения конца данных. [25](
используется в начале строки для обозначения комментария . [26] [б]
Инструменты программирования CESIL
[ редактировать ]Эмулятор CESIL, предназначенный для работы в Windows и называемый Visual CESIL, доступен бесплатно. [27]
Интерпретатор CESIL, предназначенный для работы на платформе Android и называемый Wyrm CESIL, доступен для бесплатной установки. [28]
Пример
[ редактировать ]Следующий пример суммирует целые числа в разделе данных времени выполнения, пока не встретит отрицательное значение и не выведет сумму.
LOAD +0 LOOP STORE TOTAL IN JINEG DONE ADD TOTAL JUMP LOOP DONE PRINT "The total is: " LOAD TOTAL OUT LINE HALT % 1 2 3 -1 *
Результатом работы вышеуказанной программы будет:
The total is: 6
См. также
[ редактировать ]- Компьютерная грамотность
- Компьютеры в классе
- История информатики
- ХАГГИС — язык, изобретенный для стандартизации оценки работы по программированию в шотландских школах.
Библиография
[ редактировать ]Муссон, Колин С; Сьюэлл, Ян Р.; Фрэнсис П., Викерс (1978). Компьютерные исследования . Том. Книга 1. ICL Компьютерное образование в школах . ISBN 0-903885-17-4 .
Примечания
[ редактировать ]Ссылки
[ редактировать ]- ^ Компьютерные исследования , стр. 71.
- ^ Jump up to: а б Сьюэлл, Ян, изд. (январь 1980 г.). «CES вступает во второе десятилетие» . Информационный бюллетень ICL-CES . п. 1.
- ^ Фербер, Стив (январь 2012 г.). «Приложение J: Хронология основных событий в области компьютерных технологий в школах Англии». Выключить или перезагрузить? Перспективы использования компьютеров в школах Великобритании (PDF) . Королевское общество . п. 120. Архивировано (PDF) из оригинала 06 мая 2021 г. Проверено 20 июня 2021 г.
- ^ Jump up to: а б с д Компьютерные исследования , стр. 72
- ^ «Моя первая программа» . Архивировано из оригинала 24 июня 2021 года . Проверено 16 июня 2021 г.
- ^ Компьютерные исследования , стр. 82.
- ^ Компьютерные исследования , стр. 76.
- ^ Jump up to: а б Компьютерные исследования , страницы 93–94.
- ^ Jump up to: а б Компьютерные исследования , стр. 148
- ^ Jump up to: а б Компьютерные исследования , стр. 77
- ^ Jump up to: а б Компьютерные исследования , стр. 74
- ^ Компьютерные исследования , страницы 96, 148.
- ^ Компьютерные исследования , страницы 97–99.
- ^ Компьютерные исследования , стр. 201.
- ^ Jump up to: а б с Компьютерные исследования , стр. 73
- ^ Компьютерные исследования , страницы 199–200.
- ^ Компьютерные исследования , страницы 80, 97–98.
- ^ Компьютерные исследования , страницы 84, 97–98.
- ^ Компьютерные исследования , страницы 86, 97–98.
- ^ Компьютерные исследования , страницы 90, 97–98.
- ^ Компьютерные исследования , страницы 92, 97–98.
- ^ Компьютерные исследования , стр. 145.
- ^ Компьютерные исследования , стр. 198.
- ^ Компьютерные исследования , стр. 154.
- ^ Компьютерные исследования , стр. 83
- ^ Компьютерные исследования , стр. 164.
- ^ Эндрю Джон Джейкобс (20 июня 2010 г.). «Визуальный ЦЕСИЛ» . Архивировано из оригинала 12 сентября 2021 года . Проверено 26 ноября 2021 г.
- ^ Программное обеспечение Wyrm (13 октября 2019 г.). «Вирм СЕСИЛ» . Архивировано из оригинала 25 ноября 2021 года . Проверено 25 ноября 2021 г.