Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Основы программирования на языке QBasic ( История языка программирования QBasic )

Содержание:

Введение

Сейчас мы не можем представить свою жизнь без информационных технологий, но всего столетие назад о повсеместной компьютеризации можно было прочитать только в фантастической литературе. Технологии развиваются очень быстро, не менее быстро развиваются и языки для написания программного обеспечения для новой техники. Одни языки создаются и забываются, другие – становятся популярными, модифицируются и улучшаются.

В этой работе будет рассмотрен язык программирования QBasic и его основной функционал. Несмотря на то, что язык QBasic был разработан в 80х, а Basic – основа всех языков семейства – в 1963 году, он остаётся актуальным и сейчас. Конечно, сейчас существуют более функциональные языки программирования, и QBasic лишь иногда используется для начальной стадии обучения основам программирования для детей и студентов нетехнических специальностей.

Хотя данному языку уже несколько десятилетий изучение его не является бесполезным, так как на данное время есть большое количество программ поддерживающих язык программирования Basic, например Microsoft Office.

Благодаря скриптам написанным на Basic можно автоматизировать формирование офисных документов, создавать небольшие базы данных, автоматизировать процессы происходящие на компьютере, а заодно и понять что же такое программирование и как пишутся программы.

Глава 1. История языка программирования QBasic

Название языка программирования BASIC — это первые буквы английских слов Beginner’s All-purpose Symbolic Instruction Code (Всецелевой язык программирования для начинающих).

Томас Курц и Джон Кемени – профессора Дартмутского колледжа – задались целью создать такой язык программирования, работать на котором смогут люди, незнакомые с вычислительной техникой. Им был необходим инструмент для написания приложений для собственных нужд, обеспечивающий работу с компьютером в режиме диалога.

Таким инструментом стал язык Basic.

К лету 1963г группа Курца и Кемени получила две субсидии от фирмы «General Electric» на разработку нового языка для решения выше обозначенной проблемы. В мае 1964г была запущена первая программа на BASIC с использованием системы разделения времени с тремя терминалами, а уже к осени 1964г система работала с устройствами с двенадцатью терминалами.

Отметим, что BASIC разрабатывался на основе уже существующих алгоритмических языков. Например, из Fortran взято указание параметров цикла, из Algol – более естественная проверка завершения выполнения цикла, операторы FOR и STEP. Кое-что было заимствовано из языков CORC и LOSS.

Первая программа на BASIC, опубликованная Кемени и Куртцем в 1964г, имела вид.

10 LET X=(7+8)/3

20 PRINT X

30 END

BASIC – язык интерпретирующего типа. В отличие от Fortran, к примеру, который является языком компилирующего типа.

В следующие 6 лет было создано 6 авторских редакций языка BASIC. В 70е годы фирмами «Hewlett-Packard», «Digital Equipment», CDC, «Honeywell» и др. были разработаны версии BASIC для различных типов мини ЭВМ.

Первые два варианта интерпретатора языка BASIC для микро ЭВМ Altair-8800 были созданы сотрудниками фирмы MITS П. Алленом и Б. Гейтсом в 1975г. В следующем году они основали фирму «Microsoft». Первоначальные версии языка фирма «Microsoft» в 1976 - 1978 гг. поставила для ПЭВМ фирм «Commodore», «Apple», «Tandy». В 1979 г. фирмой «Microsoft» была разработана версия языка –BASIC-80, а позднее – расширенная версия BASIC -80 под названием BASIC-A (Advanced – передовой), которая поддерживала текстовой и графические режимы. В 1984 г. в BASIC-A введены дополнительные возможности (работы с окном экрана, обработка прерываний от таймера, выполнение команд операционной системы и пр.) В этом же году фирмой «Microsoft» был разработан интерпретатор языка Macintosh BASIC для ПЭВМ Macintosh фирмы «Apple».

Quick BASIC – итог дальнейшего развития BASIC-A. Quick BASIC включал в себя подпрограммы и функции с локальными и глобальными переменными, средства поддержки графики и звука, алфавитно-цифровые метки и пр.

True BASIC был разработан для IBM PC в 1985г Т. Куртцом и Дж. Кемени.

