Программа, рисующая график функции y=kx² (Scratch)

Программа состоит из двух скриптов - функции parabola и главного скрипта, откуда вызывается функция.

В главном скрипте запрашивается число, которое потом передается в функцию в качестве коэффициента k. Можно нарисовать множество парабол, в том числе и с отрицательным k. Программа завершается, если будет введен 0. Не следует вводить k больше 1 и меньше -1, т.к. тогда график получится слишком прилегающим к оси y.

Результат выполнения программы
Главный скрипт
Подпрограмма, рисующая параболу

В подпрограмме рисуется парабола. Однако перед этим определяется, где будет первая точка. Максимальное значение y по модулю может быть 180 (иначе график не поместится на холсте). Ориентируясь от этого значения, следует найти первое значение x. Так как мы имеем дело с функцией y = kx2, то x = sqrt(y/k). Чтобы первый x был всегда положителен, делится на модуль k. Таким образом нашлась точка, откуда начнется черчение графика.

Последняя точка будет иметь противоположное по знаку значение x. Это значение сохраняется в переменной x_rev.

Далее спрайт перемещается в первую точку и в цикле рисуются маленькие отрезки от x до x_rev (значение y при этом каждый раз вычисляется).

Посмотреть, как программа работает, можно здесь: scratch.mit.edu/projects/25764356/