- •Глава 3. Основы алгоритмизации и программирования §1. Способ записи алгоритмов
- •Упражнения
- •§2. Среда языка программирования Pascal abc
- •2.1 Что такое язык программирования?
- •Структура программы
- •2.3 Запуск среды Pascal abc
- •2.4 Работа в окне редактирования
- •Сохранение и загрузка программ
- •Выполнение программы
- •Упражнения
- •§3. Арифметика языка программирования Pascal abc
- •Понятие переменной
- •3.2 Типы данных
- •Команда присваивания
- •3.3.1 Работа с переменными целого типа
- •Арифметические операции и выражения
- •3.3.3 Порядок выполнения операций
- •3.3.4 Действия над данными разных типов
- •Упражнения
- •§4. Организация ввода и вывода данных
- •§5. Решение задач на составление линейных программ
- •Упражнения
- •§6. Использование графических возможностей языка программирования (точка, отрезок, окружность, прямоугольник).
- •6.1 Графический режим работы.
- •5.2 Возможности стандартной графической библиотеки.
- •5.3 Рисование линий средствами модуля GraphAbc.
- •5.4 Рисование прямоугольников и окружностей средствами модуля GraphAbc.
- •Упражнения
- •Графические примитивы Модуля GraphAbc
- •Процедуры для работы с пером
- •Стили пера
- •Процедуры для работы с графическим окном
- •Процедуры для работы с кистью
- •Стили кисти
- •Процедуры для работы со шрифтом
- •47 Адукацыйны партал www.Adu.By
5.4 Рисование прямоугольников и окружностей средствами модуля GraphAbc.
Прямоугольники и окружности можно рисовать с помощью команд rectangle(x1,y1,x2,y2) и circle(x,y,r) соответственно (см. Приложение к главе 3). Как это можно сделать, рассмотрим на примере программы, которая рисует прямоугольник и окружность.
Пример 5. Демонстрация рисования прямоугольника и окружности
program gemetry;
uses graphabc;
begin
setwindowsize(640,480);
setpencolor(clBlue); {устанавливает голубой цвет пера
для рисования контура прямоугольника}
setpenwidth(6); {устанавливает ширину пера}
rectangle(50,50,250,150);{рисует прямоугольник, заданный
координатами противоположных вершин}
setpencolor(clred); {устанавливает красный цвет пера
для рисования контура окружности}
circle(350,100,60); {рисует окружность с центром в точке
с координатами (350,100) и радиусом 60}
end.
Результат выполнения программы (рис. 3.9):
Рис.3.9
А теперь закрасим эти фигуры и подпишем их. В этом случае программа может выглядеть так:
Пример 6. Демонстрация закрашивания прямоугольника и окружности и их надписи
program gemetry3;
uses graphabc;
begin
setwindowsize(640,480);
clearwindow(clYellow); {устанавливает желтый цвет фона}
setpencolor(clteal); {устанавливает сине-зеленый цвет
пера}
setpenwidth(5); {устанавливает ширину линии}
setbrushcolor(clolive); {устанавливает оливковый цвет
кисти}
rectangle(100,100,300,200); {рисует закрашенный
оливковым цветом прямоугольник}
setbrushcolor(clblue); {устанавливает синий цвет кисти}
circle(400,150,50); {рисует закрашенный синим
цветом круг}
setfontstyle(fsbold); {устанавливает стиль шрифта}
setfontsize(15); {устанавливает размер шрифта}
setbrushcolor(clwhite);{устанавливает белый цвет кисти}
setfontcolor(clolive); {устанавливает оливковый цвет
шрифта}
textout(100,220,'Прямоугольник'); {делает надпись}
setfontcolor(clblue); {устанавливает синий цвет шрифта}
textout(380,220,'Круг'); {делает надпись}
end.
После выполнения программы графическое окно на экране монитора будет выглядеть так (рис.3.10):
Рис. 3.10
Из приведенного выше примера видно, что рисовать можно на «холсте» определенного цвета, который задается с помощью команды установки цвета графического окна clearwindow(color). Закрасить прямоугольник и круг можно, используя команду закраски кистью setbrushcolor (color) (см. Приложение к главе 3).
С помощью команд setfontcolor, setfontstyle, setfontsize, setbrushcolor, textout, общий вид которых приведен в «Приложении к главе 3», рисунки можно подписать.
Итак, вы научились рисовать основные графические примитивы (геометрические фигуры), с помощью которых можно создавать любые картинки. Например, используя выше рассмотренные команды и примеры программ, можно создать такую картинку (рис.3.11):
Рис. 3.11
А программа, выполнив которую, получилась такая картинка, имеет
следующий вид:
program skvoreshnik;
uses graphabc;
begin setwindowsize(1280,1024);
clearwindow(clwhite); {устанавливает белый цвет фона}
setpencolor(clteal);{устанавливает сине-зеленый цвет пера}
setpenwidth(5); {устанавливает ширину линии}
rectangle(100,150,250,300); {рисует прямоугольник}
setbrushcolor(clyellow);{устанавливает желтый цвет кисти
для закраски круга}
circle(170,200,25);{рисует закрашенный желтым цветом круг}
floodfill(150,160,clBrown); {закрашивает коричневым
цветом прямоугольник - стену скворечника}
line (100,150,175,90); {эти линии рисуют крышу}
line (175,90,250,150);
floodfill(175,100,clgreen); {Закрашивает треугольник
(крышу)коричневым цветом}
end.
В модуле graphabc имеется еще и другие команды рисования графических примитивов, например, команда рисования эллипса. Зная основы работы в графическом режиме, их вы сможете изучить самостоятельно (см. Приложение к главе 3).
Коротко о главном
В графическом режиме изображение на экране монитора строится из точек – пикселов. Каждый пиксел (точка) имеет две координаты: х и у.
В качестве графических координат используют порядковые номера пикселов.
Рисование различных геометрических фигур осуществляется с помощью специальных стандартных процедур (команд).
Команды для работы в графическом режиме хранятся в библиотечном модуле GraphAbc, его необходимо подключать в разделе описаний программы с помощью зарезервированного слова Uses .
Команда setpixel(x,y,c) рисует точку с координатами (х,у) цветом с.
Команда setpencolor(color) устанавливает цвет пера, с помощью которого рисуют геометрические фигуры.
Команда Line(x1,y1,x2,y2) рисует отрезок от точки с координатами (x1,y1) до точки с координатами (x2,y2).
Команда Rectangle(x1,y1,x2,y2)рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).
Команда Circle(x,y,r) рисует окружность с центром в точке (x,y) и радиусом r.
Команда setpenwidth(n) устанавливает ширину линии в пикселях.
Где хранятся команды для работы в графическом режиме?
Из каких примитивов можно создать изображение в графическом
режиме?
Что является минимальным элементом графического изображения?
Как задаются координаты точки на экране монитора?
Какая команда рисует линию?
Какая команда рисует прямоугольник?
Какая команда рисует окружность?