Спустя 14 лет после запуска первой программы на BASIC, в 1978г, был принят стандарт ANSI на минимальный BASIC (Minimal BASIC -- ANSI X3.60), который, однако, не решил всех проблем спонтанного развития языка. Вот что пишет по этому поводу Р. Форсайт: «Сразу же после своего появления BASIC стал меняться: с ним начал происходить процесс, похожий на эволюцию естественных языков. Хотя одна из версий была утверждена комитетом стандартов и закреплена разработчиками транслятора, язык вскоре вышел из повиновения и стал общественным достоянием».

Один из создателей BASIC Т. Куртц, ставший председателем комитета ANSI по разработке стандарта языка, в 1982г. опубликовал в журнале BYTE проект расширенного стандарта языка. Проект нового стандарта на языка BASIC выдвинут совместно с ANSI рабочими группами двух европейских организаций – ECMA (Ассоциация вычислительных средств) и EWICS (Комитет промышленных средств вычислительной техники).

Согласно публикации по новому стандарту (BYTE.-1988.-13.-Э 9) определены следующие особенности языка:

нумерация строк не обязательна;

введены новые типы данных;

разрешены символьные константы;

введены новые условные операторы – расширенный IF, оператор выбора SELECT CASE

введен оператор выхода из цикла EXIT FOR и др.

В нашей стране BASIC в пакетном режиме впервые был реализован в 1969-1970 гг. на ЭВМ типа М-20 сотрудниками Горьковского университета под руководством Ю. Кеткова. Им же была опубликована первая доступная книга по программированию на BASIC. Затем появилась модернизация BASIC для ЭВМ М-222, которая позволила его использовать в режиме разделения времени. В дальнейшем сотрудники ИК АН УССР и ВЦ Сибирского отделения АН СССР реализовали BASIC на высоко производительной ЭВМ второго поколения БЭСМ-6.

Последующая отечественная история BASIC связана с мини-ЭВМ, микро-ЭВМ и ПЭВМ. В мини-ЭВМ М 6000, М 7000, СМ1 и СМ2 реализована версия BASIC, соответствующая первым авторским редакциям конца 60-х годов, а в мини-ЭВМ СМ3, СМ4, имеющих в составе операционные системы ОС РВ и РАФОС, использовалось несколько версий языка BASIC. Версия языка под названием BASIC +, разработанная в 1975г. для мини-ЭВМ PDP-11, широко применялась в СМ-3 и СМ-4.

В отечественных ПЭВМ применялись различные диалекты языка BASIC. Так, в ПЭВМ «Искра-220» использовалась расширенная версия языка системы WANG-2200 B, а в ПЭВМ «Агат» – интерпретатор языка, идентичный тому, который применялся ПЭВМ «Apple 2». Версия BASIC+ использовалась в микро-ЭВМ «Электроника 60» и диалоговых вычислительных комплексах ДВК-1, ДВК-2, ДВК-3. Для новых учебных вычислительных комплексов типа «Корвет» разработан интерпретатор языка BASIC на основе версии MBASIC. Профессиональные персональные ЭВМ, такие, как ЕС 1841/42, «Искра 1030.11», «Нейрон N9.66», программно-совместимые с IBM PC, работали с указанными выше версиями BASIC в ОС СР/М-86 и MS DOS. Кроме того, в некоторых учебных заведениях страны успешно эксплуатировались несколько тысяч японских бытовых компьютеров «Ямаха MSX» и «Ямаха MSX-2», используемых в качестве комплектов учебной вычислительной техники (КУВТ), в которых программы реализовывались на языке MSX-BASIC. С июля 1989 г. в СССР был введен стандарт на язык программирования БЕЙСИК (ГОСТ 27787-88).

Последняя, седьмая версия настоящего QuickBASIC вышла в 1990 году. Через год Microsoft выпустил Visual Basic, который со временем превратился в VB.Net, ушедший от своих корней совсем уж далеко. QBasic — урезанная версия QuickBASIC без компилятора — прилагалась к MS-DOS еще какое-то время, но в версиях ОС Windows позднее 98ой поддержка QuickBASIC прекращена.

