Процедури і функціїї модуля Graph (для роботи з прямокутниками, лініями)



Мета: навчити практичного використання процедур модуля Graph, розвивати творчі здібності,підтримувати прагнення до засвоєння нових знань, сприяти естетичному вихованню при побудові графічних фігур.

Обладнання: персональні комп'ютери, опорний конспект до заданої теми, роздатковий матеріал.

Тип уроку: урок формування умінь і навичок.

Форма організації уроку.

Робота в комп'ютерному класі - лекційно - практичне заняття;

Пояснення нового матеріалу;

парна та індивідуальна робота за комп'ютером.

Хід уроку

1. Актуалізація опорних знань.

Питання до класу:

Яка процедура встановлює графічний режим?

Назвати процедуру для задання кольору фону.

Назвати процедуру для задання кольору майбутнього зображення.

Перелічити процедури для роботи з пікселями.

Перелічити процедури для роботи з дугами.

Перелічити процедури для роботи з колом, еліпсом.

2. Пояснення нового матеріалу.

Продовжуємо вивчати процедури модуля Graph призначені для графічних побудов. Розглянемо наступну групу процедур.

IV. Прoцедури для работи з прямокутниками.

Rectangle (x1,y1,x2,y2) - малює прямокутник з заданими координатами діагонально протилежними;

Bar (x1,y1,x2,y2) - малює зафарбований прямокутник;

Bar3d (x1,y1,x2,y2, глибина, верх) - малює паралелепiпед;

Вверх

True - є верхня площина

False - верхньої площини немає

V. Прoцедури для роботи з графічними примітивами типу "лінія".

Line (x1,y1,x2,y2) - малює лiнiю мiж двома заданими точками;

LineTo (x,y) - малює лiнiю вiд поточної точки до заданої точки;

SetLineStyle (тип лiнiї, шаблон користувача, товщина лiнiї) - встановлює тип лiнiї;

Тип лiнiї

0 - суцiльна Solidln

1 - пунктирна Dottedln

2 - центорова Centerln

3 - штрихова Dashedln

4 - користувача Userbitln

Товщина

1 - ширина в 1 пiксел

3 - ширина в 3 пiксели

Шаблон використовується, якщо тип лiнiї рiвний 4, iнакше 0

Приклади програм ( учні по-черзі коментують кожний рядок):

Програма №1, файл Gr3.

PROGRAM gr3;

USES Graph,crt;

VAR

GD:integer;

GM:integer;

i,r:longint;

BEGIN

GD:= Detect;

InitGraph(GD,GM,'');

if GraphResult <> grOk then Halt;

randomize;

Setbkcolor(blue); { колiр фону }

Setcolor(15); { колiр букв }

repeat

SetColor(Random(GetMaxColor)+1);

Line(100+Random(200),300+Random(100),Random(100),Random(100));

until KeyPressed;

Readln;

Cleardevice;

CloseGraph;

end.

Програма №2,

PROGRAM gr2;

USES Graph,crt;

VAR

GD:integer;

GM:integer;

i,r:longint;

BEGIN

GD:= Detect;

InitGraph(GD,GM,'');

if GraphResult <> grOk then Halt;

randomize;

Setbkcolor(blue); { колiр фону }

Setcolor(15); { колiр букв }

for i:=1 to 10000 do

Putpixel(100+Random(400),100+Random(300),Random(15));

{ заповнення точками }

Line(50,100,150,20); { лiнiя мiж двома точками }

MoveTo(10,20);

LineTo(100,200); {лінія вiд поточної точки до X,Y }

LineRel(50,100); { лінія вiд поточної з заданим приростом }

Rectangle(300,200,500,400); { прямокутник }

Rectangle(29,29,GetMaxX-29,GetMaxY-29); { прямокутник }

for r:=1 to 5 do

Circle(200,100,r*10); { Коло }

Ellipse(200,200,0,360,30,50); { елiпс замкнута фiгура }

Ellipse(200,200,0,180,50,30); { елiпс розiмкнута }

for r:=1 to 5 do

Arc(300,100,0,90,r*10); { дуга }

Bar(550,400,600,450); { замальований прямокутник}

Bar3D(10,10,110,60,10,TopOn); { паралелепiпед }

Bar3d(145,45,250,40,10,true);

Readln;

Cleardevice;

CloseGraph; end.

Програма №3, файл Gr5.

PROGRAM gr5;

USES Graph,crt;

VAR

GD:integer;

GM:integer;

i,r:longint;

BEGIN

GD:= Detect;

InitGraph(GD,GM,'');

if GraphResult <> grOk then Halt;

Setbkcolor(blue); { колiр фону }

Setcolor(red); { колiр зображення }

Circle(200,100,70); { коло }

Setfillstyle(1,red); { спосiб заповнення,колiр }

FloodFill(200,100,red); { заповнення областi з точкою x,y у серединi }

Setcolor(15);

Setfillstyle(1,8);

FillEllipse(GetMaxX div 2,GetMaxY div 2,50,50);

Setcolor(10);

Setfillstyle(1,5);

Bar3d(10,10,110,60,10,topon);

Readln;

Cleardevice;

CloseGraph;

end.

3. Закріплення матеріалу. Робота за комп'ютерами

виконання, перегляд розглянутих програм.

самостійне виконання програм (у кожного учня окреме завдання)

додаткові завдання:

Вивести зображення круга, розбитого на сектори і розмальованого у вигляді парасольки.

Вивести зображення працюючого світлофора (зі зміною кольорів).

Вивести зображення ялинки з трикутників.

Вивести зображення ялинки з секторів.

Вивести зображення множини дуг, що ростуть до сектора заданого розміра.

4. Підведення підсумків

Питання до класу:

Яка процедура малює лiнiю мiж двома заданими точками?

2. Яка процедура малює лiнiю вiд поточної точки до заданої точки?

3. Назвати процедуру для виводу прямокутника?

4. Назвати процедуру для виводу паралелепіпеда?

5. Домашнє завдання

Вивчити всі процедури розглянуті на уроці;

Придумати цікавий малюнок на довільну тему з використанням розглянутих процедур.




На головну


Hosted by uCoz