Тема: Графические процедуры и функции языка программирования Паскаль
Цели урока:
Образовательная:
повторить понятие графика на языке программирования Паскаль, графические процедуры и функции; обеспечить в ходе урока закрепление навыка составления программ на языке Паскаль, используя модуль Graph ABC и некоторые его команды
Развивающая:
1. развитие гибкости, алгоритмичности, критичности мышления;
2. развитие у учащихся способности к взаимопомощи;
3. развитие самостоятельности учащихся.
Воспитательная: воспитание информационной культуры учащихся; внимательности, аккуратности, дисциплинированности, усидчивости
Тип урока: урок повторения, закрепления и систематизации знаний
Методы, планируемые к использованию на уроке:
Эвристическая беседа;
Педтехнологии: ИКТ
Дидактические средства:
Среда программирования Pascal АВС, установленная на каждый ученический компьютер, тестирование учащихся в среде программирования Delphi в программе TESTЕR7, установленной на каждый ученический компьютер, карточки с описанием некоторых процедур и функций (приложение 1); видеоурок № 2 «Работа с графической библиотекой программы Паскаль АВС Graph ABC» .
Ход урока
(перед уроком учитель раскладывает на парты ученикам карточки с описанием некоторых процедур и функций)
Этапы урока Деятельность учителя Деятельность учащихся
1.Орг.момент, сообщение темы и целей урока Приветствие ребят. Ребята, что мы изучали с вами на прошлом уроке? А как вы думаете, чем мы будем с вами заниматься на этом уроке? Ребята формулируют сами тему урока и обозначают цели урока. приветствие учителя
2. Актуализация и повторение знаний по теме «Мозговой штурм»:
1. Что такое пиксель?
2. Что называют видеоадаптером?
3. Как называется библиотечный модуль, предназначенный для использования процедур в графическом режиме?
4. Назовите процедуру для очистки экрана
5. Сколько точек можно изобразить в графическом режиме на экране? Ответы учащихся:
1. Наименьший управляемый элемент экрана; маленькая точка экрана
2. блок управления экраном
3. Graph
4. ClrScr
5. (649, 349) для адаптера EGA; в зависимости от используемого адаптера может быть и (800,600)
3. Просмотр видеоурока №2 «Работа с графической библиотекой программы Паскаль АВС Graph ABC» http://videouroki.net/view_post.php?id=20 «Рисуем дом» ребята внимательно смотрят фрагмент видеоурока №2,
фиксируют знакомые процедуры для построения геометрических объектов в карточке на рабочем столе и записывают незнакомые процедуры в рабочую тетрадь
4. Закрепле-ние знаний Творческий проект «Машина моей мечты»
(составление программы и её выполнение) Ребята сами придумывают модель машины, стоят у себя в рабочей тетеради и составляют программу на языке программирования Паскаль.
Рrogram car1;
uses GraphABC;
begin
circle(80,100,13);
circle(130,100,13);
setpencolor(clblue);
line(62,100,70,100);
line(90,100,119,100);
line(142,100,160,100);
line(159,70,159,100);
line(159,70,60,70);
Arc(65,85,15,90,270);
setbrushcolor(clSkyBlue);
rectangle(90,40,130,70);
setbrushcolor(clWhite);
rectangle(100,50,120,70);
setpencolor(clMedGray);
line(0,20,300,20);
line(0,120,300,120);
floodfill(80,100,clYellow);
floodfill(130,100,clMaroon);
end.
или
program car2;
uses GraphABC;
begin
setpencolor(clblue);
line(110,110,320,110);
line(110,110,110,130);
line(110,130,320,130);
setbrushcolor(clAqua);
circle(170,145,20);
circle(280,145,20);
line(320,110,320,130);
line(210,80,180,110);
line(210,80,290,80);
line(290,80,320,110);
line(240,80,240,130);
line(280,80,280,125);
setpencolor(clBlack);
line(225,120,235,120);
line(265,120,275,120);
line(180,110,180,130);
floodfill(210,120,clSkyBlue);
floodfill(140,120,clSkyBlue);
floodfill(250,120,clSkyBlue);
floodfill(300,120,clSkyBlue);
floodfill(210,120,clSkyBlue);
floodfill(210,100,clLtGray);
floodfill(270,90,clLtGray);
floodfill(300,100,clLtGray);
setbrushcolor(clYellow);
rectangle(110,110,120,120);
setbrushcolor(clRed);
rectangle(310,110,320,120);
end.
5. Проверка ЗУНов тестирование в среде программирования Delphi в программе TESTЕR7 Выполняется тест по вариантам за компьютерами
Ученики заносят свою фамилию. Нажимают «Пуск». Выполняют тест. Затем нажимают кнопку «Результат». Программа автоматически выполняет проверку, выставляет оценку и показывает правильный ответ. Ребята могут сравнить свой ответ с правильным.
6. Подведе-ние итогов. Выставление оценок Сегодня мы повторили и закрепили знания о графических функциях и процедурах, попытались построить графические объекты
7. Рефлексия
Ребята выбирают из предложенных рисунков тот, который соответствует настроению на конец урока, на стикерах записывают то, что узнали сегодня на уроке, что их удивило и т.д.
8. Домашнее задание (твор-ческое) Выучить команды и их характеристики (наизусть).
Составить в тетради программу, в результате выполнения которой, вы получите задуманный рисунок.
приложение 1
Графические примитивы
procedure SetPixel(x,y,color: integer);
Закрашивает один пиксел с координатами (x,y) цветом color.
function GetPixel(x,y): integer;
Возвращает текущее значение цвета для пиксела с координатами (x,y).
procedure MoveTo(x,y: integer);
Передвигает невидимое перо к точке с координатами (x,y); эта функция работает в паре с функцией LineTo(x,y).
procedure LineTo(x,y: integer);
Рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y).
procedure Line(x1,y1,x2,y2: integer);
Рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).
procedure Circle(x,y,r: integer);
Рисует окружность с центром в точке (x,y) и радиусом r.
procedure Ellipse(x1,y1,x2,y2: integer);
Рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).
procedure Rectangle(x1,y1,x2,y2: integer);
Рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).
procedure RoundRect(x1,y1,x2,y2,w,h: integer);
Рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев.
procedure Arc(x,y,r,a1,a2: integer);
Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).
procedure Pie(x,y,r,a1,a2: integer);
Рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc).
procedure Chord(x,y,r,a1,a2: integer);
Рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc).
procedure TextOut(x,y: integer; s: string);
Выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s).
procedure FloodFill(x,y,color: integer);
Заливает область одного цвета цветом color, начиная с точки (x,y).
procedure FillRect(x1,y1,x2,y2: integer);
Заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти.
procedure Polygon(var a; n: integer);
Строит ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point.
procedure Polyline(var a; n: integer);
Строит замкнутую ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point.
Цветовые константы и функции для работы с цветом
Модуль GraphABC содержит константы и функции для работы с цветами. Тип ColorType, описывающий цвет, определен следующим образом:
type ColorType=integer;
Стандартные цвета задаются символическими константами:
clBlack – черный
clPurple – фиолетовый
clWhite – белый
clMaroon – темно-красный
clRed – красный
clNavy – темно-синий
clGreen – зеленый
clBrown – коричневый
clBlue – синий
clSkyBlue – голубой
clYellow – желтый
clCream – кремовый clAqua – бирюзовый
clOlive – оливковый
clFuchsia – сиреневый
clTeal – сине-зеленый
clGray – темно-серый
clLime – ярко-зеленый
clMoneyGreen – цвет зеленых денег
clLtGray – светло-серый
clDkGray – темно-серый
clMedGray – серый
clSilver – серебряный
Для работы с цветами используются следующие функции.
function RGB(r,g,b: integer): ColorType;
Возвращает целое значение, являющееся кодом цвета, который содержит красную, зеленую и синюю составляющие с интенсивностями r, g и b соответственно (r, g и b – целые в диапазоне от 0 до 255, причем, 0 соответствует минимальной интенсивности, 255 – максимальной).
function GetRed(color: ColorType): integer;
Выделяет красную составляющую из цвета color (целое в диапазоне от 0 до 255);
function GetGreen(color: ColorType): integer;
Выделяет зеленую составляющую из цвета color (целое в диапазоне от 0 до 255);
function GetBlue(color: ColorType): integer;
Выделяет синюю составляющую из цвета color (целое в диапазоне от 0 до 255).
Действия с пером
function PenX: integer;
function PenY: integer;
Возвращают текущие координаты пера.
procedure SetPenColor(color: integer);
Устанавливает цвет пера, задаваемый параметром color.
function PenColor: integer;
Возвращает текущий цвет пера.
procedure SetPenWidth(w: integer);
Устанавливает ширину пера, равную w пикселам.
function PenWidth: integer;
Возвращает текущую ширину пера.
procedure SetPenStyle(ps: integer);
Устанавливает стиль пера, задаваемый параметром ps.
function PenStyle: integer;
Возвращает текущий стиль пера.
Действия с кистью
procedure SetBrushColor(color: integer);
Устанавливает цвет кисти, задаваемый параметром color.
function BrushColor: integer;
Возвращает текущий цвет кисти.
procedure SetBrushPicture(fname: string);
Устанавливает в качестве образца для закраски кистью образец, хранящийся в файле fname, при этом текущий цвет кисти при закраске игнорируется.
procedure ClearBrushPicture;
Очищает рисунок-образец, выбранный для кисти.
procedure SetBrushStyle(bs: integer);
Устанавливает стиль кисти, задаваемый параметром bs.
function BrushStyle: integer;
Возвращает текущий стиль кисти.
Действия со шрифтом
procedure SetFontColor(color: integer);
Устанавливает цвет шрифта.
function FontColor: integer;
Возвращает текущий цвет шрифта.
procedure SetFontSize(sz: integer);
Устанавливает размер шрифта в пунктах.
function FontSize: integer;
Возвращает текущий размер шрифта в пунктах.
procedure SetFontName(name: string);
Устанавливает наименование шрифта.
function FontName: string;
Возвращает текущее наименование шрифта.
По умолчанию установлен шрифт, имеющий наименование MS Sans Serif.
Наиболее распространенные шрифты – это Times, Arial и Courier New.
Наименование шрифта можно набирать без учета регистра.
procedure SetFontStyle(fs: integer);
Устанавливает стиль шрифта.
function FontStyle: integer;
Возвращает текущий стиль шрифта.
Стили шрифта задаются следующими именованными константами:
fsNormal – обычный;
fsBold – жирный;
fsItalic – наклонный;
fsBoldItalic – жирный наклонный;
fsUnderline – подчеркнутый;
fsBoldUnderline – жирный подчеркнутый;
fsItalicUnderline – наклонный подчеркнутый;
fsBoldItalicUnderline – жирный наклонный подчеркнутый.
function TextWidth(s: string): integer;
Возвращает ширину строки s в пикселях при текущих настройках шрифта.
function TextHeight(s: string): integer;
Возвращает высоту строки s в пикселях при текущих настройках шрифта.
|