Cтворення графічних об'єктів засобами мови Паскаль (практична робота)
Мета: навчитись створювати зображення з використанням операторів циклу та процедур для побудов графічних побудов, закріпити навики використання процедури ініціалізації вбудованого генератора випадкових чисел та функції повернення випадкового числа, формувати вміння раціонального пошуку під-час розв'язуваннч задач, алгоритмічного стилю мислення, спрямованого на вибір оптимальних розв'язань, заохочувати самостійність і нестандартність мислення, підтримувати прагнення до засвоєння нових знань.
Обладнання: персональні комп'ютери, роздатковий матеріал.
Тип уроку: урок формування умінь і навичок.
Форма організації уроку.
Робота в комп'ютерному класі - практичне заняття;
пояснення деяких завдань, запис програм на дошці;
парна та індивідуальна робота за комп'ютером.
Хід уроку
1. Актуалізація опорних знань.
1). Пояснити дію процедури Randomize і дію функції Random(18).
2). Диктант:
Написати процедури Graph які виводять на екран монітора:
Лінію між двома заданими точками.
Паралелепіпед.
Дугу.
Лінію від поточної точки з заданим приростом.
Еліпс не зафарбований.
Прямокутник.
Зафарбований сектор.
Лінію від поточної точки до точки X,Y.
Коло.
Зафарбований прямокутник.
Встановити чорний колір фону.
Встановити білий колір зображення.
Вивести точку заданим кольором.
Написати процедуру, яка задає спосіб заповнення замкнутої області.
Процедуру, яка заповнює замкнену область.
Процедуру ініціалізації графічного режиму.
Процедуру, яка очищає екран зафарбовуючи його кольором фону.
Процедуру, яка закриває графічний режим.
Процедуру, яка встановлює тип і товщину лінії.
Які розміри екрану в графічному режимі?
Як підключити бібліотеку Graph?
Написати процедуру чистки екрану.
Процедуру вивову паралелепіпеда.
Зафарбований еліпс.
Вчитель збирає роботи учнів і роздає знову в іншому порядку.Кожний учень отримує роботу когось іншого. Вчитель зачитує ще раз питання і правильну відповідь, учні перевіряють і виставляють кількість правильних відповідей.
2. Пояснення і запис на дошці завдань.
Продовжуємо вивчати процедури модуля Graph призначені для графічних побудов. Розглянемо наступну групу завдань.
Завдання1.
Побудувати 10 концентричних кіл з центрами в точці (320,240), радіусами відповідно від 60 до 70 пікселів, використати оператор циклу.
uses crt,graph;
var
dv,md,x,y,i:integer;
begin
dv:=detect;
initgraph(dv,md,'');
setbkcolor(1);
for i:=1 to 10 do
begin
circle(320,240,60+i*10);
delay(20000);
end;
readkey;
closegraph;
end.
Завдання 1а.
Модифікувати програму таким чином, щоб кожне наступне коло було відмінне від попереднього по кольору.
uses crt,graph;
var
dv,md,x,y,i:integer;
begin
dv:=detect;
initgraph(dv,md,'');
randomize;
setbkcolor(1);
for i:=2 to 240 do
begin
setcolor(random(25));
circle(320,240,i);
end;
readkey;
closegraph;
end.
3. Закріплення матеріалу. Робота за комп'ютерами
виконання, перегляд розглянутих програм.
самостійне виконання програм (у кожного учня окреме завдання)
Завдання 2.
Вивести на екран зображення множини різнокольрових пухирців (випадкові розміри та заповнення) до натискання будь-якої клавіші.
Завдання 3.
Вивести на екран зображення вкладених прямокутників, що сходяться.
Завдання 4.
Вивести на екран зображення вертикальних різнокольорових ліній на весь екран .
Завдання 5.
Вивести на екран зображення горизонтальних ліній через інтервал.
Завдання 6.
Зображення шахматки, з випадковими кольорами заливки.
Завдання 7.
Зображення грат (вільні або задані розміри).
Завдання 8.
Зображення круга, розбитого на сектори і розмальованого у вигляді парасольки.
Завдання 9.
Зображення працюючого світлофора (зі зміною кольорів).
Завдання 10.
Зображення ялинки з трикутників.
Завдання 11.
Вивести зображення круга, розбитого на сектори і розмальованого у вигляді парасольки.
Завдання 12.
Вивести зображення множини дуг, що ростуть до сектора заданого розміра.
4. Підведення підсумків
Оголошення оцінок за урок. У всіх учнів вийшли дуже гарні творчі роботи.
Що було найскладніше для реалізації запропонованого завдання? Що було найцікавіше у виконанні завдання?
5. Домашнє завдання
Завдання 13. Намалювати 6 кіл, які дотикаються, через одне замалювати .
Setcolor(12);
for i:=2 to 9 do
begin
circle(20+40*i,240,20);
if i mod 2=1 then
begin
setfillstyle(0,1);
floodfill(20+40*i,240,12)
end;
end;
Завдання 14. Намалювати прапор України.