Слайд 1Графические возможности
языка программирования
PascalABC.Net
Составитель:
учитель информатики
МБОУ СОШ №22
Соглаева С.А.
Слайд 2
В среде PascalABC библиотека стандартных графических процедур и функций хранится
в модуле GraphABC, поэтому первой инструкцией программы должна быть инструкция
Uses GraphABC;
Слайд 3
Графический экран PasсalABC (по умолчанию) содержит
680 точек
по горизонтали и
480 точек по вертикали
680 точек
480 точек
(0,0)
Начало отсчета
левый
верхний угол
Графический режим
Слайд 4
Program -имя_программы (пишется слитно или через"_")
Uses -подключение модулей
Var
- раздел описания переменных
Begin -тело программы
End - конец программы
Program
grafika;
Uses GraphABC;
Begin
Rectangle(50,50,200,200);
End.
Структура программы
Слайд 5Управление экраном
SetWindowWidth(w) - устанавливает ширину графического окна;
SetWindowHeight(h) - устанавливает
высоту графического окна;
Основные инструменты рисования-
перо и кисть.
Параметрами пера (Pen)
задаются свойства линий и контур фигур, а параметрами кисти (Brush) - их закраска.
Слайд 6ClearWindow; - очищает графическое окно белым цветом.
ClearWindow(color); - очищает графическое
окно указанным цветом.
Управление экраном
program clear;
uses GraphABC;
begin
ClearWindow;
ClearWindow (clMoneyGreen);
end.
Слайд 7Графические примитивы
1. Точка
2. Линия
3. Прямоугольник
4. Окружность
5. Эллипс
6.Сектор
7.Дуга
Слайд 8Точка
SetPixel(x,y,color) - Закрашивает один пиксель с координатами (x,y) цветом color
Program tochka;
uses GraphABC;
Begin SetPixel(300,200,clred);
End.
Слайд 9Линии
LineTo(x,y) - рисует отрезок от текущего положения пера до точки
(x,y); координаты пера при этом также становятся равными (x,y).
Program
liniay;
uses GraphABC;
Begin
LineTo(300,100);
LineTo(600,50);
End.
0,0
300,100
600,50
Слайд 10Линии
Line(x1,y1,x2,y2) - рисует отрезок с началом в точке (x1,y1) и
концом в точке (x2,y2).
Program liniay;
uses GraphABC;
begin
line(100,50,500,250);
End.
Х1,Y1
Х2,Y2
Слайд 11Прямоугольник
Program pryamougolnik;
Uses GraphABC;
begin
Rectangle (50,50,200,200);
End.
Rectangle(x1,y1,x2,y2) - рисует прямоугольник, заданный координатами
противоположных вершин (x1,y1) и (x2,y2)
Слайд 12Окружность
Program okrugnost;
uses GraphABC;
begin
Circle(250,200,100);
End.
Circle(x,y,r) - рисует окружность с центром
в точке (x,y) и радиусом r
250
200
Слайд 13Эллипс
Program oval;
uses GraphABC;
begin
Ellipse(50,50,200,350);
Ellipse(250,150,550,300);
End.
Ellipse(x1,y1,x2,y2) - рисует эллипс, заданный
своим описанным прямоугольником с координатами противоположных вершин.
50,50
200,350
250,150
550,300
Слайд 14Сектор
Program sector;
Uses GraphABC;
Begin
Pie(300,200,100,0,90);
End.
Pie(x,y,r,a1,a2) - рисует сектор окружности, ограниченный дугой
(параметры процедуры имеют тот же смысл, что и в процедуре
Arc).
(х,у)
Слайд 15Используемые цвета
Модуль GraphABC содержит константы и функции для работы с
цветами.
Стандартные цвета задаются символическими константами:
clBlack – черный
clPurple – фиолетовый
clWhite – белый
clMaroon – темно-красный
clRed – красный
clNavy – темно-синий
clGreen – зеленый
clBrown – коричневый
clBlue – синий
clSkyBlue – голубой
clYellow – желтый
clCream – кремовый
clAqua – бирюзовый
clOlive – оливковый
clFuchsia – сиреневый
clTeal – сине-зеленый
clGray – темно-серый
clLime – ярко-зеленый
clMoneyGreen – цвет зеленых денег
clLtGray – светло-серый
clDkGray – темно-серый
clMedGray – серый
clSilver – серебряны
Слайд 16Используемые цвета
RGB (Red, Green, Blue)
Red- число от 0 до 255,
соответствующее интенсивности красной компоненты
Green- число от 0 до 255, соответствующее
интенсивности зеленой компоненты
Blue- число от 0 до 255, соответствующее интенсивности синей компоненты
Слайд 20Цвет линии
Program liniay;
uses GraphABC;
Begin
SetPenColor (clred);
line(30,30,400,350);
End.
SetPenColor(color)
- устанавливает цвет пера, задаваемый параметром color.
Program liniay;
Uses GraphABC;
Begin
SetPenColor (RGB(255,0,0));
Line(30,30,400,350);
End.
Слайд 21Стили линии
SetPenWidth (ширина)- устанавливает ширину пера, равную n пикселям
Program liniay;
Uses
GraphABC;
Begin
SetPenWidth(7);
SetPenColor(rgb(255,0,0));
line(30,30,400,350);
End.
Слайд 22Стили линии
SetPenStyle (стиль)-устанавливает стиль пера задаваемый параметром ps (сплошной, пунктир
и т.п.), стиль применим только к ширине пера 1 пиксель
.
SetPenStyle(psDot)- пунктир
SetPenStyle(psDash)- штрих
SetPenStyle (psDashDot)- штрих - пунктир
Слайд 23Стили линии
Program crug;
uses GraphABC;
begin
SetPenStyle (psDot);
SetPenColor(rgb(255,0,0));
circle(100,70,50);
SetPenStyle (psDash);
SetPenColor(rgb(0,255,0));
circle(210,70,50);
SetPenStyle (psDashDot);
SetPenColor(rgb(0,0,255));
circle(330,70,50);
End.
Слайд 24Стили и цвета кисти
SetBrushColor (цвет) -устанавливает цвет кисти. Заливка кистью
распространяется на замкнутый контур, описание которого следует за процедурой установки
цвета кисти.
Program zalivka_kist;
Uses GraphABC;
Begin
SetBrushColor(clGreen);
Rectangle(50,50,300,300);
End.
Слайд 25Стили и цвета кисти
SetBrushStyle(стиль) - устанавливает стиль кисти, задаваемый параметром
bs
bsSolid – сплошная;
bsClear – прозрачная;
bsHatch – штриховая (мелкая клетка);
bsGradient
– градиентная.
Слайд 26Стили и цвета кисти
Program pryamougolnik;
Uses GraphABC;
Begin
SetBrushStyle(bsHatch);
SetBrushColor(rgb(128,0,255));
Rectangle(10,10,300,300);
End.
Program pryamougolnik;
Uses GraphABC;
Begin
SetBrushStyle(bsSolid);
SetBrushColor(rgb(128,0,255));
Rectangle(10,10,300,300);
End.
Слайд 27Заливка цветом
Program pryamougolnik;
Uses GraphABC;
Begin
Rectangle(50,50,200,200);
FloodFill(100,100,clBlue);
Rectangle(250,50,400,200);
FloodFill(270,100,rgb(255,0,0));
End.
FloodFill(x,y,color) - заливает область одного цвета цветом
color, начиная с точки (x,y).
Закрашивать можно только замкнутые фигуры,
контур которых нарисован одним цветом.
Слайд 28Треугольник
LineTo(x,y) - рисует отрезок от точки, в которой на данный
момент находится конец отрезка (текущая позиция), до точки (x,y); начальная
позиция задается с помощью MoveTo, а новая позиция переходит в точку (x,y).
Данная процедура задействуется при построении последовательной цепочки линий (отрезков) – когда конец каждой линии является одновременно началом следующей.
MoveTo(x,y) – устанавливает начальную точку (позицию) рисования в (x,y). Если эту процедуру не задействовать, то начальная точка по умолчанию принимается за (0,0) – левый верхний угол окна.
Процедура MoveTo используется совместно с LineTo
Слайд 29Треугольник
Program treugolnik;
Uses GraphABC;
Begin
setpenwidth(20);
setpencolor(clred);
Moveto(100,300);
lineto(300,100);
lineto(500,300);
lineto(100,300);
floodfill(300,200,clgreen);
End.
Program treugolnik;
Uses GraphABC;
Begin
setpenwidth(20);
setpencolor(rgb(17,130,22));
line(100,300,300,100);
line (300,100, 500,300);
line ( 500,300,100,300
);
floodfill(300,200,rgb(255,0,0));
End.
(100,300)
(100,300)
Слайд 30Вывод текста в графическое окно
TextOut (x,y,’строка’) - выводит строку текста
в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника,
который будет содержать текст).
Program text;
Uses GraphABC;
Begin
TextOut(100,30,'Квадрат');
Rectangle(50,50,200,200);
loodFill(55,55,rgb(43,97,208));
End.
Слайд 31
SetFontName (‘name’) – устанавливает наименование шрифта.
SetFontColor (color) - устанавливает
цвет шрифта.
SetFontSize (sz) - устанавливает размер
шрифта в пунктах.
SetFontStyle (fs) - устанавливает стиль шрифта.
Действия со шрифтом
Название шрифта
По умолчанию установлен шрифт, имеющий наименование MS Sans Serif.
Наиболее распространенные шрифты – это Times, Arial и Courier New.
Пример:
SetFontName(‘Times’);
Слайд 32
Задается именованными константами:
fsNormal – обычный;
fsBold – жирный;
fsItalic –
наклонный;
fsBoldItalic – жирный наклонный;
fsUnderline – подчеркнутый;
fsBoldUnderline –
жирный подчеркнутый;
fsItalicUnderline – наклонный подчеркнутый;
fsBoldItalicUnderline – жирный наклонный подчеркнутый.
Стиль шрифта
Слайд 33
Стиль шрифта
uses GraphABC;
Begin
SetFontName('Arial');
SetFontSize(20);
SetFontColor(clRed);
TextOut(10,10,'обычный');
SetFontStyle(fsItalic);
SetFontColor(clBlue);
TextOut(10,50,'наклонный');
SetFontStyle(fsBold);
SetFontColor(RGB(167,172,15));
TextOut(10,90,'жирный');
SetFontStyle(fsUnderline);
SetFontColor(RGB(167,172,200));
TextOut(10,130,'подчеркнутый');
SetFontStyle(fsBoldItalicUnderline);
SetFontColor(RGB(167,70,150));
TextOut(10,170,'жирный, наклонный,
подчеркнутый');
End.
Слайд 34
Стиль шрифта
uses GraphABC;
Begin
SetFontName('Arial');
SetFontSize(20);
SetFontColor(clRed);
TextOut(10,10,'обычный');
SetFontStyle(fsItalic);
SetFontColor(clBlue);
TextOut(10,50,'наклонный');
SetFontStyle(fsBold);
SetFontColor(RGB(167,172,15));
TextOut(10,90,'жирный');
SetFontStyle(fsUnderline);
SetFontColor(RGB(167,172,200));
TextOut(10,130,'подчеркнутый');
SetFontStyle(fsBoldItalicUnderline);
SetFontColor(RGB(167,70,150));
TextOut(10,170,'жирный, наклонный,
подчеркнутый');
End.
Слайд 35
Циклы в графике
Циклы применяются для повторения какой-либо последовательности операторов несколько
раз. В Паскале существуют три вида циклов:
-Цикл с предусловием (цикл
"пока" – whi1е);
-Цикл с постусловием (цикл "до тех пор, пока" repeat...unti1);
-Цикл с параметром (со счетчиком) (цикл "для" – for ... to / downto);
Слайд 36
Цикл с предусловием
Может выполниться ни разу.
Выполняется пока условие ИСТИННО
WHILE
– пока
DO – выполнять
ПОКА (УСЛОВИЕ ИСТИННО) ВЫПОЛНЯТЬ
НАЧАЛО
действие1;
действие2;
КОНЕЦ;
WHILE (УСЛОВИЕ ИСТИННО) DO
BEGIN
действие1;
действие2;
END;
Слайд 37Цикл с предусловием
Program cicl;
uses graphABC;
var x:integer;
begin
setpencolor(rgb(255,122,66));
setpenwidth(3);
x:=20;
WHILE x
Слайд 38Цикл с постусловием
Выполняется всегда хотя бы один раз. Выполняется
пока условие ЛОЖНО.
REPEAT – повторять
UNTIL – до тех
пор
ПОВТОРЯТЬ
действие1;
действие2;
ДО ТЕХ ПОР (ПОКА УСЛОВИЕ ЛОЖНО);
REPEAT
действие1;
действие2;
UNTIL (ПОКА УСЛОВИЕ ЛОЖНО);
Слайд 39Цикл с постусловием
Program cicl;
Uses graphABC;
Var x:integer;
Begin
setpencolor(rgb(26,71,111));
setpenwidth(3);
x:=20;
REPEAT
line(x,60,x+20,200);
x:=x+40;
UNTIL x>680;
END.
Слайд 40Цикл с параметром
Выполняется заранее определенное количество раз.
FOR – для
to –
до
do – выполнить
ДЛЯ i:=1 ДО N ВЫПОЛНЯТЬ
действие;
FOR
i:=1 to N do
действие;
FOR i:=1 TO N DO
BEGIN
действие1;
действие2;
END;
ДЛЯ i:=1 ДО N ВЫПОЛНЯТЬ
действие 1;
действие 2;
конец;
если в теле цикла несколько действий
если в теле цикла одно действие
Слайд 41Цикл с параметром
Program cicl;
Uses graphABC;
Var x,i:integer;
Begin
setpencolor(rgb(26,71,111));
setpenwidth(3);
x:=20;
for i:=1 to 10 do
begin
line(x,60,x+20,200);
x:=x+40;
end;
END.