Начальный экран | |
Разработчики) | Microsoft |
---|---|
изначальный выпуск | 1985 |
Стабильный выпуск | 7/1990 |
Операционная система | MS-DOS , классическая Mac OS |
Платформа | x86 , Motorola 68000 |
Тип | Microsoft BASIC |
Лицензия | Проприетарный |
Интернет сайт | www |
Microsoft QuickBASIC (также QB ) - это интегрированная среда разработки (или IDE) и компилятор для языка программирования BASIC , разработанный Microsoft . QuickBASIC работает в основном под DOS , хотя была и недолговечная версия для классической Mac OS . Он частично основан на GW-BASIC, но в дополнение к интерпретатору добавляет определяемые пользователем типы, улучшенные структуры программирования, лучшую графику и поддержку дисков, а также компилятор . Microsoft продавала QuickBASIC как вводный уровень для своей системы профессиональной разработки BASIC. [1] Microsoft продала две другие подобные IDE для C и Pascal, а именно QuickC и QuickPascal .
История [ править ]
Microsoft выпустила первую версию QuickBASIC 18 августа 1985 года на одной 5,25-дюймовой дискете размером 360 КБ . QuickBASIC версии 2.0 и более поздних версий содержал интегрированную среду разработки (IDE), позволяющую пользователям редактировать прямо в экранном текстовом редакторе.
Хотя QuickBASIC все еще поддерживается, номера строк стали необязательными. Переходы программы также работали с именованными метками. В более поздних версиях также были добавлены управляющие структуры, такие как многострочные условные операторы и блоки цикла.
Компилятор PC BASIC от Microsoft был включен для компиляции программ в исполняемые файлы DOS. Начиная с версии 4.0, редактор включал интерпретатор, который позволял программисту запускать программу, не выходя из редактора. Интерпретатор использовался для отладки программы перед созданием исполняемого файла. К сожалению, между интерпретатором и компилятором были некоторые тонкие различия, что означало, что большие программы, которые правильно выполнялись в интерпретаторе, могли не работать после компиляции или не компилироваться вообще из-за различий в процедурах управления памятью. [2]
Последней версией QuickBASIC была версия 4.5 (1988 г.), хотя разработка Microsoft BASIC Professional Development System (PDS) продолжалась до ее последнего выпуска версии 7.1 в октябре 1990 г. [3] В то же время пакет QuickBASIC был незаметно изменен. чтобы на дисках использовалось то же сжатие, что и для BASIC PDS 7.1. [4] Версия среды IDE Basic PDS 7.x называлась QuickBASIC Extended (QBX) и работала только в DOS, в отличие от остальной части Basic PDS 7.x, которая также работала в OS / 2. Преемником QuickBASIC и Basic PDS стал Visual Basic версии 1.0 для MS-DOS, поставляемый в версиях Standard и Professional. Более поздние версии Visual Basic не включали версии DOS, поскольку Microsoft сосредоточилась на приложениях Windows.
Подмножество QuickBASIC 4.5, названное QBasic , было включено в MS-DOS 5 и более поздних версий, заменив GW-BASIC, включенный в предыдущие версии MS-DOS. По сравнению с QuickBASIC, QBasic ограничен только интерпретатором, в нем отсутствуют некоторые функции, он может обрабатывать только программы ограниченного размера и не поддерживает отдельные программные модули. Поскольку в нем отсутствует компилятор, его нельзя использовать для создания исполняемых файлов, хотя исходный код его программы все еще может быть скомпилирован с помощью компилятора QuickBASIC 4.5, PDS 7.x или VBDOS 1.0, если он доступен.
QuickBASIC 1.00 для операционной системы Apple Macintosh был запущен в 1988 году. Он официально поддерживался на машинах под управлением System 6 с как минимум 1 МБ ОЗУ. [5] QuickBASIC также мог работать в Системе 7 , если 32-битная адресация была отключена.
Пример синтаксиса [ править ]
Привет, мир , самая короткая версия:
? "Привет, мир"
Привет, мир , расширенная версия:
CLS PRINT "Hello, World" КОНЕЦ
99 бутылок пива :
LET БУТЫЛОК = 99 : LET БУТЫЛКИ $ = "99" : ЛПЭ БУТЫЛКА $ = "бутылка" ДЛЯ A = 1 TO 99 PRINT Бутылочки $ ; БУТЫЛКА $ ; "пива на стене" ; БУТЫЛКИ $ ; БУТЫЛКА $ ; "пива". ПОЗВОНИТЬ БУТЫЛКИ = БУТЫЛКИ - 1 ЕСЛИ БУТЫЛКИ > 0, ТО ПОЗВОЛЯЕМ БУТЫЛКИ $ = LTRIM $ ( STR $ ( БУТЫЛКИ )) : LET МЕСТОИМЕНИЕ $ = "один" IF БУТЫЛОК = 0 THEN LET БУТЫЛОК $ = "не более" : LET МЕСТОИМЕНИЕ $ = "это" IF БУТЫЛОК <> 1 THEN LET БУТЫЛКИ $ = "бутылки" IF БУТЫЛОК = 1 THEN LET BOTTLE $ = "бутылка" ПЕЧАТЬ "Take" ; PRONOUN $ ; "вниз и разнести" ; БУТЫЛКИ $ ;БУТЫЛКА $ ; "пива на стене". PRINT : СЛЕДУЮЩИЙ PRINT «Нет больше бутылок пива на стене, не больше бутылки пива.» ПЕЧАТЬ «Сходи в магазин и купи еще, 99 бутылок пива на стене».
Пример графики:
ЭКРАН 13 DIM a ( 3976 ) AS INTEGER , b ( 3976 ) AS INTEGER , c ( 3976 ) AS INTEGER DIM d ( 3976 ) AS INTEGER , e ( 3976 ) AS INTEGER col % = 16 : col1 % = 16 : col2 % = 16 : col3 % = 16 : col4 % = 16 col5 % = 16 : col6 % = 16 : col7 % = 16 : flag = 1 : flag1 = 1 flag2 = 1 : flag3 = 1 : flag4 = 1 : flag5 = 1 : flag6 = 1 : flag7 = 1 DO GET ( 1 , 38 ) - ( 318 , 62 ), PUT ( 2 , 38 ), , PSET ЛИНИЯ ( 1 , 38 ) - ( 1 , 62 ), Col % ЕСЛИ флаг = 1 ТОГДА Col % = Col % + 1 : ЕСЛИ Col % = 32 ТО флаг = 2 ЕСЛИ флаг = 2 ТО col % = col % - 1 : IF col % = 16 THEN flag = 1 GET ( 2 , 63 ) - ( 319 , 87 ), b PUT ( 1 , 63 ), b , PSET LINE ( 319 , 63 ) - ( 319) , 87 ), col1 % IF flag1 = 1 ТО col1 % = col1 % + 1 : IF col1 % = 32 THEN flag1 = 2 IF flag1 = 2 THEN col1 % = col1 % - 1 : IF col1 % = 16 THEN flag1 = 1 GET ( 1 , 88 ) - ( 318 , 112 ), c PUT ( 2 , 88 ), c , PSET LINE ( 1 , 88 ) - ( 1 , 112 ), col2 % IF flag2 = 1 THEN col2 % = col2 % + 1 : ЕСЛИ col2 % = 32 THEN flag2 = 2 IF flag2 = 2 THEN col2 % = col2 % - 1 : ЕСЛИ col2 % = 16 THEN flag2 = 1 GET ( 2 , 113 ) - ( 319 , 137 ), d PUT ( 1 , 113 ), d , PSET LINE ( 319 , 113 ) - ( 319 , 137 ), col3 % IF flag3 = 1 THEN col3 % = col3 % + 1 : ЕСЛИ col3 % = 32 THEN flag3 = 2 IF flag3 = 2 THEN col3 % = col3 % - 1 : IF col3 % = 16 THEN flag3 = 1 GET ( 1 , 138 ) - ( 318 , 162 ), e PUT ( 2 , 138 ), е , PSET ЛИНИЯ ( 1 , 138 ) - ( 1 , 162 ), col4 % IF flag4 = 1 THEN col4 % = col4 % + 1 : ЕСЛИ col4 % = 32 THEN flag4 = 2 IF flag4 = 2 THEN col4 % = col4 % - 1 : IF col4 % = 16 THEN flag4 = 1 ЦИКЛ ДО LEN ( INKEY $ )
Пузырьковая сортировка :
Пример REM пузырьковой сортировки N = 10 DIM A ( N ) AS INTEGER FOR L = 1 TO N A ( L ) = INT ( RND * 10 + 1 ) NEXT FOR X = 1 TO N FOR Y = 1 TO N - 1 IF A ( X ) < A ( Y ) ТОГДА СВОП A ( X ), A ( Y ) СЛЕДУЮЩИЙ СЛЕДУЮЩИЙ ДЛЯ L = 1 К N ПЕЧАТЬ A ( L ) СЛЕДУЮЩИЙ КОНЕЦ
Текущее использование [ править ]
QuickBASIC имеет неофициальное сообщество программистов-любителей, которые используют компилятор для написания видеоигр , графических интерфейсов и утилит . [6] [7] [8] Сообщество посвятило этому языку несколько веб-сайтов, форумов и онлайн-журналов . [9] [10]
Сегодня программисты иногда используют эмуляторы DOS , такие как DOSBox , для запуска QuickBASIC в Linux и на современном оборудовании персональных компьютеров, которое больше не поддерживает компилятор. [11] [12] Альтернативы этому включают FreeBASIC и QB64 , но они пока не могут запускать все программы QBasic / QuickBASIC. [13]
С 2008 года набор процедур TCP / IP для QuickBASIC 4.x и 7.1 возродил интерес к этому программному обеспечению. В частности, сообщество любителей старинных компьютеров смогло написать программное обеспечение для старых компьютеров под управлением DOS, что позволяет этим машинам получать доступ к другим компьютерам через локальную сеть или Интернет. Это позволило системам, даже таким старым, как 8088, выполнять новые функции, такие как работа в качестве веб-сервера или использование IRC . [14]
Преемники [ править ]
Visual Basic от Microsoft был преемником QuickBASIC. Другие компиляторы, такие как PowerBASIC и FreeBASIC , имеют разную степень совместимости. QB64 , мультиплатформенный переводчик QuickBASIC в C ++, сохраняет почти 100% совместимость и компилируется для Windows , Linux и macOS . [15]
См. Также [ править ]
- QBasic
- Турбо Базовый
- QB64
Ссылки [ править ]
- ^ Ранняя документация Microsoft отображала имя исключительно как «QuickBASIC», хотя в более поздних ссылках на веб-сайте Microsoft также используется «QuickBasic».
- ^ База знаний Microsoft 45850: Управление памятью в компиляторе QuickBasic и Basic
- ^ QuickBASIC 4.5 поставлялся в комплекте из пяти 5,25-дюймовых дискет DSDD по 360 КБ или трех 3,5-дюймовых дискет DSDD по 720 КБ. Версия с тремя дисками также может быть установлена с 1,25-дюймовых дисков DSHD размером 1,2 МБ или 1,44 МБ 3,5 дюйма. Чтобы сэкономить средства, файлы были сжаты, и более поздние версии поставлялись всего на четырех 5,25-дюймовых дисках или двух 3,5-дюймовых дисках.
- ^ Статья 65291 базы знаний Майкрософт
- ^ Системные требования QuickBASIC для Macintosh
- ^ "Каталог игр QBASIC" . 2008-11-29. Архивировано из оригинала на 4 сентября 2014 года . Проверено 28 декабря 2008 .
- ^ «Обзоры графического интерфейса пользователя» . 2008-12-19 . Проверено 28 декабря 2008 .
- ^ "Блог (ОСНОВНОЙ) GUI" . 2011-02-06 . Проверено 6 февраля 2011 .
- ^ "Новости Qbasic / Quickbasic" . 2008-12-26 . Проверено 28 декабря 2008 .
- ^ "QB Express" . Сайт Пита QBASIC / QuickBasic. 2008 . Проверено 28 декабря 2008 .
- ^ Пит Trbovich (2007-03-31). «Как играть со старыми программами QBasic в Linux» . Проверено 28 декабря 2008 .
- ^ Kiyote Wolf (2008-05-10). «Киётэ волк на самые разные темы» . QB Express . Проверено 28 декабря 2008 .
- ^ Например, FreeBASIC еще не поддерживает обратный вызов QBasic «ON PLAY» для фоновой музыки или использование PEEK и POKE для портов ввода / вывода .
- ↑ Майк Чемберс (12 июля 2008 г.). «rubbermallet.org: где QuickBASIC становится намного мощнее» . Проверено 28 декабря 2008 .
- ^ Виртанен, EK (2008-05-26). «Интервью с Галеоном» . Архивировано 6 марта 2016 года . Проверено 14 июля 2008 .CS1 maint: неподходящий URL ( ссылка )
Внешние ссылки [ править ]
- История версий Microsoft QuickBasic для MS-DOS