Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Графические возможности языка Basic

 

Язык Basic был разработан преподавателями Дартмутского колледжа Джоном Кемени и Томасом Курцом в 1965 году как средство обучения и работы непрофессиональных программистов. Его назначение определено в самом названии, которое является аббревиатурой слов Beginner's All-purpose Symbolic Instruction Code (многоцелевой язык символических инструкций для начинающих) и при этом в дословном переводе означает «базовый» [13, c. 54].

Новый язык быстро завоевал популярность благодаря своей простоте в изучении, особенно среди начинающих. Собственно, как и Pascal, Basic был предназначен для обучения.

Изначально разработка была по большей части теоретической. Но уже в середине 70-х годов появились первые персональные компьютеры, язык Basic подошел для них наилучшим образом – ведь он тогда занимал всего 4 Кб памяти.

В 1975 году два молодых программиста – Пол Аллен и Уильям Гейтс начали разрабатывать интерпретатор Бейсика для персонального компьютера Altair 8800. Вскоре родилась и компания Microsoft, а Basic оказался первым продуктом, выпущенным ею.

Basic был успешно перенесен на другие модели компьютеров, такие как Apple, Commodore и Atari. Затем интерпретатор был написан для только что появившегося IBM PC.

Будучи действительно весьма простым средством программирования,

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

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

В середине 80-х годов компанией Microsoft был разработан QuickBasic (последняя версия 4.5). Это уже был полностью компилируемый язык, с структурными конструкциями, пользовательскими типами данных, причем еще и совместимый со старыми версиями (Basic и GW Basic). В конце 80-х годов насчитывалось около десятка систем Basic различных фирм-разработчиков [13, с. 57].

QBasic, в отличие от более ранних версий языка Basic, уже поддерживал современные средства модульного программирования. Это свойство поднимает его до современных языков программирования. К достоинствам этого языка также следует отнести то, что он: содержит хороший экранный редактор; не ограничивает длину программы; отменяет необходимость нумерации строк; предлагает операторы, позволяющие организовывать структуры внутри программ; поддерживает программные процедуры, вызываемые из основной программы; позволяет использовать локальные переменные.

С появлением Windows новая версия Basic названа Visual Basic.

Язык Basic менялся, приспосабливался к возможностям различных (все более мощных) машин. В конце 1993 года, одновременно с официальным объявлением о прекращении развития Basic/DOS, корпорация Microsoft объявила о намерении создать на основе VB новую универсальную систему программирования для прикладных программ, которая получила название Visual Basic for Applications (VB для приложений).

Первый вариант VBA 1.0 появился в составе MS Office 4.0, но лишь в программах Excel 4.0 и Project 6.0. В других же приложениях – Word 6.0 и Access 2.0 – были собственные варианты Basic. К тому же VBA 1.0 довольно сильно отличался (причем он имел ряд существенных преимуществ) от используемой тогда универсальной системы VB 3.0.

В конце 1996 года – после выпуска MS Office 97, в котором была реализована единая среда программирования VBA 5.0, включенная в программы Word, Excel и PowerPoint. Более того, VBA 5.0 использовала тот же самый языковый механизм и среду разработки, что и универсальная система VB 5.0.

В состав выпущенного пакета MS Office 2000 вошла соответственно версия VBA 6.0, используемая в шести программах – Word, Excel, PowerPoint, Access, Outlook, FrontPage.

Basic остается, пожалуй, самым массовым языком программирования – им владеют, в том числе и многие люди, работа и интересы которых вообще не связаны с программированием. А практически для всех программистов Basic стал своего рода «введением в профессию» [29, с. 145].

QBasic – диалект языка программирования Basic, разработанный компанией Microsoft, а также среда разработки, позволяющая писать, запускать и отлаживать программы на этом языке.

Для запуска среды программирования QBasic необходимо перейти qbasic.exe. На экране появляется оболочка QBasic (рисунок 4).

