Построение графиков функций в PascalABC

Содержание

Слайд 2

1

Ymax=600

Xmax=800

График функции y=cos x

Область значений функции косинус
[-1; 1],
график слился с

1 Ymax=600 Xmax=800 График функции y=cos x Область значений функции косинус [-1;
осью Х

Слайд 3

2

Ymax=600

Xmax=800

График функции y=cos x, увеличенный в 50 раз

Единичный отрезок на экране 50

2 Ymax=600 Xmax=800 График функции y=cos x, увеличенный в 50 раз Единичный
пикселей.

Слайд 4

3

Ymax=600

Xmax=800

График функции y=cos x, увеличенный в 100 раз

Единичный отрезок на экране 100

3 Ymax=600 Xmax=800 График функции y=cos x, увеличенный в 100 раз Единичный
пикселей.

Слайд 5

4

y=3cos x

y=cos x

4 y=3cos x y=cos x

Слайд 6

5

Для построения графика функции
y = k f(x)
необходимо график функции
y

5 Для построения графика функции y = k f(x) необходимо график функции
= f(x)
растянуть в k раз вдоль оси ОY для k >1
или сжать в 1/k раз вдоль оси OY для k<1

Слайд 7

6

y=cos 3x

y=cos x

6 y=cos 3x y=cos x

Слайд 8

7

Для построения графика функции
y = f(k x)
необходимо график функции
y

7 Для построения графика функции y = f(k x) необходимо график функции
= f(x)
сжать в k раз вдоль оси ОХ для
k >1
или растянуть в 1/k раз вдоль оси OХ для k<1

Слайд 9

8

X

Y

y=f(x)

y= -f(x)

Умножение функции на
-1
отражает график симметрично относительно оси ОХ

8 X Y y=f(x) y= -f(x) Умножение функции на -1 отражает график симметрично относительно оси ОХ

Слайд 10

9

y = - m f(x/m)

Растянем (увеличим в m раз) по оси

9 y = - m f(x/m) Растянем (увеличим в m раз) по
OY и отразим относительно оси OX

Растянем (увеличим в m раз) по оси OX

Слайд 11

10

X

Y

O(0,0)

320

200

600

800

x´= 400 + x

y´= 300 + y



10 X Y O(0,0) 320 200 600 800 x´= 400 + x

Слайд 12

11

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;

x=400

a=400

500

600

700

300

200

100

x:=x+100;

a:=a-100

Функция WindowWidth

11 x:=400; a:=400; while (x line(x,0,x,600); line(a,0,a,600); x:=x+m; a:=a-m; end; x=400 a=400
определяет длину графического окна

Слайд 13

12

y=300

a=300

500

400

200

100

y:=y+100;

a:=a-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;

Функция WindowHeight

12 y=300 a=300 500 400 200 100 y:=y+100; a:=a-100 y:=300; a:=300; while
определяет высоту графического окна

Слайд 14

13

Program Grafic;
Uses Crt, GraphABC;
var x,i,y,m,a:integer;
x1,y1,dx:real;

procedure setka;
begin
SetPenWidth(1);
SetPenColor(clLtGray);
{рисование сетки, слайды

13 Program Grafic; Uses Crt, GraphABC; var x,i,y,m,a:integer; x1,y1,dx:real; procedure setka; begin
11,12}
end;

Толщина линий 1

Цвет светло-серый

Слайд 15

14

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 procedure osi; begin SetPenWidth(2); SetPenColor(clBlue ); line(1,300,800,300); line(400,0,400,600); end; Function f
рисования осей

Функция, график которой строим

Слайд 16

15

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;

Изменяем Х

15 procedure graphic; begin x1:=x1+dx/m; y1:= - f (x1 / m)* m;
с некоторым шагом

Вычисляем Y в соответствии с масштабом и сразу переворачиваем

Преобразуем к целому типу и выполняем параллельный перенос

Рисуем точку красного цвета с координатами X иY

Слайд 17

16

begin
m:=50;
SetWindowWidth(800);
SetWindowHeight(600);
CenterWindow;
setka;
osi;
dx:=1;
x1:=-400;
writeln('Масштаб 1:',m);
while

16 begin m:=50; SetWindowWidth(800); SetWindowHeight(600); CenterWindow; setka; osi; dx:=1; x1:=-400; writeln('Масштаб 1:',m);
(x1 < 400) do begin
graphic;
end;
end.

Устанавливаем размеры графического окна, и выравниваем его по центру

В одном единичном отрезке на экране будет 50 пикселей.

Вызываем процедуры рисования сетки и осей

Устанавливаем начальные значения

Цикл для изменения Х и рисования точек графика

Слайд 19

18

X

Y

y>0

y<0

При пересечении оси ОХ знак Y меняется на противоположный

X=-1,y=-3
X=0, y=-2
X=1, y=-1
X=2,

18 X Y y>0 y При пересечении оси ОХ знак Y меняется
y=0
X=3, y=1

Слайд 20

19

while (x1<400) do begin
a1:=y1;
graphic;
if (a1*y1<0) then begin
SetPenColor(clGreen

19 while (x1 a1:=y1; graphic; if (a1*y1 SetPenColor(clGreen ); circle(x,y,3); textOut(x-20,310,'x='+floattostr(x1/m)); end;
);
circle(x,y,3);
textOut(x-20,310,'x='+floattostr(x1/m));
end;
end;

Перед вычислением очередного Y, запоминаем предшествующее значение

Если числа разного знака…

На пересечении с ОХ рисуем окружность зеленого цвета и выводим Х при котором это произошло

Слайд 21

20

Решение

Приближенные результаты:

20 Решение Приближенные результаты:

Слайд 22

21

Function f1 (x: real): real;
Begin
F1:=sin(x);
End;

Function f (x: real): real;
Begin
F:=1/2*x+1;
End;

21 Function f1 (x: real): real; Begin F1:=sin(x); End; Function f (x:

Слайд 23

22

procedure graphic;
begin
x1:=x1+dx/m;
y1:= - f (x1 / m)* m;
X:=trunc(x1)+400;
Y:=trunc(y1)+300;

22 procedure graphic; begin x1:=x1+dx/m; y1:= - f (x1 / m)* m;
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;

Слайд 24

23

while (x1<400) do begin
graphic;
graphic1;
end;

23 while (x1 graphic; graphic1; end;

Слайд 25

24

while (x1<400) do begin
graphic;
a:=y;
graphic1;
{условие слайд 25}
end;

Запоминаем Y из

24 while (x1 graphic; a:=y; graphic1; {условие слайд 25} end; Запоминаем Y
первого графика, чтобы затем сравнить с Y второго графика

Слайд 26

25

if (a-y=0) then
begin
SetPenWidth(1);
SetPenColor(clGreen);
circle(x,y,3);
SetPenStyle(psDot );
line(x,y,x,300);

25 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);
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;

Если у графиков есть общий Y, при одном и том же Х

Рисуем в этом месте окружность зеленого цвета

От окружностей к осям рисуем пунктирные линии

Выводим решение системы

Имя файла: Построение-графиков-функций-в-PascalABC.pptx
Количество просмотров: 186
Количество скачиваний: 2