Глава 2. Основы языка BASIC

2.1 Алфавит языка

Набор символов языка QBasic состоит из:

  • все прописные и строчные буквы латинского алфавита (A-Z, a-z);
  • цифры (0-9), а так же буквы (A-F) или (a-f) для представления шестнадцатеричных чисел[1];
  • знаки:

+

плюс

=

равно

-

минус

<

меньше

*

умножение

>

больше

/

деление

^

возведение в степень

  • разделители:

,

запятая

'

апостроф

.

точка

(

открывающая скобка

:

двоеточие

)

закрывающая скобка

;

точка с запятой

_

подчеркивание

  • символы объявления типа данных:

%

целые

&

длинные целые

!

обычной точности

#

двойной точности

$

символьные

2.2 Типы данных

Каждая переменная в языке QBASIC имеет тип. Тип определяет, какие данные хранятся в этой переменной. Существует две основных категории данных: числовые и символьные. Каждая категория включает в себя элементарные типы данных.

Числовые данные представляют собой числа. Они бывают следующих типов: целые, длинные целые, обычной точности, двойной точности:

  • Целые (INTEGER) — занимают в памяти 2 байта и используются для значений в диапазоне от -32768 до +32768;
  • Длинные целые (LONG) — 4 байта. Используются для значений в диапазоне от -2,147,483,648 до +2,147,483,647. Они используются в тех случаях, когда необходимы операции с целочисленными переменными, выходящими за рамки диапазона целых чисел в представлении BASIC.
  • Обычной точности (SINGLE) — 4 байта. Используется для значений в диапазоне от -3.402823Е+38 до -1.40129Е-45 для отрицательных значений и от +1.40129Е-45 до -3.402823Е+38 для положительных значений.
  • Двойной точности (DOUBLE) — 8 байт. Используется для значений в диапазоне от 1.797693134862316Е+308 до -4.94965Е- 324 для отрицательных значений и от 4.94965Е-324 до 1.797693134862316Е+З08 для положительных значений. Обычно применяется для точных математических вычислений, не допускающих потерю значности.

Символьные типы данных:

  • Строка переменной длины (STRING)— это последовательность длиной до 32567 символов из таблицы ASCII. В памяти она занимает столько байт, какова ее длина + 4 байта на описатель.
  • Строка фиксированной длины (STRING * num) — символьная строка длинною num байт. В памяти такая строка занимает num байт.

Если данные, которые используются в программе, необходимо сгруппировать по какому-либо признаку, то для этого очень удобно использовать пользовательский тип данных (записи). Он составляется из простых типов данных (числовых и символьных), описанных выше. Например, нам необходимо ввести табельный номер работника, его фамилию и тарифную ставку.

'Определим пользовательский тип данных Record

'с помощью оператора TYPE

TYPE Record

TabNomer AS INTEGER

Family AS STRING * 15 Stavka AS DOUBLE

END TYPE

'Присваиваем переменной Rabotnik пользовательский тип

'данных Record

DIM Rabotnik AS Record

'Последовательно вводим значение каждого элемента записи

INPUT "Введите табельный номер"; Rabotnik.TabNomer

INPUT "Введите фамилию работника"; Rabotnik.Family

INPUT "Введите тарифную ставку"; Rabotnik.Stavka

Пользовательский тип данных занимает в памяти столько байт, сколько занимают в сумме каждый из составляющих его элементов. Для нашего примера запись Rabotnik включает целое число (2 байта), строку фиксированной длины (15 байт) и число удвоенной точности (8 байт). Таким образом, она имеет размер 25 байт. Типы данных, определяемые пользователем, могут включать любые типы стандартных данных, кроме строк переменной длины и массивов.

Константами называются заранее предопределенные значения, которые не меняются в процессе работы программы. Константы удобно использовать для тех, которые не предполагается изменять — число строк, выводимых на экран, значения функциональных клавиш, и т. д. В языке QBASIC имеются 2 типа констант — неименованные и именованные.

