1.3 Графические возможности языка 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).

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

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

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

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

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

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

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

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

Отдельный пиксель можно «зажечь» заданным цветом любой из двух универсальных команд графического режима Pset (x,y),[c] и Preset (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 (x1,y1)-(x2,y2),[c] предназначен для рисования отрезка, соединяющего две произвольные точки экрана, где x1, y1 – координаты начала отрезка, а x2, y2 – координаты конца отрезка, c - цвет.

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

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

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

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

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

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

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

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

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

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

Пример 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),c1,c2 можно закрасить замкнутую область в заданный цвет:

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

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

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

Если цвет области совпадает с цветом границы, то с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].

В строке символов записывается последовательность графических команд, причем каждая команда обозначена латинской буквой и целым числом (например, e10, c2 и т.д.). Движение пера начинается с текущей позиции курсора, а эту позицию можно установить оператором 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 “A2” повернет нарисованное изображение на угол 180 градусов.

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

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

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

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

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

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

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

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

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


ГЛАВА 2. ГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ ЯЗЫКА ПРОГРАММИРОВАНИЯ В КУРСЕ ИНФОРМАТИКИ БАЗОВОЙ ШКОЛЫ (НА ПРИМЕРЕ BASIC И PASCAL)

 


Информация о работе «Графические возможности программирования в курсе информатики»
Раздел: Информатика, программирование
Количество знаков с пробелами: 110612
Количество таблиц: 10
Количество изображений: 19

Похожие работы

Скачать
54304
2
1

... параллельно различные формы представления алгоритма, что позволит более формально подойти к конкретному алгоритму. 2. Методические особенности изучения раздела «Алгоритм и исполнители»   2.1 Содержание раздела в стандарте   Прежде всего необходимо сказать, что общеобразовательный стандарт по информатике является нормативным документом, определяющим требования: ·  к месту базового курса ...

Скачать
63347
5
5

... портфолио. Полезные ссылки содержат информацию по созданию, применению портфолио. Изготовленное мной портфолио ориентировано на тему "Алгоритмизация в базовом курсе информатики". Поэтому в портфолио в раздел научно-методическая работа вошли конспекты проведенных уроков, презентации и тесты, ориентированные на изучение алгоритмизации. Темы проведенных занятий: 1. Понятие алгоритма, свойства ...

Скачать
120115
3
4

... одним из синонимов научно-технического прогресса. Слово это появилось в начале 60-х годов во французском языке для обозначения автоматизированной обработки информации в обществе. Информатика (от французского information - информация и automatioque -автоматика) - область научно-технической деятельности, занимающаяся исследованием процессов получения, передачи, обработки, хранения, представления ...

Скачать
49877
5
0

... в среде Delphi). Задачи использовались как с данного сайта, так и из других источников – книг и семинарских занятиях по информатике в МГОУ. Курс завершается разработкой игры. Программное обеспечение: свободно распространяемая версия объектно-ориентированной среды программирования Delphi. Методы обучения: метод проектов, лекции, проблемный метод, частично-поисковый метод. Контроль знаний и умений ...

0 комментариев


Наверх