Презентация "Построение графиков функций на PascalABC" 9 класс

Подписи к слайдам:
  • Построение графиков
  • функций на PascalABC
  • Презентация к уроку информатики
  • Тема: программирование на языке PascalABC
  • Автор: Юдин Андрей Борисович
  • МКОУ Плесская СОШ
  • 1
  • Ymax=600
  • Xmax=800
  • График функции y=cos x
  • Область значений функции косинус
  • [-1; 1],
  • график слился с осью Х
  • 2
  • Ymax=600
  • Xmax=800
  • График функции y=cos x, увеличенный в 50 раз
  • Единичный отрезок на экране 50 пикселей.
  • 3
  • Ymax=600
  • Xmax=800
  • График функции y=cos x, увеличенный в 100 раз
  • Единичный отрезок на экране 100 пикселей.
  • 4
  • y=3cos x
  • y=cos x
  • 5
  • Для построения графика функции
  • y = k f(x)
  • необходимо график функции
  • y = f(x)
  • растянуть в k раз вдоль оси ОY для k >1
  • или сжать в 1/k раз вдоль оси OY для k<1
  • 6
  • y=cos 3x
  • y=cos x
  • 7
  • Для построения графика функции
  • y = f(k x)
  • необходимо график функции
  • y = f(x)
  • сжать в k раз вдоль оси ОХ для
  • k >1
  • или растянуть в 1/k раз вдоль оси OХ для k<1
  • 8
  • X
  • Y
  • y=f(x)
  • y= -f(x)
  • Умножение функции на
  • -1
  • отражает график симметрично относительно оси ОХ
  • 9
  • y = - m f(x/m)
  • Растянем (увеличим в m раз) по оси OY и отразим относительно оси OX
  • Растянем (увеличим в m раз) по оси OX
  • 10
  • X
  • Y
  • O(0,0)
  • 320
  • 200
  • 600
  • 800
  • x´= 400 + x
  • y´= 300 + y
  • 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 определяет длину графического окна
  • 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 определяет высоту графического окна
  • 13
  • 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;
  • Толщина линий 1
  • Цвет светло-серый
  • 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;
  • Процедура рисования осей
  • Функция, график которой строим
  • 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;
  • Изменяем Х с некоторым шагом
  • Вычисляем Y в соответствии с масштабом и сразу переворачиваем
  • Преобразуем к целому типу и выполняем параллельный перенос
  • Рисуем точку красного цвета с координатами X иY
  • 16
  • 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.
  • Устанавливаем размеры графического окна, и выравниваем его по центру
  • В одном единичном отрезке на экране будет 50 пикселей.
  • Вызываем процедуры рисования сетки и осей
  • Устанавливаем начальные значения
  • Цикл для изменения Х и рисования точек графика
  • 17
  • 18
  • X
  • Y
  • y>0
  • y<0
  • При пересечении оси ОХ знак Y меняется на противоположный
  • X=-1,y=-3
  • X=0, y=-2
  • X=1, y=-1
  • X=2, y=0
  • X=3, y=1
  • 19
  • 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;
  • Перед вычислением очередного Y, запоминаем предшествующее значение
  • Если числа разного знака…
  • На пересечении с ОХ рисуем окружность зеленого цвета и выводим Х при котором это произошло
  • 20
  • Решение
  • Приближенные результаты:
  • 21
  • Function f1 (x: real): real;
  • Begin
  • F1:=sin(x);
  • End;
  • Function f (x: real): real;
  • Begin
  • F:=1/2*x+1;
  • End;
  • 22
  • 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;
  • 23
  • while (x1<400) do begin
  • graphic;
  • graphic1;
  • end;
  • 24
  • while (x1<400) do begin
  • graphic;
  • a:=y;
  • graphic1;
  • {условие слайд 25}
  • end;
  • Запоминаем Y из первого графика, чтобы затем сравнить с Y второго графика
  • 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);
  • SetPenWidth(2);
  • SetPenStyle(psSolid );
  • textOut(x-20,310,'x='+floattostr(x1/m));
  • textOut( x+10,y-20,'y='+floattostr(y1/m));
  • end;
  • Если у графиков есть общий Y, при одном и том же Х
  • Рисуем в этом месте окружность зеленого цвета
  • От окружностей к осям рисуем пунктирные линии
  • Выводим решение системы
  • 26
  • 27
  • Список используемой литературы:
  • С. В. Филичев. Занимательный Basic. Москва: ЭКОМ. 1997 год.
  • М.В. Мозговой Занимательное программирование. Самоучитель. Издательский дом Питер. 2005.
  • 3. Адаменко А.Н. Pascal на примерах из математики. БХВ-Петербург, 2005 г.
  • 4. Ю.Н. Макарычев. Алгебра. 9 класс: учебник для общеобразовательных учреждении. М:Просвещение, 2007 г.
  • Интернет источники:
  • http://www.bookriver.ru/book/143651 обложка книги С.В.Филичева
  • http://padabum.com/d.php?id= обложка книги М.В. Мозгового
  • http://tpdn.ru/library/books/2620/ обложка книги А.Н. Адаменко