Основное поле (голубого цвета) – окно редактора, в этом окне набирается текст программ. В верхней строке экрана расположены слова, образующие главное меню QBasic.

В середине следующей строки расположено имя программы (точнее, имя файла с этой программой). Пока программе не дали другое имя, она будет называться «Untitle», что значит «не имеющая заголовка».

Программа на языке Basic записывается в виде последовательности символов, к числу которых относятся латинские и русские буквы, арабские цифры, знаки препинания, знаки операций, специальные символы (% &! # $).

 

Рис. 4. Среда разработки QBasic 4.5.

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

Программные средства языка QBasic позволяют с графической информацией. Это обеспечивается языком графики, набором операторов и функций. Графические программные средства позволяют создавать на экране дисплея сложные изображения с различной глубиной свечения точек экрана, а также выводить одновременно с графической текстовую информацию [49, с. 101].

Как и в Turbo Pascal 7.0 элементарным изобразительным средством графического экрана в QBasic является чёрно-белая или цветная точка разной степени свечения. Местоположение всех точек на экране образует прямоугольную систему координат из горизонтальных строк (x) и вертикальных колонок (y).

Количество точек, которое может быть размещено на экране, зависит от разрешающей способности (средней или высокой). Разрешающая способность устанавливается оператором S creen.

При средней разрешающей способности горизонтальная строка содержит 320 точек, вертикальная – 200 точек. Точки нумеруются слева направо от х=0 до х=319 и сверху вниз от у=0 до у=199. Местоположение каждой точки задаётся её координатой. Имеются две формы задания координат точки: абсолютная и относительная. Абсолютная форма задания координаты точки имеет вид (х,у). Например, координата точки, которая находится в левом верхнем углу экрана, равна (0,0); координата точки в правом верхнем углу при средней разрешающей способности экрана дисплея равна (319,0); координата точки в левом нижнем углу при средней и высокой разрешающей способности равна (0,199).

Относительная форма предполагает задание координат относительно последней выведенной точки, осуществляемое с помощью операнда Step (x 1, y 1), где x 1 и y 1 – значения, которые прибавляются к координатам последней выведенной точки. Значения x 1 и y 1 могут быть положительными и отрицательными [51, с. 89].

При загрузке системы QBasic дисплей устанавливается системой в текстовый режим работы. Для задания графического режима используется оператор S creen, который устанавливает режим и параметры работы дисплея:

S creen режим, режим – целое выражение, устанавливающее режим экрана:

S creen 0 – текстовый режим;

S creen 1 – 320х200 графический режим.

Монитор воспроизводить 16 цветов, оператор C olor [ c ],[ f ] позволяет выбрать цвет символов и цвет фона, где [ c ] – цвет символов, [ f ] – цвет фона.

Отдельный пиксель можно «зажечь» заданным цветом любой из двух универсальных команд графического режима P set (x, y),[ c ] и P reset (x, y),[ c ].

Формат команд одинаков: сначала указываются координаты точки, а затем, если необходимо – номер цвета точки [45, с. 86].

Пример 1. Изобразить на экране бегущий отрезок.

S с reen 12

Color 4, 3

For x=1 to 640

Pset (x, 240)

Preset (x-10,240)

Next x

Операторы Pset и Preset могут иметь еще следующие формы:

Pset Step (x, y)

Preset Step (x, y)

Step в этих операторах указывает на смещение точки относительно координат последней точки.

Оператор Line (x 1, y 1)-(x 2, y 2),[ c ] предназначен для рисования отрезка, соединяющего две произвольные точки экрана, где x 1, y 1 – координаты начала отрезка, а x 2, y 2 – координаты конца отрезка, c - цвет.

Если координаты начала отрезка опущены, то отрезок будет начинаться с координат последней точки.

В операторе Line можно использовать относительные координаты для начала или конца отрезка. Например:

Line Step (10, 10) – (100,165) будет нарисован отрезок от точки с координатами последней точки + 10, 10 до точки с координатами 100,165.

Конечно, можно нарисовать прямоугольник с помощью операторов Line,

повторяя их четыре раза для рисования четырех сторон, но можно для этой цели выбрать, более простой путь: Line (x 1, y 1)-(x 2, y 2), [ c ], B, Line (x 1, y 1)-(x 2, y 2), [ c ], BF, где:

B – параметр, указывающий на рисование прямоугольника;

BF – параметр, указывающий на рисование закрашенного прямоугольника;

x1, y 1 – координаты верхнего левого угла прямоугольника;

x 2, y 2 – координаты правого нижнего угла прямоугольника.

В случае пропуска какого-либо параметра или параметров необходимо сохранить нужное количество разделительными запятыми.

Пример 2. Нарисовать несколько вложенных прямоугольников.

Screen 12

Color 14,3

Pset 10, 10

For i=1 to 5

Line Step (10, 10)-(200-I*10,200-I*10)

Next i


Результатом выполнения программы будет (рисунок 5):

 

 

 


Рис. 5. Результат выполнения программы.

 

С помощью оператора Circle (x, y), r,[ c ] можно нарисовать окружность, где x, y – координаты или смещение центра окружности r – радиус окружности.

Чтобы нарисовать дугу, эллипс или сектор окружности необходимо добавить новые параметры в оператор Circle (x, y), r, c, n, k, a, где:

x, y – координаты центра окружности;

r – радиус окружности;

c – цвет;

n – начальная точка дуги, заданная в радианах;

k – конечная точка дуги, заданная в радианах;

a – отношение значений y - радиуса и x - радиуса. Для рисования окружности используются только параметры x, y и радиус. Для рисования дуги необходимо добавить значения параметров начальной и конечной точек [29, с. 56].

Значения параметров начальной и конечной точек задаются в радианах и должны иметь значения между 0 и радиан (2π =6.28). При рисовании дуги отсчет идет от начальной точки дуги до конечной в направлении против часовой стрелки. При отрицательных значениях этих параметров начальные и конечные точки дуги соединяются с центром соответствующей окружности. Таким образом, на экране получается изображение сектора окружности. Если отрицательным является значение только одного параметра, то и соединяться с центром окружности будет только одна точка дуги.

Пример 3.

Rem рисование окружности, дуги и сектора

Screen 2

Cls

Circle (100,100), 30 ′ окружность′

Circle (180,100), 30, 3, 1, 2 ′ дуга′

Circle (260,100), 30, 3, -2, -1 ′ сектор′

End.

 

Для рисования эллипса нужно ввести в оператор Circle коэффициент отношения радиусов по осям y и x. Этот параметр определяет степень сжатия эллипса и может иметь любое положительное значение. Следующая программа представляет оператор Circle с использованием различных параметров:

Rem Рисование мордашки

S с reen 1

Cls

Circle (100,100), 70

Circle (75, 75), 10,,,2

Circle (125, 75), 10,,,2

Circle (100,100), 5,,,2

Line (100, 40) – (90, 60)

Line (100, 40) – (110, 60)

Line (100, 40) – (100, 60)

Circle (100,110), 20,,, 3.14, 0

End.


Результатом выполнения программы будет (рисунок 6):

 

 


Рис. 6. Результатом выполнения программы

 

С помощью оператора Paint (x, y), c 1, c 2 можно закрасить замкнутую область в заданный цвет:

x, y – координаты любой точки из замкнутой области;

c 1 – цвет, в который надо закрасить область;

c 2 – цвет, которым нарисована граница области.

Если цвет области совпадает с цветом границы, то с2 можно не указывать. Закрашиваемая область должна быть замкнутой. Если в контуре (на границе) области окажется разрыв, краска с1 «вытечет» из контура и заполнит весь экран.

В графическом режиме можно выводить текст командой Print. Каждый видеорежим имеет собственное деление экрана на строки и столбцы. Например, в режиме 9 экран делится на 25 строк и 80 столбцов (как бы имитация текстового режима). Матрица символа имеет размеры 8х14 – восемь столбцов и 14 строк (640/80 и 350/25). Координаты выводимого текста можно указать с помощью обычной команды Locate, например [36, с. 155]:

А =48

Locate 12,44

Print «A =»; A;


На экране будет: А = 48. Текст выводится текущим цветом символов, который указан в последней выданной команде Color.

Оператор Draw позволяет управлять движением «пера» с помощью графических команд [2, c. 34].

В строке символов записывается последовательность графических команд, причем каждая команда обозначена латинской буквой и целым числом (например, e 10, c 2 и т.д.). Движение пера начинается с текущей позиции курсора, а эту позицию можно установить оператором Pset или Preset.

Следующая «таблица 2» содержит команды [51, с. 189], необходимые для рисования:

 

Таблица 2.

Команд оператора Draw

Команда Выполняемое действие
Un Переместить вверх
Dn Переместить вниз
Ln Переместить влево
Rn Переместить вправо
En Переместить вверх и право по диагонали
Fn Переместить вниз и право по диагонали
Gn Переместить вниз и влево по диагонали
Hn Переместить вверх и влево по диагонали
Mx,y Переместить в точку с координатами (x,y)
B Переместить, но не рисовать
N Переместить, затем вернуться в начальное положение
An Задать угол поворота
Tan Задать угол направления
Cn Задать цвет
Sn Задать масштаб (n может иметь значения от 1 до 225)
P n,m Закрасить область (n-цвет области, m- цвет контура)

Пример 6.

S с reen 1

Cls

′ рисование буквы «Q»

Draw «BM 100,100 F10 R10 E10 U30 H10 L10 G10 D30»

Draw «BM+10, +0 R10 U30 L10 D30»

Draw «BM+10, +0 NM125, 112 N M135, 110 BM125, 112 M 135,110»

′ рисование буквы «B»

Draw «BM+10, +0 R20 E10 U10 H5 E5 U10 H10 L20 D50»

Draw «BM+10,-10 R10 U10 L10 D10»

Draw «BM+0,-20 R10 U10 L10 D10»

End

 

Результатом выполнения программы будет (рисунок 7):

 

 

Рис. 7. Результат выполнения программы

 

Команда An вращает изображение на угол, кратный 90 градусам, где n равно 0, 1, 2 или 3.

Например, конструкция Draw “ A 2” повернет нарисованное изображение на угол 180 градусов.

Команда Tan позволяет поворачивать изображение на произвольный угол: n может иметь любое значение от –360 до +360. Отрицательное значение угла означает поворот изображения по часовой стрелке, положительное значение n определяет поворот против часовой стрелки.

Таким образом, программные средства языка QBasic содержат набор операторов и функций, которые позволяют работать не только с текстовой, но и с графической информацией. Графические программные средства позволяют создавать на экране дисплея сложные изображения.

Особым достоинством QBasic следует считать возможность работы в режиме интерпретации, который резко упрощает процесс отладки программ.

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

– простота синтаксиса;

– простота организации данных и управляющих структур;

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

Вывод по первой главе. Существует несколько сотен используемых языков программирования. Для каждого языка есть своя область применения. Чаще всего в учебных заведениях изучаются языки программирования, такие как Basic и Pascal, поскольку изначально задумывались как универсальные языки для начинающих программистов, имеющих основные достоинства, как простота синтаксиса, простота организации данных и управляющих структур.

Программные средства языков программирования Basic и Pascal позволяют работать не только с текстовой, но и с графической информацией. Обширный набор процедур и функций языков программирования Basic и Pascal, позволяют управлять графическим режимом работы экрана, создавать разнооборазные графические изображения и выводить на экран текстовые надписи.


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...