Неименованные константы Они бывают символьные и числовые, и используются в программе в тех случаях, когда их значение заранее известно и не подлежит изменению. Символьные константы — это последовательность до 32767 алфавитно-числовых символов (за исключением кавычек и символов перевода каретки и пропуска строки (CR — ASCII 13 и LF — ASCII 10.)) Они обязательно должны заключаться в кавычки:

"ПРИВЕТ"

"$ 25,000,000"

"Число работников"

Пример: PRINT "Средняя заработная плата"

Числовые константы представляют собой положительные или отрицательные числа. Они могут быть тех же типов, что и переменные — целые или длинные целые, обычной или двойной точности:

Целый тип: 68, +407 , -1

Длинный целый тип: 95000000, -400141

Обычной точности: 9.0846

Двойной точности: 4.35D-10

Пример:

PRINT 15000

Именованные константы также бывают символьные и числовые, тех же типов, что и неименованные. Чтобы использовать именованную константу, ее необходимо объявить при помощи ключевого слова CONST, например:

CONST MaxArray% = 512

В этом примере объявляется целочисленная константа МахАггау и ей присваивается значение 512. В дальнейшем к этой константе можно обращаться по имени:

DIM Tovar$(МахАггау)

Символьная константа объявляется и используется аналогично:

CONST BAD$ = "mbtl20o016eeel2c"

PLAY BAD 58

Использование именованных констант имеет ряд преимуществ по сравнению с использованием для этих целей переменных:

  • Однажды определив константу, вы не сможете случайно изменить ее значение. BASIC сразу выдаст сообщение об ошибке "Duplicate Definition" (Двойное определение);
  • Именованная константа доступна всем процедурам и функциям данного модуля. В случае же использования переменной, вы должны будете объявить ее как SHARED во всех процедурах и функциях модуля;
  • BASIC выполняет операции с константами быстрее, чем с переменными.

