Корженок А.А. ГУО «Средняя
общеобразовательная школа №1 г.п.Островец»
Тема «Графические возможности языка программирования»
Цели урока:
организовать деятельность учащихся для изучения возможностей среды программирования Pascal ABC при работы с графической информацией, формирования умения применять команды рисования для построения геометрических фигур;
создать условия для развития алгоритмического мышления в конкретных ситуациях и совершенствования практических умений;
содействовать воспитанию аккуратности и внимательности при выполнении работы;
содействовать воспитанию бережливого отношения к своему здоровью.
Ход урока
Организационный момент Когда римляне осадили город Зеле (47 год до н.э.) люди, покидая город, брали с собой все, что можно унести. Позади всех шел мудрец Биант, в руках у него ничего не было. Идущие рядом спросили: «А где твое нажитое добро?» Мудрец ответил: «Все свое ношу с собой». Истинное богатство человека в его знаниях и уме.
Изучение нового материала
Сегодня мы начинаем изучать новую тему «Графические возможности языка программирования». Давайте повторим структуру программы в среде программирования Pascal ABC. Структура программы:
program ;
uses раздел подключения модулей;
var раздел описаний;
begin
;
end.
А теперь познакомимся с возможностями среды языка программирования Pascal ABC для работы с графической информацией. Язык Pascal ABC включает в себя модуль Graph ABC, позволяющий строить графические изображения.
П
ри работе в графическом режиме изображение на экране строится не из символов, а из точек – пикселей. Каждый пиксель (точка) имеет две координаты: х и у (рис.3.4).
Геометрические размеры пикселя определяются разрешением монитора. Разрешение монитора задается в виде x и y, где x – количество возможных пикселей на экране по горизонтали, а y – количество пикселей по вертикали. Например, известны следующие разрешения мониторов: 320х200; 640x480; 800x600; 1024x768; 1280x1024 – и т.д. /Приложение 1/
Даже при самом плохом разрешении экрана изображение в графическом режиме формируется с помощью 64000 графических элементов. Из такого количества «строительных кирпичиков» можно построить хорошую картинку. О том, как это делается с помощью Pascal ABC, мы сейчас и поговорим.
Рисование различных геометрических фигур осуществляется с помощью специальных стандартных команд (процедур). Команды для работы в графическом режиме хранятся в библиотечном модуле GraphAВС. Модуль GraphAВС представляет собой простую графическую библиотеку, и предназначен для создания графических программ. Поэтому во всех программах, которые работают в графическом режиме, ее необходимо подключать в разделе описаний с помощью зарезервированного слова Uses (подключить). Рисование осуществляется в специальном графическом окне. Возможность рисовать одновременно в нескольких окнах отсутствует. Рисовать можно с помощью пера и кисти. В модуле GraphAВС с помощью команды SetWindowSize(X,Y) можно задавать размеры графического окна. По умолчанию графическое окно будет принимать размеры экрана компьютера.
А теперь рассмотрим графические примитивы модуля GraphAВС. /Приложение 2/
Приложение 2
SetPixel(x,y,color: integer); | Закрашивает один пиксель с координатами (x,y) цветом color. |
MoveTo(x,y: integer); | Передвигает невидимое перо к точке с координатами (x,y); работает в паре с функцией LineTo(x,y). |
LineTo(x,y: integer); | Рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y) |
Line(x1,y1,x2,y2: integer); | Рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2) |
Circle(x,y,r: integer); | Рисует окружность с центром в точке (x,y) радиусом r. |
Ellipse(x1,y1,x2,y2: integer); | Рисует эллипс, заданный описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2). |
Rectangle(x1,y1,x2,y2: integer); | Рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2). |
Arc(x,y,r,a1,a2: integer); | Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенную между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки). |
Pie(x,y,r,a1,a2: integer); | Рисует сектор круга, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc). |
FloodFill(x,y,color: integer); | Заливает однотонную область цветом color, начиная с точки (x,y). |
TextOut(x,y: integer; s: string); | Выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s). |
Давайте на простом примере посмотрим, как создается алгоритм рисования фигур в программе Паскаль АВС.
Каждому ученику дается карточка, где есть алгоритм рисования треугольника из зеленых линий внутри с красной заливкой. /Приложение 3/
Приложение 3
Демонстрация рисования замкнутых фигур с помощью линий и их закрашивание
Program treug_zakrash;
uses graphabc; {подключение модуля GraphAbc}
Вegin
setwindowsize(640,480); {устанавливает размеры графического окна}
clearwindow(clWhite); {очищает графическое окно белым цветом}
setpenwidth(3); {устанавливает ширину текущего пера}
setpenstyle(pssolid); {устанавливает стиль линии – сплошная линия}
setpencolor(clgreen); {устанавливает зеленый цвет пера}
line(100,200,170,70); {рисует линии зеленым цветом}
line(170,70,250,200);
line(250,200,100,200);
floodfill(170,90,clred); {Закрашивает треугольник красным цветом}
setpixel(100,120,clBlack); {устанавливает черный цвет пера и рисует точку с координатами (100,120)}
Еnd.
Стандартные цвета с задаются символическими константами:
clBlack – черный clPurple – фиолетовый clWhite – белый clMaroon – темно-красный clRed – красный clNavy – темно-синий | clBrown – коричневый clBlue – синий clSkyBlue – голубой clYellow – желтый clAqua – бирюзовый clOlive – оливковый | clGray – темно-серый clLime – ярко-зеленый clLtGray – светло-серый clSilver – серебряный clGreen – зеленый clFuchsia – сиреневый |
А теперь сядем за компьютеры и выполним эту программу. Получилась ли у вас заданная фигура?
III. Физкультминутка
(Звучит музыка)
Сядьте поудобнее, выпрямите спины и попробуйте ответить на несложные для вас вопросы.
Турнирная, тиражная, электронная … (таблица)
Военная, банковская, валютная, хирургическая, математическая, логическая ….(операция)
Одеяло для кошки…(коврик для мышки)
Назовите «математическое» воинское звание(рядовой)
Излюбленное блюдо всех программистов – это …(биточки)
Назовите итальянского математика, по фамилии которого названа последовательность чисел, каждое из которых равно сумме двух предыдущих (Фибоначчи)
Какие банки создают только программисты? (банки данных)
Чему равна сумма всех целых чисел первого десятка? (55)
Как называется программа, созданная специально для повреждения данных? (вирус)
Что, по Шопенгауэру, составляет 9/10 нашего счастья? (здоровье)
Как образно говорят об информации, требующей анализа? (пища для размышления)
Во сколько увеличиться значение числа 8, когда оно «ложиться спать»? (в бесконечное число раз)
Как называют десерт, поданный на обед? (третье-компот)
IV. Практическое применение знаний и умений
А теперь сами попробуем составить программу. В тетради начертим систему координат. Не забудьте, что ось у идет сверху вниз. Давайте примем 1 клеточку тетради за 20 пикселей (точек). Подпишем координаты. Начертим куб. С чего начинаем составление программы? Правильно, Program и запишем имя нашей программы (каким может быть имя?). Дальше пишем uses graphАВС; для подключения модуля GraphAbc. Затем следует команда Begin и процедура, которая устанавливает размеры графического окна. Установим ширину пера и стиль линии. Зададим цвет пера, цвет которым будем рисовать линии. Пишем команду Line и определяем координаты концов одного отрезка стороны куба. Аналогично рисуем все стороны куба. Программу заканчиваем командой End.
Важно помнить:
1. Графические координаты принимают только целочисленные значения.
2. Графические координаты принимают значения, ограниченные как снизу (нулевым значением), так и сверху (значением разрешения экрана монитора).
3. Графическая координата у отсчитывается сверху вниз.
Когда ребята составили программу, то они выполняют ее на компьютере. (можно открыть файл-заготовку с карточки и исправить там координаты).
V.Домашнее задание.
Выучить конспект. Составить программу для рисования фигуры из упр.1 стр.69 (на выбор)