stringtranslate.com

СуперБЕЙСИК

SuperBASIC — это усовершенствованный вариант языка программирования BASIC со множеством дополнений структурного программирования . Он был разработан в Sinclair Research Яном Джонсом в начале 1980-х годов.

Первоначально SuperBASIC был задуман как интерпретатор BASIC для домашнего компьютера под кодовым названием SuperSpectrum , тогда находившегося в разработке. Этот проект был позже отменен; однако, SuperBASIC впоследствии был включен в прошивку ПЗУ микрокомпьютера Sinclair QL (анонсирован в январе 1984 года), также выступая в качестве интерпретатора командной строки для операционной системы QDOS QL . [1] [2]

Это был один из первых BASIC второго поколения , интегрированный в операционную систему микрокомпьютера (в отличие от BBC BASIC , который появился до него в 1981 году), что сделало ОС расширяемой пользователем — как это сделал Линус Торвальдс в годы своего становления.

Расширенные возможности

Функция ниже иллюстрирует последние восемь из этих функций. После того, как вы RUNее получили, ввод

 ПЕЧАТЬ будни$(Iso("19631122",1))

напечатаетПТна экран. Пока не будет очищено (например, путем ввода NEW), функция Iso [3] будет действовать как расширение операционной системы. Аналогично, согласно Руководству пользователя QL, «многие команды операционной системы сами по себе определены как процедуры». [4]

Пример

АВТО 11,2 Определить FN Iso(S,O) МЕСТНЫЙ г%, м%, д%, и$, н%, в% REM Шаг 0 - выделить компоненты метки даты S="YEARMoDa" ПУСТЬ y%=S(1TO 4) : m%=S(5TO 6) : d%=S(7TO 8) Шаг 1 быстрого сна — инициировать конгруэнтность Лахмана [5] ПУСТЬ 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) НА О= 4: n%=y% НА О= 3 : н%=м% НА O= 2 : n%=d% ВКЛ О= 1 : н%=в% НА O= ОСТАТОК: n%=-1 КОНЕЦ ВЫБОРА Возврат n% Отчеты о данных REM DIM будни$(6,3) ВОССТАНОВЛЕНИЕ 190 ДЛЯ количества=0 ДО 6 : ЧТЕНИЕ будних дней$(количество)

ctrl+space

 100 DIM месяц$ ( 12 , 9 ) 110 ВОССТАНОВЛЕНИЕ 120 REM Пример ii "Восстановление чтения данных" Руководства пользователя QL 130 REM соответствующим образом измененный относительно примера i 140 FOR количество = 1 TO 12 : READ месяц $ ( количество ) 150 DATA " Январь " , " Февраль " , " Март " 160 DATA " Апрель " , " Май " , " Июнь " 170 DATA " Июль " , " Август " , " Сентябрь " 180 DATA "Октябрь" , "Ноябрь" , "Декабрь" 190 DATA "ВС" , "ПН" , "ВТ" , "СР" , " ЧТ" , "ПТ" , "СБ" 199 END DEFine Iso                                              

Библиография

Ссылки

  1. ^ "Иллюстрация Super-BASIC на Sinclair QL". История вычислений . Получено 2023-02-06 .
  2. ^ Апостоло, Альберто. «Sinclair QL: ошибки, неудачи и так много сожалений». RetroMagazineWorld . Получено 2023-02-06 .
  3. ^ gopher://sdf.org/0/users/retroburrowers/TemporalRetrology/QL/JG
  4. ^ Берри, Стивен (1984). Руководство пользователя QL (2-е изд.). Кембридж: Sinclair Research Ltd.
  5. ^ "Motorola 68000", Википедия , 11 января 2023 г. , получено 6 февраля 2023 г.

Внешние ссылки