Дипломная работа: Графические возможности программирования в курсе информатики
Пример программы:
Program Primer_3;
Uses Graph;
Var grDriver: Integer;
grMode: Integer;
i,x,y: Integer;
Procedure Rect (x,y,x1,y1: Integer);
{Рисует
прямоугольник, у которого левый нижний угол}
{имеет
координаты (x,y), а правый верхний – (x1,y1)}
Begin
Line
(x,y,x,y1); {Левая сторона}
Line
(x1,y,x1,y1); {Правая сторона}
Line
(x,y1,x1,y1); {Верхняя сторона}
Line
(x,y,x1,y) {Нижняя сторона}
End;
Begin
GrDriver:=VGA; GrMode:=VGAHi;
InitGraph (grDriver,grMode,'..\bgi');
If GraphResult=grOk
Then begin
For i:=1 to 15 do
Begin
x:=i*30; y:=i*25; SetColor (i);
Rect (x,y,x+50,y+60)
End;
ReadLn;
CloseGraph;
End;
End.
Для построения закрашенных
прямоугольников используется процедура: Bar (x1, y1, x2, y2), где параметры x1, y1, x2 и y2 имеют то же
смысл, что и в процедуре Rectangle.
Цвет и стиль закраски устанавливается
процедурой SetFillStyle (Pattern, Color), где параметр Pattern определяет
стиль (шаблон) заливки, а параметр Color – ее цвет.
Для построения «объемных» закрашенных
прямоугольников используется процедура: Bar3D ( x1, y1, x2, y2, Depth, Top ).
Тип и цвет заливки устанавливается
процедурой SetFillStyle. Параметр Depth определяет глубину
трехмерного контура. Чаще всего его значение равно четверти ширины
прямоугольника: Depth := (x2-x1) div 4;
Параметр Top определяет,
строить над прямоугольником вершину (True) или нет (False).
Например:
SetFillStyle (XhatchFill, Red );
Bar3D (10, 10, 50, 100, 10, True);
Процедура вычерчивания окружностей
текущим цветом имеет вид: Circle ( x, y, Radius ), где x, y
– координаты центра окружности, а Radius – ее радиус. Например,
следующий фрагмент выводит ярко-зеленую окружность c радиусом 50 пикселов и
центром в точке 450, 100:
SetColor (LightGreen);
Circle (450, 100, 50);
Для вычерчивания дуг используется
процедура Arc (x, y, StartAngle, EndAngle, Radius), где x,
y – координаты центра дуги, StartAngle
и EndAngle – начальный и конечный угол (в градусах), Radius –
радиус. Очевидно, что если StartAngle = 0, а EndAngle = 359, то
вычерчивается полная окружность.
Для заполнения внутренней или внешней
области фигуры определенным образцом закраски используется процедура: FloodFill
(X, Y, Border), где x,
y – координаты точки внутри или вне
фигуры, Border – цвет контура фигуры. Если точка (x, y) находится внутри замкнутой области, то заполняется
внутренняя область. Если эта точка находится вне замкнутой области, то
заполняется ее внешняя часть [23, с. 222].
Пример: красная окружность, заполненная
зеленой штриховкой
SetColor (Red); Circle
(450, 100, 50);
SetFillStyle (SlashFill,
Green);
FloodFill (450, 100, Red);
В графическом режиме стандартные
процедуры вывода Write и Writeln не работают. Для вывода
текстовой информации на графический экран используют две процедуры OutText
и OutTextxy.
Процедура: OutText (TextString) выводит
на экран строку текста, начиная с текущего положения графического курсора.
Например: OutText (‘Добро
пожаловать!’);
Явный недостаток этой процедуры –
нельзя указать произвольную точку начала вывода. Его можно устранить с помощью
процедуры MoveTo, которая перемещает указатель в нужную позицию, но
лучше воспользоваться процедурой: OutTextxy (x, y, TextString),где x, y
– координаты точки начала вывода текста, TextString – константа или
переменная строкового типа string. Например, чтобы вывести сообщение
«Для продолжения нажмите любую клавишу ...», начиная с точки 20, 400 надо
записать:
OutTextxy (20, 400, ‘Для продолжения нажмите
любую клавишу ...’);
Для начинающих проблемой является
вывод числовых данных на графический экран, ибо в модуле Graph нет
предназначенных для этого процедур. Выход прост: преобразовать числовое
значение в строковое с помощью процедуры Str.
Пример:
x:= 12.5;
Str (x:4:1, S) {преобразование числа x в строку S }
OutTextxy (10, 10, S); {вывод строки S}
max:= 345.55;
Str (max:6:2, S) {преобразование числа max в
строку S}
OutTextxy (10, 50, ‘Максимальное значение = ’
+ S );
{ вывод суммы двух строк}.
Таким образом, модуль Graph содержит обширный набор процедур и
функций, позволяющий управлять графическим режимом работы экрана: создавать
разнооборазные графические изображения и выводить на экран текстовые надписи. Как уже говорилось раннее, особенностями языка Pascal, является строгая типизация и наличие
средств структурного (процедурного) программирования. Язык Pascal относительно прост в изучении,
довольно ясен и логичен и , будучи первым изучаемым языком программирования, приучает к хорошему стилю,
воспитывает дисциплину структурного программирования. Начинающему программисту
целесообразно начать изучение языка среды именно с этого пакета. На сегодняшний день Pascal практически повсеместно применяется как учебный язык
программирования.
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 для приложений).
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 |