Basic - вводный курс

Заказать проститутку в Москве|dupage county case searchмотор ямаха 115


Построение графиков функций

Строить графики в Бейсике мы будем точками, а задавать компьютеру функцию для построения оператором def fn.
Кроме того, координатная сетка экрана компьютера, как мы должны помнить, является перевернутой по отношению к привычной геометрической. Отсюда и последуют преобразования по приведению координатной сетки к нормальному виду. Я не хочу утомлять читателя длинными математическими выкладками, а призываю поверить на слово. Если же в ком-то проснется любознательность, то разобраться во всем можно самому.
Итак, оператор def fn определяет для компьютера ту функцию, график которой мы хотим построить. Работает он следующим образом:

DEF FN имя_функции{параметр_функции)=функция

Например, определим функцию у = sin x .

DEF FNY(X)=SIN(X)

Здесь y — имя функции, х — ее параметр, a sin (X) — непосредственно сама функция.
Определим функцию.

DEF FNY(X)=COS(2*X)+TAN(X/2)

Предупреждение
В одной и той же программе нельзя использовать для разных функций одно и то же имя. Необходимо давать разные имена, например Y(X), Z (X), R(X) И Т. Д.

Теперь непосредственно о построении графиков на примере функции синуса.
Сначала нарисуем оси координат — две взаимно перпендикулярные линии, пересекающиеся в центре экрана.

SCREEN 9
LINE (0, 175)-(640, 175), 15
LINE (320, 0)-(320, 350), 15
Rem ось абсцисс Rem ось ординат
Теперь определим функцию, как мы это уже делали.
DEF FNY(X)=SIN(X)

Далее самое интересное — загадочный цикл непосредственного построения графика.

FOR X=0 ТО 640
Y=175~30*FNY( (X - 320)/30)
PSET(X, Y) , 15 NEXT X

После запуска программы должна получиться следующая картинка (рис. 1.47).

Рис.1.47. График функции синуса

Значение X изменяется от 0 до 640, давая возможность строить график на всю ширину экрана. Достаточно сложно выражение для Y. Это связано с переносом начала координат в центр экрана (отсюда числа 175 и 320). А вот число 30 в данном случае несколько произвольно — это коэффициент растяжения. Попробуйте его поменять сначала на 10, а потом на 50 (только менять всегда надо в двух местах) и посмотрите на возникающие отличия. На мой взгляд, коэффициент 30 наиболее оптимален.
Построение иного графика сводится к замене определения функции на другую.
Давайте поупражняемся. Напишите программы построения графиков перечисленных ниже функций.
180. Y=COS (X) .
181. Y=ABS (X) .
182. Y=INT(X) .
183. у=1/(1+х^2).
184. Y=X^2.
185. Y=2*SIN(X/2)+0.5*COS(2*X).
186. Y=TAN(X).
Графики представляют из себя семейства точек, между которыми могут быть значительные разрывы (как, например, при построении графика тангенса). Чтобы избежать этого, уплотнкть график, можно в заголовке цикла установить шаг изменения по X меньше 1. Попробуйте.
Теперь попытаемся построить график функции y=i/x (кажется, это называется гиперболой). Если вы будете рисовать его как т
описано выше, ничем не дополняя, то, возникнет ошибка, о которой мы уже говорили — "Деление на ноль". Придется в очередной раз вспомнить математику и область допустимых значений. В данном случае, X не может быть равен 0, но поскольку начало координат у нас искусственно перенесено в центр экрана, то для графика X будет обращаться в 0 при координате экрана, равной 320. Поэтому программа будет выглядеть так:

SCREEN 9
LINE {0, 175)-(640, 175), 15
LINE (320, 0)-(320, 350), 15
DEF FNY(X)=1/X
FOR X=0 TO 640
IF X=320 THEN X=X+1 Y=175-30*FNY((X - 320)/30) PSET(X, Y), 15
NEXT X

А график должен выглядеть так (рис. 1.48).

Рис.1.48. График гиперболы

Постройте теперь графики следующих функций.

187. y=1i/(x+d.
188. Y=SQR(X).
189. Y=X/(X^2-1).

Сейчас задания посложнее, но и интереснее. Изобразите на экране поверхность, образованную вращением вокруг оси X графиков представленных ниже функций.

190. у=1/(1+х^2).
191. Y=1/X.
192. Нарисуйте поверхность, образованную вращением вокруг оси Y, графика функции у = х2 .

Совет
Попробуйте строить график не точками, а эллипсами, радиус которых... Вот именно!

Назад Начало Вперед