№ | Слайд | Текст |
1 |
 |
Построение графиков функций на PascalABCПрезентация к уроку информатики Тема: программирование на языке PascalABC Автор: Юдин Андрей Борисович МКОУ Плесская СОШ |
2 |
 |
График функции y=cos xXmax=800 Ymax=600 Область значений функции косинус [-1; 1], график слился с осью Х 1 |
3 |
 |
График функции y=cos x, увеличенный в 50 разXmax=800 Ymax=600 Единичный отрезок на экране 50 пикселей. 2 |
4 |
 |
График функции y=cos x, увеличенный в 100 разXmax=800 Ymax=600 Единичный отрезок на экране 100 пикселей. 3 |
5 |
 |
y=3cos xy=cos x 4 |
6 |
 |
Для построения графика функции y = k f(x) необходимо график функции y= f(x) растянуть в k раз вдоль оси ОY для k >1 или сжать в 1/k раз вдоль оси OY для k<1 5 |
7 |
 |
y=cos 3xy=cos x 6 |
8 |
 |
Для построения графика функции y = f(k x) необходимо график функции y= f(x) сжать в k раз вдоль оси ОХ для k >1 или растянуть в 1/k раз вдоль оси OХ для k<1 7 |
9 |
 |
y=f(x)y= -f(x) Y Умножение функции на -1 отражает график симметрично относительно оси ОХ X 8 |
10 |
 |
y = - m f(x/m)Растянем (увеличим в m раз) по оси OX Растянем (увеличим в m раз) по оси OY и отразим относительно оси OX 9 |
11 |
 |
x?= 400 + xy?= 300 + y X 800 O(0,0) 320 X? 200 Y 600 Y? 10 |
12 |
 |
Функция WindowWidth определяет длину графического окнаa:=a-100 x:=x+100; x=400 a=400 600 100 200 300 500 700 x:=400; a:=400; while (x < WindowWidth) do begin line(x,0,x,600); line(a,0,a,600); x:=x+m; a:=a-m; end; 11 |
13 |
 |
a:=a-100Функция WindowHeight определяет высоту графического окна y:=y+100; y:=300; a:=300; while (y < WindowHeight) do begin line(0,y,800,y); line(0,a,800,a); y:=y+m; a:=a-m; end; 100 200 a=300 y=300 400 500 12 |
14 |
 |
Толщина линий 1Цвет светло-серый Program Grafic; Uses Crt, GraphABC; var x,i,y,m,a:integer; x1,y1,dx:real; Procedure setka; begin setpenwidth(1); setpencolor(clltgray); {рисование сетки, слайды 11,12} end; 13 |
15 |
 |
Процедура рисования осейФункция, график которой строим procedure osi; begin SetPenWidth(2); SetPenColor(clBlue ); line(1,300,800,300); line(400,0,400,600); end; Function f (x: real): real; Begin F:=cos(x); End; 14 |
16 |
 |
procedure graphic; begin x1:=x1+dx/m; y1:= - f (x1 / m)* m; x=trunc(x1)+400; y:=trunc(y1)+300; SetPixel(x,y,clRed); End; Изменяем Х с некоторым шагом Преобразуем к целому типу и выполняем параллельный перенос Рисуем точку красного цвета с координатами X иY Вычисляем Y в соответствии с масштабом и сразу переворачиваем 15 |
17 |
 |
Устанавливаем размеры графического окна, и выравниваем его по центруВ одном единичном отрезке на экране будет 50 пикселей. Вызываем процедуры рисования сетки и осей Цикл для изменения Х и рисования точек графика Устанавливаем начальные значения begin m:=50; SetWindowWidth(800); SetWindowHeight(600); CenterWindow; setka; osi; dx:=1; x1:=-400; writeln('Масштаб 1:',m); while (x1 < 400) do begin graphic; end; end. 16 |
18 |
 |
17 |
19 |
 |
y>0y<0 X=-1,y=-3 X=0, y=-2 X=1, y=-1 X=2, y=0 X=3, y=1 Y X При пересечении оси ОХ знак Y меняется на противоположный 18 |
20 |
 |
На пересечении с ОХ рисуем окружность зеленого цвета и выводим Х прикотором это произошло Перед вычислением очередного Y, запоминаем предшествующее значение Если числа разного знака… while (x1<400) do begin a1:=y1; graphic; if (a1*y1<0) then begin SetPenColor(clGreen ); circle(x,y,3); textOut(x-20,310,'x='+floattostr(x1/m)); end; end; 19 |
21 |
 |
РешениеПриближенные результаты: 20 |
22 |
 |
Function f (x: real): real; Begin F:=1/2*x+1; End;Function f1 (x: real): real; Begin F1:=sin(x); End; 21 |
23 |
 |
procedure graphic; begin x1:=x1+dx/m; y1:= - f (x1 / m)* m; X=trunc(x1)+400; Y:=trunc(y1)+300; SetPixel(x,y,clRed); end; procedure graphic1; begin //x1:=x1+dx/m; y1:= - f1 (x1 / m)* m; X:=trunc(x1)+400; Y:=trunc(y1)+300; SetPixel(x,y,clRed); end; 22 |
24 |
 |
while (x1<400) do begin graphic; graphic1; end;23 |
25 |
 |
Запоминаем Y из первого графика, чтобы затем сравнить с Y второгографика While (x1<400) do begin graphic; a:=y; graphic1; {условие слайд 25} end; 24 |
26 |
 |
Если у графиков есть общий Y, при одном и том же ХРисуем в этом месте окружность зеленого цвета От окружностей к осям рисуем пунктирные линии Выводим решение системы if (a-y=0) then begin SetPenWidth(1); SetPenColor(clGreen); circle(x,y,3); SetPenStyle(psDot ); line(x,y,x,300); line(x,y,400,y); SetPenWidth(2); SetPenStyle(psSolid ); textOut(x-20,310,'x='+floattostr(x1/m)); textOut( x+10,y-20,'y='+floattostr(y1/m)); end; 25 |
27 |
 |
26 |
28 |
 |
Список используемой литературы:С. В. Филичев. Занимательный Basic. Москва: ЭКОМ. 1997 год. М.В. Мозговой Занимательное программирование. Самоучитель. Издательский дом Питер. 2005. 3. Адаменко А.Н. Pascal на примерах из математики. БХВ-Петербург, 2005 г. 4. Ю.Н. Макарычев. Алгебра. 9 класс: учебник для общеобразовательных учреждении. М:Просвещение, 2007 г. 27 Интернет источники: http://www.bookriver.ru/book/143651 обложка книги С.В.Филичева http://padabum.com/d.php?id= обложка книги М.В. Мозгового http://tpdn.ru/library/books/2620/ обложка книги А.Н. Адаменко |
«Построение графиков функций на PascalABC» |
http://900igr.net/prezentacija/algebra/postroenie-grafikov-funktsij-na-pascalabc-243755.html