Опис та застосування графічних операцій мовою програмування для побудови найпростіших графічних зображень.

Матеріал з Фізмат Вікіпедії
Перейти до: навігація, пошук

Замойська Ірина Іванівна Мета: навчити встановлювати графічний екран дисплея та використовувати існуючі засоби зображення графічної інформації (процедури модуля Graph), формувати абстрактне мислення та просторові уявлення, розвивати творчі здібності, виховувати комп'ютерну грамотність, акуратність під час використання малюнків та креслень.

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


Хід уроку


1. Організаційний момент

Оголошую оцінки після написання контрольної роботи по рядкових величинах. Якщо виникають питання в учнів , відповідаю.

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

Питання до учнів: Скільки символів у рядку і в стовпці містить екран дисплея у текстовому режимі? За допомогою яких процедур можна виконати найпростіші графічні побудови в текстовому режимі? Який модуль містить ці процедури? Як під'єднуть модуль Crt ?

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

Система координат у графічному режимі не відповідає системі координат текстового режиму (80x25). Графічний екран дисплея складається з точок, які можна засвічувати певним кольором чи гасити, в результаті чого на екрані утворюється деяке зображення. Точки називаються пікселями. Розташування точок визначається їхніми координатами. Можливе задання різних графічних режимів( розміри екрану) для кожного з адаптерів-електронної плати. Тому будь-яка програма, яка використовує графічні можливості комп'ютера повинна ініціалізувати (встановлювати) графічний режим роботи дисплейного адаптера . Налаштування процедур на роботу з конкретним адаптером досягається за допомогою підключення потрібного графічного драйвера. Драйвер - це спеціальна програма, яка здійснює управління тими чи іншими технічними засобами комп'ютера. Графічний драйвер управляє дисплейним адаптером в графічному режимі. Для кожного із адаптерів можливе задання різних графічних режимів (розміри екрану). Розглянемо екран, який має 640 точок у горизонтальному напрямку (X) і 480 у вертикальному ( Y ). Початок відліку точок є у лівому верхньому куті екрана. Для виводу графічних зображень на екран на початку програми слід приєднати командою Uses до програми модуль Graph, який містить більш 50 графічних процедур і функцій. ( Uses Graph ) Робота програми починається з ініціалізації (встановлення) графічного режиму процедурою InitGraph і завершується процедурою CloseGraph. Починається програма з виклику процедури InitGraph, яка автоматично виявляє апаратні засоби і завантажує відповідний графічний драйвер. Якщо в процесі завантаження пройшла помилка, то на екрані появляється повідомлення про помилку. CloseGraph - в процесі свого виконання ця процедура очищає пам'ять яка була задіяна під драйвери, шрифти і проміжкові дані і відновлює той режим адаптера, який був до ініціалізації гафічного режиму. Розглянемо процедури модуля Graph призначені для графічних побудов. Всі процедури, які ми будемо вивчати для зручності користування розділемо на декілька груп.

Стандартні прoцедури і функції модуля Graph для работи з кольорами.

SetBkColor (колiр) - задання кольору фону;

SetColor (колiр) - задання кольору майбутнього зображення;

SetFillStyle (стиль заповнення, колiр) - задання способу заповнення замкнутої областi:

Стиль заповнення

0 - кольором фону EmptyFill

1 - суцiльне кольором зображення SolidFill

2 - горизонтальними лiнiями LineFill

3 - похилими лiнiями LtslashFill

4 - похилими товстими лiнiями SlashFill

5 - похилими зворотнiми товстими лiнiями BkslashFill

6 - похилими зворотнiми лiнiями LtbkslashFill

7 - прямокутною горизонтальною штриховкою HatchFill

8 - косою штриховкою XhatchFill

9 - косою перекриваючою штриховкою InterleaveFill

10 - рiдкими крапками WideDotFill

11 - щiльне заповнення крапками CloseDotFill

Колiр

0 - чорний Black

1 - синiй Blue

2 - зелений Green

3 - блакитний Cyan

4 - червоний Red

5 - фiолетовий Magenta

6 - коричневий Brown

7 - свiтло-сiрий LightGray

8 - темно-сiрий DarkGray

9 - яскраво-синiй LightBlue

10 - яскраво-зелений LightGreen

11 - яскраво-блакитний LightCyan

12 - яскраво-червоний LightRed

13 - яскраво-фiолетовий LightMagenta

14 - жовтий Yellow

15 - бiлий White

FloodFill (x,y, колiр межi) - заповнення замкненої областi з внутрішньою

точкою (x,y) ;

Приклад: SetColor(2);

Circle(320,220,100);

SetFillStyle(1,6);

FloodFill(320,220,2);

Чорний колір !!!!!!!!!! Чорний колір набуває значення кольору фону!!!!!!

Існує помилкове твердження, що не можна контури зображення малювати чорним кольором, його просто не видно! Щоб цього недоліку уникнути в програмі або не використовують процедуру SetBkColor (колiр), а зафарбовують весь екран дисплея прямокутником потрібного кольору, або використовують SetBkColor ( Black), з параметром Black, а потім малюють прямокутник на весь екран потрібного кольору.

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

З а д а ч а . Намалюйте емблему. У верхній лівій частині екрана на чорному тлі намалюйте блакитний квадрат, а в ному — зафарбований жовтим кольором круг, обвід круга (тобто коло) має бути чорним. У центрі емблеми чорними літерами написати слово «11-Б». program Emblema;

uses crt, graph;

var d,m : integer;

begin

clrscr;

initgraph(d, m, ‘’);

setbkcolor(0);

setcolor(3);

rectangle(100,0,300,200);

setfillstyle(l,3);

floodfill(200,100,3);

setcolor(14);

circle(200,100,100);

setfillstyle(l,14);

floodfill(200,100,14);

setcolor(0);

circle(200,100,100);

settextstyle(0,0,3);

outtextxy(135,100, '11-B');

repeat until keypressed

end.

Цю задачу сама набираю на компютері, і покроково поясную кожну процедуру, учні слідкують і записують, дивлячись на екран, у зошит.

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

Питання до класу: Яка процедура встановлює графічний режим? Як відрізняється система координат в текстовому і в графічному режимі? Яка процедура закриває графічний режим? Назвати процедуру для задання кольору фону. Назвати процедуру для задання кольору майбутнього зображення. Яка відмінність між процедурами SetFillStyle і FloodFill ? Один із учнів отримую листок А4, на якому написані всі процедури, які учням необхідно вивчити .Всі інші повинні перезняти.

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

Вивчити всі процедури розглянуті на уроці.(з листка А4). Намалювати листівку у зошиті, а на наступному уроці напишете програму.