Построение графика функции в различных средах

Разделы: Информатика, Технология


Цели

  • Образовательные: познакомить с возможностями построения графика функции в различных прикладных средах, обобщить имеющийся опыт.
  • Развивающие: cпособствовать развитию логики мышления, формированию информационной культуры и познавательного потенциала.
  • Воспитательные: эстетическое воспитание, воспитание аккуратности, самостоятельности.

Материалы и оборудование

  • Компьютерный класс,
  • TPascal 7.0,
  • Excel (97, 2000, XP),
  • MathCad,
  • Карточки с заданиями.

Постановка задачи

  • Задана произвольная элементарная функция аналитическим выражением. Протабулировать функцию для значений аргумента, изменяющегося на отрезке [a, b] с шагом h=(a - b)/n, т.е. разбив отрезок на n частей и построить график функции, используя

а) интегрированную среду программирования TPascal;
б) электронную таблицу Excel;
в) программу MathCad.

Задание предполагает знание языка программирования TPascal, умение работать с программами Еxcel и MathCad, кроме того, в силу большого объема, рассчитано не на один урок и может быть предложено учащимся в качестве одной из тем курсового проектирования.

а) В качестве образца выполнения первой части задачи, предлагается программа построения графика функции

y = x2cosx.

Program Grafik;

Uses Graph, Сrt;

function f(x: real): real;

begin

f:=x*x*cos(x);

end;

var

i, x0, y0, mx, my, Driver, Mode: integer;

x, y, a, b, h: real;

begin

writeln('Введи нижнюю границу отрезка: а');

read(a);

writeln('Введи верхнюю границу отрезка: b');

read(b); writeln('Введи шаг h');

read(h);

writeln('Введи координаты центра системы координат, центр экрана (320,240)');

read(x0,y0);

writeln('Введи масштабы по осям: mx и my ');

read(mx,my);

Driver:=Detect;

InitGraph(Driver, Mode, 'c:\Pascal_7\BGI');

{Построение осей координат }

line(0, y0, 640, y0);

line(x0, 0, x0, 480);

{Построение графика функции}

setLineStyle(0, 1, 3);

setColor(14);

x:=a;

y:=y0-f(x)*my;

MoveTo(round(x0+x*mx), round(y));

repeat

y:=y0-f(x)*my;

lineto(round(x0+x*mx), round(y));

x:=x+h;

until x>b;

OutTextxy(330, 120, 'y=x*x*cos(x)')

end.

Внимание! При построении графиков функций обратите внимание на их область определения. Работая в TPascal не забудьте подключить модуль Graph!

б) Во второй части проекта (табулирование и построение графика с помощью Excel) можно дополнительно предложить учащимся осуществить поиск наибольшего и наименьшего значений функции на [a; b], т.е. решить простейшую задачу теории оптимального управления.

Область определения данной функции: img1.gif.

Для оформления конструируемой таблицы и хранения исходных данных (границ отрезка) выполним следующие действия:

  1. в ячейку С2 введем текст “Табулирование функции”;
  2. в А5 – текст “а=”;
  3. в В5 – число -6,28 (левая граница интервала);
  4. в D5 – текст “b=”;
  5. в Е5 – число 6,28 (правая граница интервала);
  6. в G5 – текст “h=”.

Выполнив команду меню Вставка/Объект и выбрав Microsoft Equation, с помощью редактора формул создадим объект – формулу, задающую вид табулируемой функции (Рис.1).

Y = x2cosx

Для оформления таблицы значений функции введем заголовки колонок:

  1. в ячейку А7 введем текст “номер”;
  2. в ячейку В7 введем текст “Х”;
  3. в ячейку С7 введем текст “У”.

Для вычисления величины шага табулирования h = ( b- a)/20 (отрезок [a; b] разбит на 20 частей) в ячейку Н5 введем формулу =(E5-B5)/20.

В качестве номеров точек в столбце А используем константы 1,2,3,…21.

Для вычисления текущего значения аргумента воспользуемся формулой хi = a + (i - 1) h, где i - номер текущей точки. Эту формулу =$B$5+(A8-1)*$H$5 введем в ячейку В8, затем протащим ее за маркер заполнения до ячейки В28 включительно.

При конструировании формулы необходимо учитывать область определения. Воспользовавшись логическими функциями рабочего листа, в ячейку С8 введем формулу, =B8^2*COS(X). Протащив С8 за маркер заполнения до ячейки С28 включительно, получим в качестве содержимого ячеек интервала С8:С28 необходимые нам формулы.

Для нахождения наибольшего и наименьшего значения среди вычисленных в ячейку D8 вводим формулу =ЕСЛИ(C8=МАКС($C$8:$C$28);"<=макс."; ЕСЛИ(C8= МИН($C$8:$C$28);"<=мин.";" ")).

После этого копируем ее перетаскиванием в интервал D9:D28.

Для построения графика воспользуемся Мастером диаграмм:

  1. тип диаграммы (точечная);
  2. источник данных $В$8:$С$28;
  3. расположить на имеющемся листе.

Результат выполнения задания представлен на рис.1.

Рис. 1

Рис. 1

в) Чтобы построить двумерный график в координатных осях X - Y с помощью программы MathCad, надо дать команду Insert --> Graf --> X-Y  Plot (Вставка --> График --> Декартовы координаты). В области размещения графика находятся заполнители для указания отображаемых выражений и диапазона изменения величин. Заполнитель у середины оси координат предназначен для переменной или выражения, отображаемого по этой оси. В одной графической области можно построить несколько графиков. Для этого надо у соответствующей оси перечислить несколько выражений через запятую.

Рис. 2