Answer

Answer

t.me/python_tesst

Ответ:

Объяснение:

Начнём с повторения математических терминов и нескольких опций питона. В питоне мы будем использовать черепашку, а также модуль математических функций math. От черепашки понадобятся:


  • shape(), color(), speed(), radians() - функции общей настройки
  • xcor(), ycor() - функции, сообщающие положение
  • goto() - для перемещения черепашки в точку
  • setheading() - для изменения направления головы черепашки
  • done() - функция замораживания экрана (нужна при работе в трезвом редакторе вроде VSCode. Если вы пишете в IDLE, она не нужна)

Кроме того, заметим, что поле у черепашки в пикселях. Если она побежит по параболе - убежит моментально за край листка. Так что введём какую-нибудь единицу UNIT = 100 пикселей, например, ну и вот это вот всё отнормируем в наших юнитах.

Из модуля math возьмём функцию atan() - арктангенс. Она возвращает радианную меру угла, не градусы. Дальше мы либо там же берём число pi - константу модуля math, тихо на неё делим, умножив потом на 180, либо мы повторяем, что значит "радианная мера угла", вернее - проходим её. Ваши ученики, скорее всего, про радианы не слышали.

А "производная" в данном случае - "тангенс угла наклона касательной", вот, что нам требуется. Очень похоже на канцелярит, "нанизывание родительных падежей" - "зам. главы отдела контроля качества цеха упаковки (и др.)". Будем эту конструкцию разбирать с конца:

  • есть у нас график функции y = f(x)
  • есть на нём точка, (a, f(a))
  • если туда пришла черепаха, если она (черепаха) бежит по графику, ей в этой точке надо смотреть... по касательной к графику, так что нам требуется уравнение этой касательной. Если последнее записать как y = kx+b, то это k как раз и есть производная: k = f'(a)
  • функция перенаправления головы черепашки умеет в углы, не в прямые. Чтобы сказать "посмотри в направлении этой прямой" мы должны передать не прямую, а "угол между прямой, по которой надо смотреть, и лучом Ox". И если k в пункте выше - тангенс того угла, тут нам понадобится арктангенс k: atan(f'(a))

Код:

from turtle import Turtle, done
from math import atan

UNIT = 100

alice = Turtle()
alice.color('green')
alice.shape('turtle')
alice.speed(1)
alice.radians()

for step in range(2 * UNIT):
  x = alice.xcor() + 1
  y = x**2 / UNIT
  alice.goto(int(x), int(y))
  k = 2*x / UNIT
  alpha = atan(k)
  alice.setheading(alpha)

done()



Report Page