Урок 2

Графики функций

На этом уроке мы научимся рисовать графики функций.

Для начала нарисуем график функции Y = X^2^. При построении графиков вместо осей координат удобнее рисовать координатную сетку. Для этого пятый параметр функции SetCoordinateSystem должен быть равен 2. Диапазон координат возьмем следующий: X: от -4 до 4, Y – от -1 до 10. Перебор значений X организуем с помощью цикла repeat. Начальное значение X положим -3, шаг 0,5. График будем строить, соединяя точки прямыми линиями. В режиме редактирования наберите скрипт

SetCoordinateSystem(-4,-1,4,10,2)
X=-3
Repeat 
  Y=X*X
  LineTo(X,Y)
  X=X+0.5
  Breakif X>3 

Перейдите в режим работы и пройдите скрипт в шаговом режиме.

Графики функций

Получилось почти хорошо. Всего 2 недостатка. Во-первых, при первом проходе тела цикла появилась линия, которая нам не нужна. Во-вторых, график явно не гладкий, похож на ломаную линию. Чтобы при первом проходе тела цикла перо ничего не рисовало, а просто было помещено в точку с координатами (X,Y), нужно функцию LineTo заменить функцией MoveTo. Чтобы график выглядел плавным, шаг по X уменьшим с 0.5 до 0,1. Войдите в режим редактирования и внесите соответствующие исправления

SetCoordinateSystem(-4,-1,4,10,2)
X=-3
repeat 
  Y=X*X
  if X=-3
    MoveTo(X,Y)
  else 
    LineTo(X,Y)
  X=X+0.1
  Breakif X>3 

Переключитесь на режим работы, выполняйте скрипт в шаговом режиме.

Графики функций

Обратите внимание, что при первом прохождении тела цикла срабатывает функция MoveTo, которая перемещает перо в точку (X,Y), но ничего не рисует. При следующих прохождениях тела цикла срабатывает функция LineTo, которая рисует отрезок прямой, соединяющий прежнюю точку нахождения пера и новую. Шаг по X (приращение переменной X за один проход тела цикла), равный 0.1, обеспечивает достаточную гладкость графика. Теперь диапазон координат зададим не цифровыми константами, а через переменные X1,Y1,X2,Y2, а вычисление функции для построения графика оформим в виде в скриптовой функции F.

X1 = -3
Y1 = -1
X2 = 3
Y2 = 10
SetCoordinateSystem(X1,Y1,X2,Y2,2)
X=-3
repeat 
  Y=F(X)
  if X = X1
    MoveTo(X,Y)
  else 
    LineTo(X,Y)
  X=X+0.1
  Breakif X > X2 
stop

function F(_x)
  return _x * _x
stop

В таком виде скрипт более универсален. Если понадобится построить график другой функции в другом диапазоне координат, то исправления коснутся только первых четырёх строк и тела скриптовой функции. А сейчас просто проверьте работоспособность этого скрипта.

Для закрепления материала постройте график функции

Y = 0.1X3 - 0.5X2 – X + 2

В диапазоне координат X1 = -3, Y1 = -5, X2 = 7, Y2 = 5.

Этот график понадобится нам на следующем уроке.