Серогодская Н.И. ГБОУ школа №118 ЮЗАО
Графический режим
Учитель информатики ГБОУ школа №118 ЮЗАО
Серогодская Н.И.
Г.Москва
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Урок №1
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Цели
Обучающие:
познакомить учащихся с программной средой Pascal ABC, со структурой программы на языке Паскаль;
сформировать у учащихся первичные знания по применению изученного материала.
Развивающие:
учить анализировать, обобщать и систематизировать;
обогащать словарный запас учащихся.
Воспитательные:
развивать информационную культуру учащихся, способность к самостоятельной и коллективной деятельности, рефлексию.
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
задачи
Учащиеся должны знать: • основные команды и функции в среде GraphPascal ABC; • правила оформления и работы программы; Учащиеся должны уметь: • разрабатывать программы рисования графических примитивов; • производить необходимые действия с программой; • разрабатывать процедуры с параметрами и без них для рисования объектов; • разрабатывать программы на основе типовых конструкций алгоритма; Дополнительно: решать более сложные графические задачи .
400
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Для работы в графическом режиме необходимо подключение модуля GraphABC :
Графический экран PasсalABC содержит 640 точек по горизонтали и 400 точек по вертикали.
640
0
Обратите внимание, что начало отсчета – левый верхний угол экрана, в отличие от осей координат в математике
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
УПРАВЛЕНИЕ ЭКРАНОМ
SetWindowWidth(w) - устанавливает ширину графического окна;
SetWindowHeight(h) - устанавливает высоту графического окна;
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
ClearWindow; - очищает графическое окно белым цветом.
ClearWindow(cl название цвета ); - очищает графическое окно указанным цветом.
program clear;
uses GraphABC;
begin
ClearWindow;
ClearWindow (clMoneyGreen);
end.
Цвет зеленых денег
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Графические примитивы
Точка Линия Прямоугольник Окружность Эллипс Сектор Дуга
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
ТОЧКА
SetPixel(x,y,cl название цвета ) - закрашивает один пиксел с координатами (x,y,) цветом
program tochka;
uses GraphABC;
begin
SetPixel(300,200,clred);
end.
300,200
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
LineTo(x,y) - рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y).
Program liniay;
uses GraphABC;
begin LineTo(300,200);
end.
x,y
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Линии
Line(x1,y1,x2,y2) - рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).
x1,y1
Program liniay;
uses GraphABC;
begin
line(100,50,500,250);
end.
x2,y2
10
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Используемые цвета
clBlack – черный clPurple – фиолетовый clWhite – белый clMaroon – темно-красный clRed – красный clNavy – темно-синий clGreen – зеленый clBrown – коричневый clBlue – синий clSkyBlue – голубой clYellow – желтый clCream – кремовый
clAqua – бирюзовый clOlive – оливковый clFuchsia – сиреневый clTeal – сине-зеленый clGray – темно-серый clLime – ярко-зеленый clMoneyGreen – цвет зеленых денег clLtGray – светло-серый clDkGray – темно-серый clMedGray – серый clSilver – серебряный
Random(16777215) – случайный цвет из всей палитры цветов Паскаля
11
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Цвет линии
SetPenColor(color) - устанавливает цвет пера, задаваемый параметром color .
Program liniay;
uses GraphABC;
begin
setpencolor(clred);
line(30,30,400,350);
end.
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Пунктирная линия
SetPenStyle(); -
устанавливает стиль пера, задаваемый номером.
program prim;
uses GraphABC;
begin
Setpencolor(clred);
SetPenStyle(1); {1 - длинный штрих}
Line(10,100,350,100);
SetPenStyle(2); {2 - короткий штрих}
Line(10,125,350,125);
SetPenStyle(3); {3 - штрих-пунктир}
Line(10,150,350,150);
end.
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Толщина линии
SetPenWidth(n) - устанавливает ширину (толщину) пера, равную n пикселям.
Program liniay;
uses GraphABC;
begin
setpenwidth(20);
setpencolor(clred);
line(30,30,400,350);
end.
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Треугольник
Рисуется процедурами
Line(x1,y1,x2,y2); LineTo(x,y);
Program treugolnik;
uses GraphABC;
begin
setpenwidth(20);
setpencolor( clPurple );
line(300,100,500,300);
lineto(100,300);
lineto(300,100);
floodfill(300,200, clSkyBlue) ;
end.
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Прямоугольник
Rectangle(x1,y1,x2,y2) - рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2 ).
x1,y1
Program pryamougolnik;
uses GraphABC;
begin
Rectangle(50,50,200,200);
end.
x2,y2
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Заливка цветом
FloodFill(x,y,color) - заливает область одного цвета цветом color, начиная с точки (x,y).
Х1,у1
Program pryamougolnik;
uses GraphABC;
begin
Rectangle(50,50,200,200);
FloodFill(100,100, clSkyBlue);
end.
Х2,у2
17
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Заливка кистью
SetBrushColor(color) - устанавливает цвет кисти.
Заливка кистью распространяется на замкнутый контур , описание которого следует за процедурой установки цвета кисти.
Program zalivka_kist;
uses GraphABC;
Begin
SetBrushColor( clMoneyGreen );
Rectangle(50,50,300,300);
end.
17
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Заливка кистью
SetBrushStyle(номер от 0 до 7 или название) - устанавливает стиль кисти, задаваемый номером или символической константой.
Program p12_zalivka;
uses GraphABC;
Begin
SetBrushColor(clAqua);
SetBrushStyle(1);
Rectangle(10,10,100,100);
SetBrushColor(clRed);
SetBrushStyle(2);
Rectangle(110,10,200,100);
SetBrushColor(clBlue);
SetBrushStyle(3);
Rectangle(210,10,300,100);
SetBrushColor(clGreen);
SetBrushStyle(4);
Rectangle(10,110,100,210);
SetBrushColor(clYellow);
SetBrushStyle(5);
Rectangle(110,110,200,210);
SetBrushColor(clBlack);
SetBrushStyle(6);
Rectangle(210,110,300,210);
end.
По умолчанию задается стиль 0 – сплошная заливка цветом.
17
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Заливка кистью
SetBrushPicture (‘fname’) -
устанавливает в качестве образца для закраски кистью образец, хранящийся в файле fname, при этом текущий цвет кисти при закраске игнорируется.
uses GraphABC;
begin SetBrushPicture('brush4.bmp'); Ellipse(0,0,640,400);
end.
17
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Цвет и толщина контура
задаются процедурами SetPenWidth(w); SetPenColor(color);
Program pryamougolnik;
uses GraphABC;
begin
SetPenColor(clred);
SetPenWidth(20);
Rectangle(50,50,200,200);
FloodFill(100,100, clSkyBlue );
end.
17
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Окружность
Circle(x,y,r) - рисует окружность с центром в точке (x,y) и радиусом r .
Program circle;
uses GraphABC;
begin
Circle(500,200,100);
FloodFill(500,200, clGreen );
end.
r
x1,y1
17
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Эллипс
Ellipse(x1,y1,x2,y2) - рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).
x1,y1
Program oval;
uses GraphABC;
begin
Ellipse(50,50,200,350);
FloodFill(50+100,50+100,clred);
Ellipse(250,150,550,300);
FloodFill(250+100,150+100,clBlue);
end.
x1,y1
x2,y2
x2,y2
17
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Дуга окружности
Arc(x,y,r,a1,a2) - Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).
Program duga;
uses GraphABC;
Begin
SetPenWidth(10);
Arc(300,250,150,45,135);
end.
r
x,y
17
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Сектор
Pie(x,y,r,a1,a2) - рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc).
Program sector;
uses GraphABC;
begin
Pie(300,200,100,0,90);
FloodFill(300+10,200-10,clAqua);
end.
r
х1,у1
17
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Список литературы
Федоренко Ю. Алгоритмы и программы на Турбо Паскале . Фаронов В.В. Turbo Pascal 7.0. Начальный курс . - Нолидж, 1998. -620 с. Грызлов В.И., Грызлова Т.П. Турбо Паскаль 7.0 . - М.: "ДМК", 2000. - 416 с. Зуев Е.А. Язык программирования Turbo Pascal 6.0 . - М.: Унитех, 1992. - 298с.,ил. Зуев Е.А. Turbo Pascal. Практическое программирование . 17
Серогодская Н.И. ГБОУ СОШ №1 корпус 2
Спасибо за внимание!
17