Программируемый запрос, обучение или обучение ( PILOT ) - это простой язык программирования высокого уровня, разработанный в 1960-х годах. [1] Как и его младший брат LOGO , это был ранний набег на технологию компьютерного обучения .
PILOT - это императивный язык, похожий по структуре на BASIC и FORTRAN по своей базовой схеме и структуре. Его ключевые слова состоят из одиночных символов T
для «type» для печати текста или A
для «accept» для ввода значений от пользователя.
Его история [ править ]
PILOT был разработан Джоном Амсденом Старквезером , профессором психологии Калифорнийского университета в медицинском центре Сан-Франциско . В 1962 году он разработал простой язык для автоматизации обучающих тестов под названием Computest. Начиная с 1968 года, он разработал следующий проект под названием PILOT для различных компьютеров того времени, таких как SDS 940 . [2]
Синтаксис языка [ править ]
Строка кода PILOT содержит (слева направо) следующие элементы синтаксиса :
- необязательный ярлык
- командное письмо
- необязательный Y (если да) или N (нет)
- необязательное условное выражение в круглых скобках
- двоеточие (":")
- операнд , или несколько операндов с разделителями запятыми.
Метка также может быть одна в строке, за которой не следует другой код. Синтаксис метки - это звездочка, за которой следует идентификатор (буквенно-цифровая строка с буквенным начальным символом).
Командные буквы [ править ]
Следующие команды используются в «core PILOT». Строки, начинающиеся с «R:», обозначают примечание (или комментарий), объясняющее следующий код.
R: следующая строка ввода заменяет текущее содержимое буфера приема А: R: следующая строка ввода заменяет буфер приема и строковую переменную FREE A: БЕСПЛАТНО R: следующие 3 строки ввода присвоены строковым переменным 'X', 'Y' и 'Z' A: $ X, $ Y, $ Z R: числовой ввод, присвоенный числовой переменной "Q" A: #Q
- C
- Вычислить и присвоить числовое значение. Большинство реализаций PILOT имеют только целочисленную арифметику и не имеют массивов . Пример:
R: присвоить среднему арифметическому #X и #Y #AM C: #AM = (# X + # Y) / 2
- D
- Измерьте размер массива в некоторых реализациях.
- E
- Завершить (вернуться из) подпрограммы или (если вне подпрограммы) прервать программу. Всегда используется без операндов.
- J
- Перейти к ярлыку. Пример:
J: * ПЕРЕЗАГРУЗИТЬ
- M
- Сопоставьте буфер приема со строковыми переменными или строковыми литералами . Пример:
R: поиск в буфере приема "ИСТИНА", значения МЕКСИКИ и "МОЛОДОСТИ", в указанном порядке. М: ПРАВДА, $ МЕКСИКА, МОЛОДЕЖЬ
Первая строка соответствия (если есть), которая является подстрокой буфера приема, назначается специальной переменной $ MATCH. Буферные символы слева от первого совпадения назначаются $ LEFT, а символы справа назначаются $ RIGHT.
Флаг совпадения устанавливается на «да» или «нет», в зависимости от того, выполнено ли совпадение. Любой оператор, у которого после буквы команды стоит буква Y, обрабатывается, только если установлен флаг соответствия. Операторы с N обрабатываются, только если флаг не установлен.
- N
- Эквивалентно TN: (введите, если последнее совпадение оказалось неудачным)
- р
- Операнд R: является комментарием и поэтому не действует.
- Т
- Операнд «Тип» в качестве вывода. Примеры:
R: следующая строка печатает буквальную строку Т: Спасибо за вашу поддержку. R: следующая строка объединяет буквальную строку с переменным выражением Т: Спасибо, $ NAME.
- U
- Используйте (вызовите) подпрограмму. Подпрограмма начинается с метки и заканчивается буквой E: Пример:
R: Вызов подпрограммы, начиная с метки * INITIALIZE U: * ИНИЦИАЛИЗИРОВАТЬ
- Y
- Эквивалентно TY: (введите, если последнее совпадение было успешным)
- Круглые скобки
- Если в операторе есть выражение в скобках, это условное выражение, и оператор обрабатывается только в том случае, если тест имеет значение «истина». Пример:
R: введите сообщение, если x> y + z T (#X> # Y + # Z): условие выполнено
Производные [ править ]
Расширения ядра PILOT включают в себя массивы и с плавающей точкой чисел в Apple , PILOT и реализацию LOGO -inspired черепахи графики в Atari PILOT. [3]
В период с 1979 по 1983 год группой пользователей UK PILOT руководил Алек Вуд, учитель в Wirral Grammar School for Boys, Мерсисайд, Великобритания. Несколько версий машинного кода mini PILOT были созданы для микрокомпьютеров того времени, а в школе в Шотландии было разработано интерактивное учебное пособие по иностранному языку, в котором ученики проводили по городу следы, задавая и отвечая на вопросы на немецком, французском и т. Д. Статья в декабрьском номере. Компьютерная эра 1979 года охватывала раннюю реализацию под названием Tiny Pilot и давала полный список машинного кода.
Версии PILOT, наложенные на интерпретаторы BASIC ранних микрокомпьютеров, не были известны в конце 1970-х - начале 1980-х, и журнал Byte в какой-то момент опубликовал полную производную PILOT не по Тьюрингу, известную как Waduzitdo Ларри Хериарти, чтобы продемонстрировать, что такое компьютер был способен. [4] [5]
В Vanilla PILOT 1983 года для Commodore 64 была добавлена графика черепах [6], как и в Super Turtle PILOT, который был опубликован в октябрьском выпуске 1987 года COMPUTE! журнал. [7]
В 1991 году Институт инженеров по электротехнике и радиоэлектронике (IEEE) опубликовал стандарт для пилотов как IEEE Std 1154-1991. С тех пор он был отозван. [8] реализация ссылки на этом основании был реализован Эрик Реймонд и поддерживал - неохотно - в течение следующих 15 лет. [9]
В 1990 году Том Нильсен, EdD, разработал и запрограммировал eSTeem PILOT для компьютеров Atari ST. Основанный на стандартах IEEE для PILOT, он включает специфические для Atari функции, такие как управление устройствами Laserdisc и CDROM. [10]
Реализация psPILOT для любителей 2018 года, частично основанная на стандарте IEEE, была реализована с использованием языка сценариев Microsoft PowerShell. [11]
Ссылки [ править ]
- ^ Роб Линвуд. "Ресурсный центр" ПИЛОТ " . Проект Sourceforge . Проверено 13 октября 2011 года .
- ^ Сючжи Чжоу (1998). «Реестр бумаг Джона А. Старквезера, 1965–1985» . Библиотека Калифорнийского университета в Сан-Франциско . Проверено 13 октября 2011 года .
- ^ Джим Конлан, Трейси Делимэн (1983). Atari PILOT для начинающих . Рестон Паблишинг. ISBN 9780835903028.
- ↑ Брайан Коннорс (6 апреля 2001 г.). «Вадузитдо 2001» . Проверено 13 октября 2011 года .
- ^ Ларри Kheriarty (сентябрь 1978). «ВАДУЗИТДО: Как написать язык не более 256 слов». Байт .
- ^ "Vanilla PILOT, PILOT, который идет с графикой черепахи" . Инфомир . 12 сентября 1983 г. С. 67–69 . Проверено 13 октября 2011 года .
- ^ Atarimagazines.com - ВЫЧИСЛИВАЙТЕ! Выпуск 89, октябрь 1987 г., стр. 74
- ^ Стандарт IEEE 1154-1991 для программного запроса, обучения или преподавания (PILOT) . Комитет по стандартам IEEE. 1991. DOI : 10,1109 / IEEESTD.1991.108548 . ISBN 0-7381-1184-8.
- ^ "Двадцать лет спустя" .
- ^ "Пресс-релиз: eSTeem PILOT" .
- ^ "psPilot" .
Дальнейшее чтение [ править ]
- Джон Старквезер (1985). Руководство пользователя Pilot . Прентис-Холл. ISBN 978-0-13-937755-6.