График функции $y = \sin(x)$
Построение графика синуса с осями координат и подписью. Программа показывает, как визуализировать математическую функцию, аппроксимируя кривую множеством коротких отрезков.
Разбор
Настройка параметров
использовать Чертежник
алг
нач
цел i
вещ x, y, prevX, prevY
вещ scale
цел n
scale := 2.0
n := 100
Параметр scale задаёт масштаб по вертикали. Без масштабирования синус колеблется от $-1$ до $1$, что может быть слишком мелко. При scale = 2.0 амплитуда увеличивается вдвое: от $-2$ до $2$. Параметр n -- количество точек графика.
Оси координат
выбрать чернила(8) | серый
опустить перо
| Ось X
поднять перо
сместиться в точку(-5.0, 0.0)
опустить перо
сместиться в точку(5.0, 0.0)
| Ось Y
поднять перо
сместиться в точку(0.0, -3.0)
опустить перо
сместиться в точку(0.0, 3.0)
Оси рисуются серым цветом (чернила $8$). Каждая ось -- это отрезок. Между осями перо поднимается, чтобы не оставлять соединительной линии. Ось $X$ проходит от $(-5, 0)$ до $(5, 0)$, ось $Y$ -- от $(0, -3)$ до $(0, 3)$.
Построение графика
выбрать чернила(1) | синий
x := -5.0
y := sin(x) * scale
поднять перо
сместиться в точку(x, y)
опустить перо
prevX := x
prevY := y
нц для i от 1 до n
x := -5.0 + 10.0 * i / n
y := sin(x) * scale
сместиться в точку(x, y)
prevX := x
prevY := y
кц
График строится как последовательность из $100$ коротких отрезков. Значение $x$ равномерно распределяется от $-5$ до $5$:
$x_i = -5 + \frac{10 \cdot i}{n}$
Для каждого $x_i$ вычисляется:
$y_i = \sin(x_i) \cdot \text{scale}$
Перо перемещается в первую точку без рисования, затем опускается и последовательно проходит через все точки, создавая плавную кривую.
Подпись
поднять перо
выбрать чернила(0) | черный
сместиться в точку(-4.5, 2.5)
написать(2.0, "y=sin(x)")
кон
После построения графика перо поднимается и перемещается в точку $(-4{,}5,; 2{,}5)$, где командой написать выводится подпись с размером шрифта $2{,}0$.
Полная программа
| График функции y = sin(x)
использовать Чертежник
алг
нач
цел i
вещ x, y, prevX, prevY
вещ scale
цел n
scale := 2.0
n := 100
| Оси координат
выбрать чернила(8) | серый
опустить перо
| Ось X
поднять перо
сместиться в точку(-5.0, 0.0)
опустить перо
сместиться в точку(5.0, 0.0)
| Ось Y
поднять перо
сместиться в точку(0.0, -3.0)
опустить перо
сместиться в точку(0.0, 3.0)
| График функции
выбрать чернила(1) | синий
| Вычисляем первую точку
x := -5.0
y := sin(x) * scale
поднять перо
сместиться в точку(x, y)
опустить перо
prevX := x
prevY := y
| Рисуем график
нц для i от 1 до n
x := -5.0 + 10.0 * i / n
y := sin(x) * scale
сместиться в точку(x, y)
prevX := x
prevY := y
кц
| Надпись
поднять перо
выбрать чернила(0) | черный
сместиться в точку(-4.5, 2.5)
написать(2.0, "y=sin(x)")
кон