Графические возможности языка 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π радиан (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
Пример 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|