SuperBASIC - это расширенный вариант языка программирования BASIC с множеством дополнений к структурированному программированию . Она была разработана в Sinclair Research по Ян Джонс в начале 1980. Первоначально SuperBASIC был задуман как интерпретатор BASIC для домашнего компьютера под кодовым названием SuperSpectrum , а затем находился в стадии разработки. Позже этот проект был отменен; Однако, суперосновных впоследствии включены в ROM прошивки на Sinclair QL микрокомпьютером (объявлено в январе 1984 года), а также служит в качестве интерпретатора командной строки для КЖ - х Операционная система QDOS . Это был один из первых BASIC второго поколения , интегрированный в операционную систему микрокомпьютера (в отличие от BBC BASIC, предшествовавшего ему в 1981 году), что сделало ОС расширяемой пользователем - как это сделал Линус Торвальдс в годы его становления.
Расширенные возможности
- RESPR для резидентных процедур, например, для расширения QDOS
- выбор параметров, передаваемых процедурам
- процедуры возвращают параметры по выбору
- ЕСЛИ - ТО - ИНАЧЕ - КОНЕЦ ЕСЛИ
- FOR - NEXT - EXIT - END FOR
- REPeat - NEXT - EXIT - END REPeat
- SELect ON - ON - REMAINDER - END SELect
- произвольно ВОЗВРАТ из процедур и функций
- приведение типов данных между числовыми и строковыми переменными
- фактические параметры, передающие тип данных формальным параметрам
- операции с массивами: нарезка, соединение и т. д.
- LOCal массивы и (строковые) переменные
- АВТОМАТИЧЕСКАЯ Нумерация строк
- относительное ВОССТАНОВЛЕНИЕ И ДАННЫЕ
Функция ниже иллюстрирует последние восемь из этих функций. После ЗАПУСКА введите
ПЕЧАТЬ по будням $ (Iso ("19631122", 1))
выведет FRI на экран. До тех пор, пока не будет очищено (например, введением NEW), функция Iso [1] будет действовать как расширение операционной системы. Точно так же, согласно Руководству пользователя QL, «многие команды операционной системы сами по себе определены как процедуры». [2]
Пример
АВТО 11,2 Определить FN Iso (S, O) LOCal y%, m%, d%, i $, n%, w% REM Шаг 0 - выделить компоненты даты S = "YEARMoDa" Пусть y% = S (1TO 4): m% = S (5TO 6): d% = S (7TO 8) REM Шаг 1 - инициирование сравнения Лахмана [3] Пусть i $ = m% * 2,56 + 193: S = S (1TO 6) - 3 REM Шаг 2 - вычисление номера дня в течение недели Пусть w% = (S (1TO 2) & "32" DIV 16+ S (1TO 4) DIV 4+ y% + i $ (2TO 3) + d%) MOD 7 REM Шаг 3 - вернуть результат ВЫБРАТЬ НА O ВКЛ O = 5: n% = i $ (2TO 3) ВКЛ O = 4: n% = y% ВКЛ O = 3: n% = m% ВКЛ O = 2: n% = d% ВКЛ O = 1: n% = w% ВКЛ O = ОСТАЛОСЬ: n% = - 1 КОНЕЦ ВЫБРАТЬ ВОЗВРАТ n% Утверждения данных REM ДИМ будни $ (6,3) ВОССТАНОВЛЕНИЕ 190 FOR count = от 0 до 6: ЧИТАТЬ будние дни $ (count)
ctrl+space
100 DIM месяц $ ( 12 , 9 ) 110 ВОССТАНОВЛЕНИЕ 120 REM - QL пользователь Руководства «ы "данные Чтения Восстановления" Пример II 130 РЗМ надлежащим образом внесены поправками относительно к примеру я 140 для подсчета = 1 ДО 12 : READ месяца $ ( счетчик ) 150 ДАННЫХ " Январь » , « Февраль » , « Март » 160 ДАННЫЕ « Апрель » , « Май » , « Июнь » 170 ДАННЫЕ « Июль » , « Август » , « Сентябрь » 180 ДАННЫЕ « Октябрь » , « Ноябрь » , « Декабрь » 190 ДАННЫЕ «ВС» , «ПН» , «ВТ» , «СР» , «ЧТ» , «ПТ» , «СБ» 199 END DEFine Iso
Библиография [4]
- Дональд Алкок: Иллюстрирование Superbasic на Sinclair QL. Издательство Кембриджского университета, 1985. ISBN 0-521-31517-4
- Рой Атертон: Хорошее программирование с QL Superbasic. Программное обеспечение Longman, 1984. ISBN 0-582-29662-5
- А.А. Берк: QL SuperBasic . Издательство Гранада, 1984. ISBN 0-246-12596-9
- Ян Джонс: QL SuperBasic: The Definitive Handbook . Макгроу-Хилл, 1984 ISBN 0070847843 ( переиздание электронной книги, 2014 г.)
- Дик Медоуз, Робин Брэдбер, Найджел Сирл: Введение в Superbasic на Sinclair QL. Компьютерное издательство Хатчинсона, 1984. ISBN 0-09-158951-7
- Дик Медоуз, Робин Брэдбер, Найджел Сирл: Максимальное использование Sinclair QL: QL Superbasic и его приложения. Компьютерное издательство Хатчинсона, 1985. ISBN 0-09-160561-X
- Эндрю Нельсон: Изучение Sinclair QL: Введение в SuperBasic. Публикации интерфейса, 1984. ISBN 0-907563-84-8
- Джон К. Уилсон: QL Superbasic: Руководство программиста. Micro Press, 1984. ISBN 0-7447-0020-5
Рекомендации
- ^ gopher: //sdf.org/0/users/retroburrowers/TemporalRetrology/QL/JG
- ^ Руководство пользователя Sinclair Research Ltd. QL, 2-е изд. Кембридж: (1984). Ключевые слова, «ОПРЕДЕЛЕНИЕ ПРОЦЕДУРЫ»
- ^ Motorola 68000 # Пример кода
- ^ «Иллюстрирование Superbasic на Sinclair QL - World of Spectrum» . www.worldofspectrum.org . Проверено 11 апреля 2016 .
Внешние ссылки
- Квантовый скачок - куда? : глава из Синклера и технологии восхода солнца