QuickBASIC
Microsoft QuickBASIC — інтегроване середовище розробки і компілятор мови програмування BASIC, розроблений компанією Microsoft у середині 1980-х років. Призначений для операційної системи MS-DOS; недовгий час існувала також версія для Mac OS Classic. Заснований на GW-BASIC з численними доповненнями (типи, що визначаються користувачем, покращена структура програми, підтримка графічних можливостей, компілятор, та інше). QuickBASIC позиціонувався Microsoft як платформа початкового рівня для розробки на BASIC. Існували схожі середовища розробки і для інших мов, такі як QuickC і QuickPascal. ІсторіяРеліз першої версії QuickBASIC відбувся 18 серпня 1985 року; програма записувалася на одну дискету ємністю 360 кілобайт. QuickBASIC версії 2.0 і новіші містили інтегроване середовище розробки. Номери рядків[en] у QuickBASIC стали опційними (тобто програмувати можна було як з номерами рядків, так і без); у операторах переходу (таких, як Пакет містив компілятор «PC BASIC Compiler», що дозволяв компілювати BASIC-програми у EXE-файли для MS-DOS. Починаючи з версії 4.0 у редакторі з'явився вбудований інтерпретатор, що дозволяв запускати програму натисненням клавіші. Інтерпретатор був зручним засобом відлагоджування програми перед створенням виконуваного файлу. Втім, між інтерпретатором і компілятором були суттєві відмінності, і нерідко програма, яка нормально працювала у режимі інтерпретації не запускалася у скомпільованому вигляді (або не компілювалася взагалі) через відмінності у реалізації механізмів керування пам'яттю.[1] Останньою версією QuickBASIC стала версія 4.5 (1988 рік), хоча розробка системи Microsoft BASIC Professional Development System (PDS) продовжувалася до жовтня 1990 року (остання версія 7.1).[2] Також було змінено метод пакування дистрибутивних файлів (застосували той же метод компресії, що і у BASIC PDS 7.1).[3] 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 і були орієнтовані винятково на Windows. Підмножина QuickBASIC 4.5, названа QBasic, входила до складу дистрибутиву MS-DOS 5.0 і пізніших версій. QBasic замінив собою GW-BASIC, що постачався зі старішими версіями MS-DOS. У порівнянні з QuickBASIC, у QBasic був лише інтерпретатор, відсутні кілька функцій, є обмеження на розмір програми, і відсутня підтримка роздільних програмних модулів. QuickBASIC 1.00 для Apple Macintosh з'явився 1988-го року. Офіційно він підтримував операційну систему System 6 при наявності мінімум 1 мегабайт оперативної пам'яті.[4] Можна було запускати QuickBASIC і під System 7, але тільки тоді, коли 32-розрядна адресація вимкнена (це було неможливим на машинах з процесорами Motorola 68040). Приклад синтаксисуНайкоротша версія Hello, World, використовується скорочення ? "Hello, World"
З очищенням екрану і явним зазначенням кінця програми (оператор CLS
PRINT "Hello, World"
END
Типи данихЗмінні бувають числові та текстові. Поділ змінних на типи користувач може зафіксувати у програмі різними способами. Їх є чотири:
Якщо опис типу відсутній, то Qbasic розглядає змінні як короткі дійсні числові, а VB - як довгі дійсні числові. Однак текстові змінні потрібно описувати завжди. Для цього до імені текстової змінної змінної дописують спеціальний символ $, на приклад A$, A1$. Спеціальні суфіксиЩоб зазначити явно типи змінних, до їхніх імен дописують спеціальні символи (суфікси).
Опис типівУ більшості сучасних мов програмування спеціальні символи для описування типів змінних не використовують, тому в мові Бейсик варто надавати перевагу командам опису типів або принципу замовчування. Команди описування типів записують на початку програми. У Qbasic використовують такі команди:
Приклад 1. Цілі змінні A, B, C, D можна описати так: DEFINT A, B, C, D або так: DEFINT A, B : DEFLNG C, C.
Приклад 2. Щоб проінформувати систему, що всі змінні, які починаються із символів A, B, C, D, K, M, є змінними цілого типу, із символів E, F дійсного короткого типу, із P, Q текстового типу, на початку програми записують такі команди: DEFINT A-D, K, M DEFSNG E, F DEFSTR P, Q. Дефіс у першій команді замінює перелік елементів списку через кому (A, B, C, D). Команда DIMДля оголошення змінних у сучасних версіях мови застосовують команду DIM. DIM <змінна 1> AS <тип 1>, <змінна 2> AS <тип 2> DIM <змінна 3> AS <тип 3>, ... Приклад 3. Цілі змінні A, B, дійсні C, D та текстову H можна оголосити так: DIM A AS INTEGER, B AS INTERGER, C AS DOUBLE DIM D AS DOUBLE, H AS STRING*10. Текстові дані (назва типу STRING) можуть містити у Qbasic до 255 літер і займати в пам'яті до 256 байтів (у VB ці дані значно довші). Якщо заздалегідь відомо, що кількість літер у тексті не перевищує числа n,то тип цього даного описують як STRING*n. ГрафікаПеремикання між режимами роботи відеоконтролера здійснюється командою SCREEN n , де n — номер відеорежиму (0: текстовий; 2: графічний 640x200 пікселів, 16 кольорів, 1 відеосторінка; 7: графічний 320x200 пікселів, 2 відеосторінки; 8: 640x200, 9: 640x350, 11 або 12: 640x480). КольориКольори в програмі задають командою COLOR: COLOR A, B, C ' для режиму 0
COLOR A, B ' для режимів 7…10
COLOR A ' для режиму 12
Тут A, B, C - числа або змінні. Значення А задає колір зображення, В - колір тіла, С - колір межі. Числове кодування кольорів наступне:
Приклад: команда Змінити колір пікселя можна за допомогою команди PSET: PSET (X,Y), D Тут X - горизонтальна координатна точки; Y - вертикальна; D - колір; X, Y, D - сталі змінні або вирази. Якщо кольори задані командою COLOR A, B то засвітити точку (X, Y) кольором А (на тлі В) можна так: PSET (X,Y) Приклад: Засвітити зеленим кольором точку з координатами (50, 100) можна так: PSET (50, 100), 2. Загасити піксель можна командою PSET (X,Y), B або командою PRESET (X, Y) Приклад: загасити засвічену раніше точку можна так: PSET (50, 100). Команду PRESET використовують також для розміщення графічного курсора в стартове положення (X, Y). Зображення прямих і прямокутниківДля малювання прямої кольором D використовують команду LINE: LINE (X1, Y1) - (X2, Y2), D У дужках зазначають координати початку і кінця прямої. Координати початку можна опускати, якщо користувача влаштовують координати графічної точки, де є курсор. Отже, коротка форма команди має такий вигляд: LINE - (X2, Y2) У цьому випадку рисується (кольором A) пряма лінія від деякої поточної точки до точки з координатами (X2, Y2). Приклад 4. З'єднати точки з координатами (50, 100) та (50, 150) червоною лінією можна так:
LINE (X1, Y2), D, B Тут у дужках задано координати діагонально протилежних вершин прямокутника.
Приклад 5 Нарисуємо квадрат і розмалюємо його яскраво-синім кольором: LINE (50,100) - (100, 150), 9, BF.
PAINT (X, Y), D, C Тут X, Y - координати будь-якої точки, що лежить у середині замкнутої ділянки, яку розмальовують; D - колір розмальовування; C - колір межі ділянки.
Приклад 6. Сонце можна намалювати так:
SCREEN 7 COLOR 5, 3 CIRCLE (160, 100), 70, 4 'Команда CIRCLE зображає коло.' PAINT (160, 100), 14, 4 END Команда DRAWКоманду DRAW використовують (лише у Qbasic)для рисування ліній різного кольору різної довжини у восьми допустимих напрямках. Вона має вигляд DRAW текстова стала Тут текстова стала - це послідовність параметрів-кодів, які позначають напрямок руху. Після кожного параметра стоїть число, яке вказує довжину лінії. Параметрів, що задають напрямок руху, є вісім. Стрілка пояснює, в якому напрямку комп'ютер рисує лінію на екрані.
Приклад 4. За допомогою команди 30 DRAW "U30R40D30L40" можна нарисувати прямокутник, виходячи з деякої точки, заданої командою PSET, або з точки, де закінчила рисувати попередня команда, інакше рисування почнеться у центрі екрана.
Імітація руху об'єкта на екраніДля імітації руху зображення об'єкта на екрані потрібно виконати такий алгоритм:
Продемонструємо цей алгоритм на прикладі програми "Рух кола". На екрані зелене коло на чорному тлі рухатиметься вверх-вниз. Програма "Рух кола" SCREEN 8
COLOR 2,1
Y = 10
SY = 4
start:
CIRCLE (120, Y), 40, 2 ' Малювання кола
CIRCLE (120, Y), 40, 1 ' Стирання кола
Y = Y + SY ' Зміна y-координати центру
IF Y < 10 OR Y > 190 THEN SY = -SY ' Якщо досягнуто межі, перемкнути на рух у протилежний бік
GOTO start ' На початок циклу
Перервати виконання цієї програми можна комбінацією Ctrl+Break. Для комп'ютерів з високою швидкодією слід робити штучні паузи між малюванням та стиранням об'єктів, щоб не втрачати їхнє правильне зображення на екрані. Джерела
Information related to QuickBASIC |