Интеллектуальные
Для выпускников
Осенние
Зимние
Весенние
Спортивные
День рождения
Разное
Педагогика
Образование
Воспитание
Преподавание
Психология
Методики
Астрономия
Биология
География
Иностранный язык
Информатика
История
Литература
Математика
Музыка
МХК и ИЗО
ОБЖ
Русский язык
Технология
Физика
Химия
Экология
Экономика
Сайта
Педагогика
Общество
Происшествия
Все сценарии
Все статьи
Все открытые уроки
« Ноябрь 2024 » | ||||||
---|---|---|---|---|---|---|
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
Какие статьи чаще добавлять? |
Вид занятия: комбинированное занятие.
Цели занятия:
дидактическая:
– закрепление пройденного материала;
– обобщение и систематизация знаний о среде программирования Паскаль;
– освоение приемов построения простых вычислительных алгоритмов и их программирование на языке Turbo Pascal;
воспитательная:
– формирование мировоззрения у студентов;
– формирование мотивации к изучению предмета “Основы алгоритмизации и программирования”;
– формирование чувства коллективизма, дружбы;
развивающая:
– развитие логического мышления;
– развитие навыков работы с системой программирования.
Межпредметные связи: связь c алгеброй и геометрией.
Внутрипредметные связи: связь с разделами геометрии, процедуры, функции.
Обеспечение занятия: компьютер + большой экран, карточки для студентов, раздаточный материал с заданиями на закрепление, интерфейс среды программирования Turbo Pascal.
Основная литература:
Дополнительная литература:
Требования к результатам усвоения учебного материала.
Студенты должны знать:
Студенты должны уметь:
Приветствие. Проверка присутствующих. Постановка цели. Формирование мотивации к изучению темы.
Понятие графического адаптера.
Аппаратная поддержка графики персонального компьютера обеспечивается двумя основными модулями: видеоадаптером и видеомонитором. Видеомонитор – это устройство, на котором появляется выводимый текст или графические изображения. Видеоадаптеры – это электронные устройства, управляемые собственным микропроцессором.
При работе с экраном в графическом режиме очень важным является то, что любая информация представляет собой совокупность пикселей. Каждый пиксель определяется своими координатами, т.е. положением относительно левого верхнего угла экрана. С помощью программ можно управлять светимостью и цветом любого пикселя, т.е. создавать любое изображение.
Рассмотрение работы в графическом режиме:
Для управления экраном в графическом режиме с помощью программ в Turbo Pascal существуют специальные графические процедуры и функции. Описание этих процедур и функций содержится в специальном библиотечном модуле CRAPH.
Запуск графической системы. Для запуска графической системы необходимо сделать следующее:
var DriverVar, ModeVar: integer;
begin
DriverVar:=Detect;
InitGraph(DriverVar, ModeVar,’\TP\GRAPH’);
С этого момента все графические средства доступны пользователю.
Процедуры.
Arc (X,Y:Integer; U1, U2, R:Word)
Строит дугу окружности текущим цветом с текущими параметрами линии. X, Y – координаты центра дуги; U1 – угол до начальной точки дуги, отсчитываемый против часовой стрелки от горизонтальной оси, направленной с лева на право; U2 – угол до конечной точки дуги, отсчитываемый так же, как U1; R – радиус дуги.
Bar (X1, Y1, X2, Y2:Integer)
Строит прямоугольник, закрашенный текущим цветом с использованием текущего стиля (орнамента, штриховки). X1, Y1, X2, Y2 – координаты левого верхнего и правого нижнего углов прямоугольника.
Bar3D (X1, Y1, X2, Y2:Integer; Glubina: Word; Top:Boolean)
Строит параллелепипед, используя текущий стиль и цвет. X1, Y1, X2, Y2 – координаты левого верхнего и правого нижнего углов передней грани; Glubina – ширина боковой грани (отсчитывается по горизонтали); Top – признак включения верхней грани (если True – верхняя грань вычерчивается, False – не вычерчивается).
Circle (X, Y: Integer; R: word)
Рисует текущим цветом окружность радиуса R с центром в точке (X, Y).
ClearDevice
Очищает графический экран, закрашивает его в цвет фона.
ClearViewPort
Очищает выделенное графическое окно, закрашивает его в цвет фона.
CloseGraph
Закрывает графический режим, т. е. освобождает память, распределенную под драйверы графики и файлы шрифтов, и восстанавливает текстовый режим работы экрана.
Ellipse (X, Y: Integer; U1, U2, XR, YR: Word)
Рисует дугу эллипса текущим цветом. X, Y – координаты центра эллипса; U1, U2 – углы до начальной и конечной точек дуги эллипса (см. процедуру Arc); XR, XY – горизонтальная и вертикальная полуоси эллипса.
Fill Ellipse (X, Y: Integer; U1, U2, XR, YR: Word)
Рисунт заштрихованный эллипс, используя X, Y как центр и XR, YR как горизонтальную и вертикальную полуоси эллипса.
FillPoly (N: Word; Var PolyPoints)
Рисует и штрихует многоугольник, содержащий N вершин с координатами в поле PolyPoints.
InitGraph (Var Driver, Mode:Integer; Path: String)
Организует переход в графический режим. Переменные Driver и Mode содержат тип графического драйвера и его режим работы. Третий параметр определяет маршрут поиска графического драйвера. Если строка пустая (т.е. равна ’’), считается, что драйвер находится в текущем каталоге.
Line (X1, Y1, X2, Y2:Integer)
Рисует линию от точки X1, Y1, до точки X2, Y2.
LineTo (X,Y:Integer)
Рисует линию от текущего указателя к точке X, Y.
MoveTo (X,Y:Integer)
Смещает текущий указатель к точке X, Y.
OutTextXY (X,Y:Integer; TextString: String)
Выводит текст в заданное место экрана.
PieSlice (X,Y:Integer; U1, U2, Radius: Word)
Строит сектор круга, закрашенный текущей штриховкой и цветом заполнения. X, Y – координаты центра сектора круга; U1 и U2 – начальный и конечный углы сектора, отсчитываемые против часовой стрелки от горизонтальной оси, направленной в право; Radius – радиус сектора.
PutPixel (X,Y:Integer; Color: Word)
Выводит точку цветом Color с координатами X, Y.
Rectangle (X1, Y1, X2, Y2)
Рисует контур прямоугольника, используя текущий цвет и тип линий. X1, Y1 – координаты левого верхнего угла прямоугольника; X2, Y2 - координаты левого правого нижнего угла прямоугольника.
Sector (X, Y: Integer; U1, U2, XR, YR: Word)
Рисует и штрихует сектор эллипса радиусом XR, YR с центром в X, Y от начального угла U1 к конечному углу U2.
SetBkColor (Color: Word)
Устанавливает цвет фона.
SetColor (Color: Word)
Устанавливает основной цвет рисования.
SetFillStyle (Pattern, Color: Word)
Устанавливает образец штриховки и цвета.
SetLineStyle (LineStyle, Pattern, Thickness: Word)
Устанавливает толщину и цвет линии.
SetTextStyle (Font, Direction, CharSize: Word)
Устанавливает текущий шрифт, направление (горизонтальное или вертикальное) и размер текста.
SetViewPort (X1, Y1, X2, Y2:Integer; ClipOn: Boolean)
Устанавливает прямоугольное окно на графическом экране. Параметр ClipOn определяет “отсечку” элементов изображения, не умещающихся в окне.
Функции.
GetMaxX и GetMaxY
Возвращает значения максимальных координат экрана в текущем режиме работы соответственно по горизонталь и вертикали.
GraphResult
Возвращает значение GrOk, соответствующее коду 0, если все графические операции программы выполнились без ошибок, или возвращает числовой код ошибки (от -1 до -14).
Закрытие видеорежима. Когда все запланированные графические работы выполнены, необходимо выйти из графического режима. Это делается с помощью не имеющей параметров процедуры ClozeGraph. В процессе выполнения эта процедура освобождает память, распределенную под драйверы графики, файлы шрифтов и промежуточные данные, и восстанавливает режим работы адаптера в то состояние, в котором он находился до выполнения инициализации системы.
Использование процедур и функций при решении задач. Рассмотрение структуры программы.
Построить правильный многоугольник с заданным числом сторон.
Решение.
Центр многоульника совмещаем с центром экрана. Пусть N – число его сторон. Центральный угол стороны Angle=2 * Pi / N. Начальную вершину многоугольника поместим на горизонтальной оси (правее центра). Угол наклона i-й вершины к оси Х составляет Angle * i, а ее центральные координаты X, Y –
X = round (R*cos(Angle*i));
Y = round (R*sin(Angle*i));
Где R – радиус описанной окружности.
Проводим i-ю сторону, соединяя линией найденную i-ю и предыдущую вершины. Выполнив это построение для всех i от 1 до N, получим наш многоугольник. (Отметим, что N-я вершина совпадает с начальной .)
{ Построение правильного многоугольника с N сторонами}
uses graph, crt;
Const
PrD:real=80; { Длина диаметра описанной окружности в % от высоты экрана}
PATH=’’; { файлы *.BGI находятся в рабочем каталоге}
Var
W,H,gd,gm,i,N,X,Y.R:integer;
Angle:real;
{ переход от центральных координат к экранным}
procedure WH (var W,H:integer); { ширина и высота экрана}
begin
{ функция GetMaxX и GetMaxY возвращают максимальные значения соответствующих экранных координат}
W:=( GetMaxX+1); { ширина}
H:=( GetMaxY+1); { высота}
end;
Function Xscr (X:integer):integer;
Begin Xscr:=X + W div 2 end;
Function Yscr (Y:integer):integer;
Begin Yscr:=H div 2 – Y end;
BEGIN
repeat
write (‘ Укажите число сторон правильного многоугольника, не менее 3’);
readln(N);
until N>2;
gd:=DETECT;
initgraph (gd,gm,path);
WH(W,H); { определяем ширину и высоту экрана}
R:=round(PrD*0.01/*H/2); { радиус описанной окружности}
Angle :=2*pi/N; { центральный угол стороны в радиусах}
MoveTo (Xscr(R), Yscr(0)); { первая вершина в экранных координатах}
SetColor (Yellow); { цвет многоугольника - желтый}
For i:=1 to N do begin {цикл сторон}
{X и Y – центральные координаты очередной вершины}
X:=round (R*cos(Angle*i));
Y:= round (R*sin(Angle*i));
{проводим очередную сторону}
LineTo (Xscr(X), Yscr(Y));
End; {цикл сторон}
Repeat until keypressed; { выход – нажатием любой клавиши}
CloseGraph; { переход в текстовый режим}
End.
Закрепление изученного материала рекомендую провести следующим образом. Группу студентов разделить на две команды и провести состязание. Состязание содержит три задания.
[1, с. 367 - 387]. Решить задачи 7, 10 на стр. 420, построить график функции другого варианта.
Выставление оценок за работу в командах. “Чему мы сегодня научились?” (Перечисляем, вспоминаем.) “Гости сами решат, к какой компании обратиться за изготовлением программных продуктов”.
<!--[if gte mso 9]> Normal 0 false false false RU X-NONE X-NONE MicrosoftInternetExplorer4 <!--[if gte mso 9]> <!-- --><!--[if gte mso 10]> <!--[endif]-->
ПРИЛОЖЕНИЕ 1.
Построить график функции у=sin x.
Учитывая центральную симметрию кривой y=sin x, начало координатной системы графика поместим в центр экрана, а оси направим, как обычно, направо и вверх. Другими словами, используется центральная система координат. Сначала выбираем масштаб по обеим осям, сообразуясь с заданными размерами поля чертежа. Угол х в градусной мере варьирует от -180 до 180 градусов, т.е. амплитуда по х составляет 360 градусов (период функции sin x). Будем считать, что нам задан процент использования ширины экрана PrW. Тогда масштаб по оси Х выражается как Mx=PrW/100*W/360,
где W - ширина экрана.
Аналогично амплитуда измерения функции sin x составляет, как известно, 2, и масштаб по оси Y выражается как
Mн=PrH/100*H/2,
Где H - высота экрана, а PrH - заданный процент использования высоты экрана.
Переходим к построению графика. Выберем, достаточно малый шаг StX угла х (например, StX=5). Пусть xb - последнее уже использованное значение х, а Xcb и Ycb - центральные координаты последней точки на графике. Тогда хе =xb+StX - новое значение х, а центральные координаты новой точки выражаются как
Xce=round (Mx*xe)
Yce=round (My*sin(xe*Pi/180))
Соединяем точки (Xcb,Ycb) и (Xce, Yce) прямолинейным отрезком, переобозначаем: Xcb=Хcе и Ycb= Yce - и продолжаем это построение до тех пор, пока хе не получит значение 180 градусов. Осталось указать координаты начальной точки: Xcb =round (Mx * -180), Ycb=0 (поскольку синус угла -180 равен нулю).
Язык Паскаль.
{Построение графика функций y=sin(x)}
uses graph, crt;
Const
PrW=70; {процент использования ширины экрана}
PrH=70; {процент использования высоты экрана}
StX=5; {шаг угла х}
PATH=' ‘; {файлы *.BGI находятся в рабочем каталоге}
Var
W,H,gd,gm,x,Xc,Yc,XcMax,YcMax: integer;
Mx,My:real; {масштаб по осям X и Y}
Y:real;
{Переход от центральных координат к экранным}
Procedure WH(var W,H:integer); {ширина и высота экрана}
Begin
{функция GetMaxY и GetMax X возвращают максимальные значения соответствующих экранных координат}
W:=( GetMax X+1); {ширина}
H:=( GetMaxY+1); {высота}
End;
Fuction Xscr(X:integer):integer;
Begin Xscr:=x + W div 2 end;
Fuction Yscr(Y:integer):integer;
Begin Yscr:=H div 2-Y end;
Begin
Gd:=DETECT;
Initgraph (gd,gm,path);
WH(W,H); {определяем ширину и высоту экрана}
{Интервал изменения угла X от -180 до 180 гродусов}
Mx := PrW/100*W/360;
{Интервал изменения sinx от -1 до1}
My:= PrH/100*H/2;
XcMax := round(Mx*180); {Максимальная центральная координата по X}
YcMax := round(My); {Максимальная центральная координата по Y}
SetColor(Yellow); {Цвет желтый}
Line(Xscr(-XcMax), Yscr(0), Xscr( XcMax), Yscr(0)); {ось X}
Line(Xscr(0), Yscr(-YcMax), Xscr(0), Yscr(YcMax)); {ось Y}
x:=-180; {начальное значение x. sin(-180)=0}
{Ставим курсор в начальную точку на графике}
MoveTo(Xscr(-XcMax), Yscr(0));
repeat {цикл графика}
x:=x+StX; {новое значение угла x}
y:=sin(x*Pi/180); {значение функции}
Xc;=round(Mx*x); {центральная координата по X}
Yc;=round(My*y); {центральная координата по Y}
{Проводим отрезок от старой до новой точки на графике}
LineTo(Xscr(Xc), Yscr(Yc));
until x>=180; {цикл графика}
repeat until keypressed; {Выход - нажатием любой клавиши}
CloseGraph; {Переходв текстовый режим}
END.
ПРИЛОЖЕНИЕ 2
<!--[if gte mso 9]> Normal 0 false false false RU X-NONE X-NONE MicrosoftInternetExplorer4 <!--[if gte mso 9]> <!-- --><!--[if gte mso 10]> <!--[endif]-->
Кроссворд по процедурам.
По горизонтали:
4) Очищает выделенное графическое окно, закрашивает его в цвет фона. (ClearViewPort).
5) Рисует линию от точки до точки. (Line).
9) Рисует контур прямоугольника, используя текущий цвет и тип линий. (Rectangle).
11) Смещает текущий указатель к точке X,Y. (MoveTo).
12) Устанавливает текущий шрифт, направление (горизонтальное или вертикальное) и размер текста. (SetTextStyle).
15) Строит сектор круга, закрашенный текущей штриховкой и цветом заполнения.(PieSlice).
17) Устанавливает цвет фона. (SetBkColor).
20) Организует переход в графический режим. (InitGraph).
23) Выводит текст в заданное место экрана. (OutTextXY).
24) Рисует текущим цветом окружность радиуса с центром в точке. (Circle).
25) Строит параллелепипед, используя текущий стиль и цвет. (Bar3D).
По вертикали:
1)Выводит точку цветом Color с координатами X, Y. (PutPixel).
2)Строит прямоугольник, закрашенный текущим цветом и использованием текущего стиля (орнамента, штриховки). (Bar).
3)Устанавливает толщину и стиль линии. (SetLineStyle).
6) Рисует линию от текущего указателя к точке. (LineTo).
7) Рисует дугу эллипса текущим цветом. (Ellipse).
8) Устанавливает прямоугольное окно на графическом экране. (SetViewPort).
10) Строит дугу окружности текущим цветом с текущими параметрами линии. (Arc).
13) Устанавливает основной цвет рисования. (SetColor).
14) Рисует заштрихованный эллипс, используя X,Y как центр и XR,YR как горизонтальную и вертикальную полуоси эллипса. (FillElipse).
16) Устанавливает образец штриховки и цвет. (SetFillStyle).
18) Рисует и штрихует сектор эллипса. (Sector).
19) Очищает графический экран, закрашивает его в цвет фона. (ClearDevice).
21) Рисует и штрихует многоугольник, содержащий N вершин с координатами PolyPoints. (FillPoly).
22) Закрывает графический режим, т.е. освобождает память, распределенную под драйверы графики и файлы шрифтов, и восстанавливает текстовый режим работы экрана. (CloseGraph).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P |
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
U |
|
B |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S |
|
|
|
|
|
|
T |
|
A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
7 |
|
|
|
4 |
C |
L |
E |
A |
R |
V |
I |
E |
W |
P |
O |
R |
T |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
5 |
L |
I |
N |
E |
|
|
|
|
|
|
T |
|
|
|
|
|
|
I |
|
|
|
|
|
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
S |
|
I |
|
|
L |
|
|
|
|
|
|
L |
|
|
|
|
|
|
X |
|
|
10 |
|
|
|
S |
|
|
|
|
|
|
|
|
|
|
|
|
E |
|
N |
|
|
L |
|
13 |
|
|
|
|
I |
|
|
14 |
|
9 |
R |
E |
C |
T |
A |
N |
G |
L |
E |
|
|
|
|
|
|
|
|
|
|
|
|
T |
|
E |
|
|
I |
|
S |
|
|
|
|
N |
|
|
F |
|
|
|
L |
|
|
R |
|
|
|
C |
|
|
|
|
|
|
|
|
|
11 |
M |
O |
V |
E |
T |
O |
|
P |
|
E |
|
|
|
|
E |
|
|
I |
|
|
|
|
|
|
C |
|
|
|
T |
|
|
|
|
|
|
|
|
|
|
|
|
I |
|
O |
|
12 |
S |
E |
T |
T |
E |
X |
T |
S |
T |
Y |
L |
E |
|
|
|
|
|
|
|
|
|
O |
|
|
|
|
|
|
|
|
|
|
|
|
E |
|
|
|
|
E |
|
C |
|
|
|
|
T |
|
|
L |
|
|
|
|
|
|
|
|
|
|
R |
|
|
|
|
|
16 |
|
|
|
|
|
|
W |
|
|
|
|
|
|
O |
|
|
|
|
Y |
|
|
E |
|
|
|
|
|
|
|
|
|
|
|
|
15 |
P |
I |
E |
S |
L |
I |
C |
E |
19 |
|
P |
|
|
|
21 |
|
|
L |
|
|
|
|
L |
|
|
L |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E |
|
|
|
|
C |
|
O |
|
|
|
F |
|
|
O |
|
|
|
|
E |
|
|
L |
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
S |
E |
T |
B |
K |
C |
O |
L |
O |
R |
20 |
I |
N |
I |
T |
G |
R |
A |
P |
H |
22 |
|
|
|
I |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F |
|
|
|
|
E |
|
T |
|
|
|
L |
|
|
|
|
|
|
C |
|
|
|
P |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I |
|
|
|
|
A |
|
|
|
|
|
L |
|
|
|
|
|
|
L |
|
|
|
S |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L |
|
|
|
|
R |
|
|
|
|
|
P |
|
|
|
|
|
23 |
O |
U |
T |
T |
E |
X |
T |
X |
Y |
|
|
|
|
|
|
|
|
|
|
|
|
L |
|
|
|
|
D |
|
|
|
|
|
O |
|
|
|
|
|
|
S |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S |
|
|
|
|
E |
24 |
C |
I |
R |
C |
L |
E |
|
|
|
|
|
E |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T |
|
|
|
|
V |
|
|
|
|
|
Y |
|
|
|
|
|
|
G |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
,
Очень интересно Ваше мнение, оставьте комментарий Друзья, Ваши знакомые скажут Вам спасибо, если увидят эту страницу в: Другие похожие материалы по теме:
ИнформацияПосетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
|