Цели урока:
Освоить способ представления графической информации на языке Turbo Pascal
образовательная – дать определения графическим операторам;
развивающие – формировать у учащихся логическое и алгоритмическое мышление; развить познавательный интерес к предмету; научить оперировать ранее полученными знаниями; выработать умение планировать свою деятельность;
воспитательные – воспитание умения самостоятельно мыслить, ответственности за выполняемую работу, аккуратности при выполнении работы.
Ход урока:
Организационный момент
Проверка домашнего задания (работа по карточкам- расставь соответствие ).
№ | Команда, оператор | Действие | |||
1 | var | описание переменных | |||
2 | WriteLn Write | вывод сообщения на экран | |||
3 | const | постоянная величина | |||
4 | Integer | тип целого числа | |||
5 | repeat операторы until условие-выхода | оператор цикла с логическим постусловием | |||
6 | begin и end | операторные скобки | |||
7 | ReadLn Read | чтение числа | |||
8 | mod | остаток от деления | |||
9 | div | целочисленное деление (деление без остатка) | |||
10 | end | конец программы | |||
11 | Real | тип вещественного числа | |||
12 |
while условие-повторения do оператор | оператор цикла с предусловием | |||
13 | := | знак присваивания | |||
14 | program имя | начало программы |
Объявление темы и целей урока.
Формирование новых знаний
Запуск и завершение работы в графической системе осуществляется следующим образом:
1. Подключить модуль Graph (библиотеку графических процедур): uses Graph;
2. Установить графический режим:- описываем переменные, которые определяют графический драйвер и монитор: var d,m:integer; - задаем команду ПК для самовыбора значений переменных: d:=Detect; (detect - драйвер сам определяет лучший режим) - инициализируем графический режим: InitGraph(d,m,’указывается путь к драйверу’); С этого момента все графические средства доступны пользователю.
3. Завершить работу в графической системе: CloseGraph;
Графическое представление объектов происходит на координатной плоскости
640
480
Операторы графики:
Line (x1,y1,x2,y2)- линия (Х1,у1 – координаты начала, Х2,у2 – координаты конца)
SetColor (a) Устанавливает цвет линий
SetBkColor (a) Устанавливает цвет фона
SetFillStyle (a, b); a - стиль закраски, b - цвет - Устанавливает стиль и цвет закраски (раздать карточки с цветом и стилем) Х1,у1
Bar (x1,y1,x2,y2) – Рисует закрашенный прямоугольник
Circle (x,y,r)- Рисует окружность радиуса r с центром в точке (x,y)
Х2,у2
Процедуры модуля Graph
Процедура | Формат | Действие |
SetColor | SetColor(a: word); | Устанавливает цвет, которым будет осуществляться рисование |
SetBkColor | SetBkColor(a: word); | Устанавливает цвет фона |
SetFillStyle | SetFillStyle(a, b: word); | Устанавливает стиль и цвет закраски |
SetLineStyle | SetLineStyle(a, b, c: word); | Устанавливает стиль и толщину линии |
SetTextStyle | SetTextStyle(a, b, c: word); | Устанавливает шрифт, стиль и размер текста |
SetFillPattern | SetFillPattern(Pattern: FillpatternType; Color: word); Pattern - маска | Выбирает шаблон заполнения, определенный пользователем |
ClearDevice | ClearDevice; | Очищает экран и устанавливает текущий указатель в начало |
SetViewPort | SetViewPort(x1, y1, x2, y2: integer, Clip: boolean); | Устанавливает текущее окно для графического вывода |
ClearViewPort | ClearViewPort | Очищает окно |
PutPixel | PutPixel(a, b, c: integer); | Рисует точку цветом с в (x,y) |
Line | Line(x1, y1, x2, y2: integer); | Рисует линию от (x1,y1) к (x2,y2) |
Rectangle | Rectangle(x1, y1, x2, y2: integer); | Рисует прямоугольник с диагональю от (x1,y1) к (x2,y2) |
Bar | Bar(x1, y1, x2, y2: integer); | Рисует закрашенный прямоугольник |
Bar3D | Bar3D(x1, y1, x2, y2, d: integer; a: boolean); | Рисует трехмерный параллелепипед |
Circle | Circle(x, y, r: word); | Рисует окружность радиуса r с центром в точке (x,y) |
Arc | Arc(x, y, a, b, R: integer); | Рисует дугу из начального угла к конечному, используя (x,y) как центр |
Ellipse | Ellipse(x, y, a, b, Rx, Ry: integer); | Рисует эллиптическую дугу от начального угла к конечному, используя (x,y) как центр |
FillEllipse | FillEllipse(x, y, Rx, Ry: integer); | Рисует закрашенный эллипс |
MoveTo | MoveTo(x, y: integer); | Передвигает текущий указатель в (x,y) |
MoveRel | MoveRel(x, y: integer); | Передвигает текущий указатель на заданное расстояние от текущей позиции на x по горизонтали и на y по вертикали |
OutText | OutText(text: string); | Выводит текст от текущего указателя |
OutTextxy | OutTextxy(x, y: integer; text: string); | Выводит текст из (x, y) |
PieSlice | PieSlice(x, y: integer, a, b, r: word); | Рисует и заполняет сектор |
FloodFill | FloodFill (x,y,: integer; цвет: word); | Заполняет ограниченную область, используя текущий шаблон и цвет заполнения |
Sector | Sector (x, y, a, b, Rx, Ry: integer); | Рисует и заполняет сектор эллипса |
Практическая работа: рисование домика в Turbo Pascal.
Program domik;
uses graph;
var driver, mode:integer;
begin
driver:=detect;
initgraph (driver, mode, 'C:\TP\bgi');
setfillstyle (1,3);
bar (100,100,200,200);
line(100,100,150,50);
line(150,50,200,100);
setfillstyle(1,4);
bar(120,120,180,180);
circle (150,80,10);
readln;
closegraph;
end.
Сам-но: дорисовать забор, крылечко, круглое окошко.
Подведение итогов: (выставление оценок)
Д\з (нарисовать замок и написать программу на языке Turbo Pascal)