Переменная — эта величина, которая может меняться при выполнении программы. Переменные бывают простые (символьного типа, числового типа и пользовательского типа) и переменные массивы — представляющего собой группу объектов одного типа. Имена переменных могут содержать до 40 символов. В имени переменных могут содержаться латинские буквы, числа, десятичная точка, и символы определения типа (%, &, !, # и $). Первый символ должен быть латинской буквой. Если переменная начинается с FN, подразумевается вызов функции DEF FN. Имя переменной не может быть зарезервированным словом QBASIC, хотя допускается комбинация зарезервированного слова и других символов. Давая имена переменным, можно комбинировать в них прописные и строчные буквы. Хотя BASIC не различает прописные и строчные буквы при работе с переменными, это очень удобно для программиста, поскольку в имени переменной можно сделать акцент на ее назначение. QB внимательно следит за тем, чтобы комбинация прописных и строчных букв была бы одинакова для всех переменных. Так, если вы назвали переменную happynewyear, а затем, к примеру, обратились к ней, как к переменной с именем HappyNewYear, то QB сразу же изменит название happynewyear на HappyNewYear везде, где она встречается.

Глава 3. Выражения и операции

Последовательность операций, которые необходимо произвести над данными, чтобы получить требуемое значение называется выражением. Результатом выражения может быть символьная или числовая константа, переменная или значение.

В языке BASIC существует пять категорий операций:

  • Арифметические операции;
  • Операции отношений;
  • Логические операции;
  • Функциональные операции;
  • Строковые операции.

3.1 Арифметические операции

В QBASIC существуют следующие арифметические операции, которые перечислены в порядке убывания приоритета выполнения:

^ – возведение в степень

+,- – присвоение знака числу (при возведении в степень приоритет присвоения знака считается выше приоритета операции возведения в степень)

*,/ – умножение, деление

\ – целочисленное деление

MOD – остаток после целочисленного деления

+,- – сложение, вычитание

3.2 Операции отношения

Эти операции используются для сравнения арифметических выражений. В QBASIC существует шесть операций отношения, перечисленных в таблице:

Оператор

Значение

Выражение в QBASIC

=

Равенство

X=Y

< >

Неравенство

X< >Y

<

Меньше

X<Y

>

Больше

X>Y

<=

Меньше или равно

X<=Y

>=

Больше или равно

X>=Y

Операторы отношения используют два значения. Результатом операции отношения является либо "TRUE" (ИСТИНА — ненулевое значение), либо "FALSE" — (ЛОЖЬ — ноль).

Если в одном выражении встречаются и арифметические операторы и операторы отношения, то первыми выполняются арифметические операторы.

3.3 Логические операции

Логические операции осуществляют манипуляции над битами. По-другому они называются "Булевы операции". Они возвращают значения "TRUE" (ИСТИНА — не нулевое значение, внутренние представление BASIC = -1) и "FALSE" (ЛОЖЬ — нулевое значение, внутренние представление BASIC = 0.)

В QBASIC существует шесть логических операторов, название и толкование которых приведены ниже:

Оператор

Название

Объяснение

NOT

Отрицание

NOT A истинно тогда и только тогда, когда А ложно

AND

Логическое умножение

A AND B истинно тогда и только тогда, когда истинно А и истинно В

OR

Логическое сложение

A OR B истинно тогда и только тогда, когда хотя бы одно из А и В истинно

XOR

Исключающее ИЛИ

A XOR B истинно тогда и только тогда, когда значения А и В не совпадают

EQV

Эквивалентность

A EQV B истинно тогда и только тогда, когда А и В одновременно истинны или одновременно ложны

IMP

Импликация

A IMP B принимает значение «ложь», если А истинно, а В ложно, и значение «истина» в других случаях

'В этом примере показана работа со всеми логическими операторами QBASIС:

DECLARE SUB TruthTable (X%, Y%)

DEFINT A-Z

CLS PRINT " X Y NOT AND OR ";

PRINT "XOR EQV IMP"

PRINT

I = 10: J = 15

'X = TRUE (-1); Y = TRUE (-1)

X = (I = 10): Y = (J = 15)

CALL TruthTable(X, Y)

'X = TRUE (-1); Y = FALSE (0)

X = (I > 9) : Y = (J > 15)

CALL TruthTable(X, Y)

'X = FALSE (0); Y = TRUE (-1)

X = (I <> 10): Y = (J < 16)

CALL TruthTable(X, Y):

'X = FALSE (0); Y = FALSE (0)

X = (I < 10) : Y = (J < 15)

CALL TruthTable(X, Y)

END SUB TruthTable (X%, Y%)

STATIC

PRINT X; " "; Y; " "; NOT X; " "; X AND Y; "

PRINT X OR Y; " "; X XOR Y; " "; X EQV Y;

PRINT " "; X IMP Y

PRINT

END SUB

Результат

X Y NOT AND OR XOR EQV IMP

-1 -1 0 -1 -1 0 -1 -1

-1 0 0 0 -1 -1 0 0

0 -1 -1 0 -1 -1 0 -1

0 0 -1 0 0 0 -1 -1

3.4 Логические операции

Функциональные операции определяют правила работы с функциями. Функции используются в выражениях для осуществления заранее определенных операций. В QBASIC существуют два вида функций: встроенные и определенные пользователем. Пользовательские функции действуют только в той программе, где они определены и не являются частью языка (если они не скомпилированы в Quick-библиотеку).

3.5 Строковые операции

Над строками можно осуществлять следующие действия — конкатенация (сложение) и сравнение строк.

Конкатенация — это сложение двух символьных строк. Для сложения используется символ(+).

Сравнение строк производится при помощи операторов срав- нения: <>, =, <, >, <=, >= Сравнение строк производится в соответствии с ASCII кодами каждого символа в сравниваемых строках. Если ASCII коды равны, то строки считаются равными. Строка, символы которой имеют большие ASCII коды, считается большей. Если одна из сравниваемых строк короче другой, то она считается меньшей (если до этого места строки были равными). При сравнении учитываются начальные и конечные пробелы.

Глава 4. Операторы передачи управления

При разработке программ часто приходится изменять порядок следования операторов. Только в очень простых программах операторы выполняются один за другим — управление передается последовательно, от оператора к оператору. На практике же, необходимые средства для изменения порядка следования операторов, другими словами, передачи управления — обеспечивают операторы цикла и условные операторы.

Циклы используются в том случае, когда вам необходимо несколько раз выполнить один и тот же фрагмент исходного текста. В BASIC существуют три вида циклов: FOR...NEXT; DO... LOOP; WHILE...WEND

Цикл FOR...NEXT — это цикл с заранее заданным количеством повторений. Можно также выйти из цикла, не дожидаясь выполнения всех повторений — воспользовавшись альтернативным выходом из цикла при помощи оператора EXIT FOR. Управление будет передано на оператор, стоящий после NEXT.

Цикл DO...LOOP выполняется до тех пор, пока истинно условие в начале или конце цикла. А также из цикла возможен альтернативный выход — вне зависимости от того выполнено ли условие выхода, из цикла можно выйти оператором EXIT DO, который передает управление на оператор, следующий за LOOP.

При использовании цикла WHILE...WEND условие может быть только в начале цикла. Альтернативный выход из цикла WHILE...WEND - невозможен.

Условные операторы BASIC помогают вам осуществить "ветвление" программы, т. е. передать управление по условию, на ту или иную "ветку" — это может быть фрагмент текста, процедура SUB или FUNCTION, подпрограмма GOSUB...RETURN, или даже другой модуль. Виды условных операторов BASIC: IF...THEN...ELSE; SELECT...END SELECT

IF...THEN...ELSE IF...THEN...ELSE обычно используется, когда проверяется одно или два условия в программе.

Если же необходимо осуществить проверку более сложных условий, чем ДА/НЕТ, целесообразно использовать условный оператор SELECT... END SELECT.

Глава 5. Ввод и вывод значений

В BASIC существует оператор INPUT, который позволяет запросить у пользователя значение необходимой переменной. Можно ввести одновременно значения нескольких переменных, при этом значения должны отделяться запятыми. Тип вводимых значений должен соответствовать типам переменных, перечисленных в операторе INPUT, иначе BASIC выдаст сообщение "Redo from start" (Начните сначала). Нажатие клавиши {ENTER} заканчивает ввод.

Так как вводимые значения в операторе INPUT должны отделяться запятыми, при помощи него нельзя ввести строку символов, например фразу, в которой содержатся запятые, — BASIC воспримет их как разделитель.

В этом случае используется оператор LINE INPUT:

LINE INPUT "Введите ключевую фразу "; frase$

PRINT "вы ввели: " + CHR$(34) + frase$ + CHR$(34)

Результат:

Введите ключевую фразу ? Казнить нельзя, помиловать

вы ввели "Казнить нельзя, помиловать"

Иногда необходимо ввести фиксированную строку символов так, чтобы они не печатались на экране — например, ну очень секретную информацию. В этом случае выручает оператор INKEY$. Он ждет нажатия заданного количества символов. В данном примере это используется для ввода пароля.

'выводим на экран напоминание

PRINT "Введите пароль (6 букв) для дальнейшей работы"

'цикл DO...LOOP повторяется до ввода правильного пароля DO

'Ждем ввода 5 символов

Parol$ = INPUT$ (5)

LOOP WHILE Parol$ <> "Пароль"

Если же необходимо отследить нажатие управляющих клавиш: {ENTER}, {ESC}, функциональных клавиш, тогда целесообразно использовать оператор INKEY$. В отличии от опера- торов INPUT, LINE INPUT и INPUTS, которые ждут ввода значений с клавиатуры, INKEYS этого не делает, поэтому оператор INKEYS всегда используется в цикле.

Для вывода значений на экран дисплея используется оператор PRINT. Также как и оператор INPUT, PRINT позволяет вывести несколько значений, при этом разделителями могут служить запятая "," или точка с запятой ";". Оператор PRINT без параметров выводит на экран пустую строку. Если необходимо вывести на экран строку символов по заранее известному формату, используется оператор PRINT USING. Операторы PRINT и PRINT USING выводят информацию на экран. Для того, чтобы напечатать ее, используются операторы LPRINT и LPRINT USING. Для того, чтобы красиво разместить текст на экране, в языке BASIC есть оператор LOCATE. В текстовом режиме экран разбивается на 25 строк и 80 столбцов, что позволяет вывести символ в любом месте экрана.

Глава 6. Графика

6.1.Управление цветом в текстовом режиме

По умолчанию QBasic работает с монитором в текстовом режиме. В этом режиме на экран можно вывести все символы, которые есть на клавиатуре, и символы псевдографики. В текстовом режиме экран имеет 25 строк, в каждой строке 80 позиций (однако, с помощью оператора WIDTH 40 можно получить 40 “широких” позиций) для вывода символом, следовательно, максимальное количество символов, которое можно разместить на экране в текстовом режиме, равно 2000=25х80.

  Оператор COLOR устанавливает цвет выводимого символа и цвет фона под символом. Цвет символа - это число от 0 до 15, т.е. символ может быть выведен на экран одним из 16 цветов. Цвет фона - это число от 0 до 7.

Если оператора COLOR в программе нет совсем, то QBasic по умолчанию устанавливает цвет 7 (белый) для символа и цвет 0 (черный) для фона.

Каждый цвет - это комбинация трех основных цветов - красного, зеленого и синего. 

Каждый цвет может выводиться с низкой или высокой интенсивностью (яркостью).

 Если к цветам, прибавить 16, то символы будут выводиться тем же цветом, но кроме того начнут мигать. Таким образом, если в качестве цвета символа указан код со значением с 16 по 31, то мы получим соответствующий мигающий цвет.    Пример: обычный красный - 4; мигающий - 20.

Некоторые символы не так-то просто вывести на экран просто потому, что их нет на клавиатуре. Это, в частности, относится к символам псевдографики.

   Псевдографика - это символы, с помощью которых можно рисовать линии, рамки и другие графические изображения в текстовом режиме. Символы псевдографики отличаются от обычных символов тем, что занимают всю ширину (высоту) места, отведенного символу на экране. Поэтому они, будучи поставлены рядом, сливаются и образуют непрерывные линии.

   Чтобы вывести на экран символ, отсутствующий на клавиатуре, нужно нажать клавишу Alt и, не отпуская ее, другой рукой набрать код символа (число от 0 до 255).

6.2 Работа с монитором в графическом режиме

В графическом режиме минимальным элементом, который можно вывести на экран, является не символ, а пиксель. Пиксель (точка экрана) представляет собой крошечный прямоугольник, размеры которого зависят от установленного графического режима. Верхняя левая точка экрана имеет координату (0,0), ось ОХ направлена вправо, ось ОY – вниз, т.е. чем ниже на экране расположена точка, тем больше ее координата по оси OY..

Оператор SCREEN переводит режим работы экрана из текстового в графический с заданным номером. Если оператор SCREEN не указан, то подразумевается текстовый режим. Текстовый режим имеет номер 0, поэтому, если нужно из графического режима перейти в текстовый, следует использовать SCREEN 0. Иногда при возврате из графического режима (например, из SCREEN 7) символы текста становятся широкими. Вернуть им нормальные размеры можно только оператором WIDTH 80.Графические режимы различаются разрешением (количеством “точек”) экрана и количеством возможных цветов.

Например, SCREEN 7 устанавливает разрешение экрана в 320 точек по горизонтали и 200 точек по вертикали. Положение произвольной точки на экране задается двумя числами (x, y) в экранной системе координат. От декартовых координат эта система отличается тем, что ось Oy направлена вниз, а не вверх.

В графическом режиме на экран кроме символов можно выводить и геометрические фигуры: точки, линии, прямоугольники, окружности и т.д. Замкнутые фигуры можно закрашивать.

Оператор PSET закрашивает точку экрана заданным цветом. Оператор рисует отрезок, соединяющий на экране точки с указанными координатами. Цвет в этих операторах задается числом от 0 до 15. Если цвет в графических операторах не указан, то все линии рисуются белым цветом. Нарисовать прямоугольник можно одним оператором:

LINE (x1, y1)-(x2, y2), [цвет], B

Этот оператор рисует рамку-прямоугольник со сторонами, параллельными границам экрана. Точки (x1, y1) и (x2, y2) суть две вершины прямоугольника, расположенные по одной из его диагоналей. Если параметр цвет отсутствует, то будет нарисована белая рамка. (Но “лишняя” запятая должна остаться!)

Оператор CIRCLE рисует окружность заданного радиуса и цвета с центром в указанной точке. Если вся окружность на экране не поместится, то будет нарисована только ее часть. Радиус окружности задается в пикселях, но такое количество пикселей укладывается только по горизонтали. Размер вертикального радиуса (в пикселях) зависит от номера графического режима.

 Если на экране нарисована замкнутая кривая, то область внутри нее можно закрасить. Также можно закрасить и область, оставшуюся снаружи от кривой. Для этого используется оператор PAINT.

Заключение

Подводя итог, можно сказать, что язык BASIC на данный момент устарел и практически нигде не используется. Тем не менее, BASIC сыграл весьма важную роль в развитии вычислительной техники и языков программирования в частности. Диалекты BASIC являются достаточно структурированными языками, они сопоставимы по возможностям с такими языками, как Си, Паскаль. В настоящее время довольно популярна обновлённая версия языка - Visual Basic, а также его диалекты Visual Basic for Applications (VBA) и Visual Basic Scripting Edition (VBScript) и язык для платформы .NET -- Visual Basic .NET.

Список литературы

  1. Зельднер Г.А. Программируем на языке QuickBasic 4.5. – М: ABF, 1996. – 432с
  2. Дьяконов В. П. Применение персональных ЭВМ и программирование на языке Бейсик. -- М.: Радио и связь, 1989. -- 288 с
  3. Дьяконов, В.П. Справочник по алгоритмам и программам на языке Бейсик для персональных ЭВМ./ В.П. Дьяконов. - М.: Наука. Главная редакция физико-математической литературы, 1987. - 240 с.
  4. Kurtz T.E, Kemeny J.G A Manual for BASIC, the elementary algebraic language designed for use with the Darthmouth Time Sharing System / Kurtz T.E, Kemeny J.G. - New Hampshire : Dartmouth College, 1964. - 63 p.
  5. Мельникова О. И., Бонюшкина А. Ю. Начала программирования на языке QBasic: Учебное пособие. - М.: ЭКОМ, 2002. – 304с
  6. Бобровский С.И. Программирование на языке QBasic для школьников и студентов. - М.: ДЕСС КОМ: Инфорком-Пресс, 2001. — 208 с
  7. Каспер Э. Освоим QBasic играючи! - Москва: Горячая линия - Телеком, Радио и связь, 2000. - 263с
  8. Сафронов И.К. Бейсик в задачах и примерах. 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2006. — 320 с.
  9. Блэнд Г. Основы программирования на языке Бейсик в стандарте MSX / Г. Блэнд. – М. : “Финансы и статистика”, 1989. – 208 с.
  10. Филичев С.В. Занимательный Basic : практ. пособ / С.В. Филичев. – М. : ЭКОМ, 1997. – 192 с.
  11. Nameroff S. QuickBASIC: the complete reference. — Osborne McGraw-Hill, 1989. — 593 p.
  12. Todd M. Microsoft Quick Basic, Version 4.0. Language Offers Sophisticated Programming Environment // InfoWorld. — 1988. — Т. 10, № 9. — С. 57—62.
  1. В то время как в привычной для нас десятичной системе счисления каждая последующая цифра больше предыдущей в 10 раз, в шестнадцатеричных числах каждая последующая цифра больше в 16 раз. У десятичных чисел первая позиция соответствует единицам, вторая — десяткам, третья — сотням. У шестнадцатеричных чисел первая позиция соответствует единицами, вторая — 16, третья 256 и т. д. Это означает, что когда в позиции единиц расположена цифра 9, то прибавление единицы не приводит к переносу в следующий разряд, как это было бы в случае десятичных чисел. Но как записать десятичное число 10 одной цифрой? Ответ состоит в том, что шестнадцатеричные цифры используют первые 6 букв латинского алфавита в качестве дополнительных цифровых символов. Перечисление шестнадцатеричных чисел продолжается так: ... 8, 9, А, В, С, D, E, F, 10 ,11 ... 19, 1А, 1В и т. д. В BASIC шестнадцатеричные числа начинаются с символов «&Н». Например, число 255 можно записать как &HFF.