XBasic
Перейти к навигации
Перейти к поиску
Xbasic — это бесплатная среда программирования на основе BASIC для Windows и GNU/Linux. Поддерживает консольный и графический режимы . Xbasic был разработан в 1988 году Максом Ризоном для использования в среде Unix /m88k и перенесен на Windows NT с 1992 года . Xbasic является бесплатным программным обеспечением с 1999 года .
Отличия от Standard BASIC , QBASIC и Visual Basic
Синтаксис
- Xbasic — это язык структурированного программирования , в котором не используются номера строк. Типичные базовые функции, такие как суффиксы типов данных (которые значительно расширяют возможности), принимаются, но избегается многословность оператора BASIC, такая как "OPEN... FOR... AS...", в пользу схемы, основанной на базовых функциях.
- Программы Xbasic разделены на три части в стиле программ Pascal: "PROLOG" (объявление типа), "Entry()" (основная функция) и дополнительные функции.
Переменные
- В отличие от ANSI BASIC, но в рамках текущего стандарта BASIC допускаются переменные с именами любой длины.
- Константы обозначаются префиксом "$$"
- Я знаю
Операторы
- В отличие от ANSI BASIC , QBASIC или Visual Basic , Xbasic имеет операторы сдвига для двоичной арифметики, что обеспечивает большую совместимость с программированием на двоичном уровне, таким как вычисление CRC. Он также различает логические операторы и бинарные арифметические операторы.
- Xbasic использует операторы, аналогичные операторам языка C:
- «**» означает «повышен до»
- «^» является синонимом XOR (это не означает «поднят до»).
- «&» означает «И» (это не означает «конкатенация»).
- "=" не используется в предложениях IF (или, по крайней мере, предполагается).
- "==" используется (вместо "=") в предложениях IF
Ветвление и подпрограммы
- Xbasic, как и QBASIC и более поздние версии, является языком структурированного программирования .
- Позволяет SELECT, DO, DO WHILE и DO UNTIL, кроме GOTO
- Разрешить объявления функций через FUNCTION(), кроме GOSUB. В отличие от QBASIC или Visual Basic , он не делает различий между функциями (которые производят вывод) и подпрограммами (которые этого не делают).
Инструкции ввода/вывода
- Xbasic использует собственный набор инструкций ввода/вывода .
- INLINE$() заменяет INPUT, INPUT$ и INPUT#.
- INKEY$ и INP() не разрешены.
- Номера файлов обозначаются как [число] (XBasic) вместо #number ( BASICA / QBASIC / Visual Basic ).
- Xbasic использует номер_файла =OPEN( имя_файла$ , константа_режима ) вместо OPENимя_файла $ ДЛЯ режима AS #номер_файла ( BASICA / QBASIC / Visual Basic ).
- READ [ номер_файла ] используется вместо GET #номер_файла (( BASICA / QBASIC / Visual Basic ).
- Помимо вышеперечисленного, XBASIC поддерживает графические среды и, следовательно, может принимать ввод/вывод через события, генерируемые элементами управления, размещенными в окнах, в стиле Visual Basic .
Резюме
На следующих диаграммах XBASIC сравнивается с исходным неструктурированным Basic с использованием примера программы, приведенного в статье Википедии о BASIC :
Пример 1: Оригинальный неструктурированный BASIC ( Applesoft BASIC )
10 INPUT "Как тебя зовут?"; долларов США 20 ПЕЧАТЬ "Здравствуйте"; долларов США 30 INPUT "Сколько звездочек вы хотите?"; Н 35 сингапурских долларов = "" 40 ДЛЯ I = 1 К N 50 сингапурских долларов = сингапурские доллары + "*" 55 СЛЕДУЮЩИЙ Я 60 ПЕЧАТЬ S$ 70 INPUT "Хотите больше звездочек?"; $ 80 ЕСЛИ ДЛСТР(A$) = 0 ПЕРЕЙТИ К 70 90 А$ = ВЛЕВО(А$, 1) 100 ЕСЛИ (A$ = "S") ИЛИ (A$ = "s") ТО ПЕРЕЙТИ К 30 110 ПЕЧАТЬ "До свидания"; 120 ДЛЯ I = 1 ДО 200 130 долларов США ПЕЧАТЬ; " "; 140 СЛЕДУЮЩИЙ Я 150 ПЕЧАТЬ
Пример 2: XBasic
FUNCTIONEntry()
Имя пользователя$=INLINE$("Как вас зовут?")
ПЕЧАТЬ "Здравствуйте"; Имя пользователя$
ДЕЛАТЬ
NoAsterisks=SBYTE(INLINE$("Сколько звездочек вам нужно?"))
Звездочки$ = ""
Звездочки$ = CHR$('*', Без звездочек)
ПЕЧАТЬ звездочки$
ДЕЛАТЬ
Response$=INLINE$("Хотите больше звездочек?")
LOOP UNTIL Ответ $ <> ""
LOOP WHILE UCASE$(LEFT$(Answer$, 1)) = "S"
ПЕЧАТЬ "До свидания";
ДЛЯ I = 1 ДО 200
ПЕЧАТЬ Имя пользователя$; " ";
СЛЕДУЮЩИЙ Я
РАСПЕЧАТАТЬ
КОНЕЦ ФУНКЦИИ
Внешние ссылки
- Страницы поддержки XBASIC
- Поддержка на испанском языке: список xbasic_es
- Справка на английском языке:
- Исходная страница (не поддерживается)
- Официальный сайт
- Категория: Задачи XBasic, реализованные в XBasic на rosettacode.org