PLOTTING
(С) Илья Пивен, г.Томск, 1995.
Программа предназначена для
демонстрационных целей - она поз-
воляет создать на экране красивые
узоры, число вариантов которых
определяется задаваемыми парамет-
рами и может достигать тысячи. А
если говорить более серьезно, то
разбор принципа действия этой
программы может быть полезен на
уроках математики (построение
графиков функций).
1 BORDER 0: PAPER 0: INK 7: C
LS
3 PRINT TAB 7;"*SELINA* PRESE
NT:": PRINT 'TAB 7;"P L O T T I
N G !"''
10 LET sx=256: LET sy=176: LET
rat=.92: LET hy=sy/2: LET hx=sx
/2
20 BRIGHT 1: INK 4: PRINT "1.R
=1"
30 PRINT "2.R=SIN(2*Z)"
40 PRINT "3.R=SIN(7*Z)"
50 PRINT "4.R=1+2*COS(Z)"
60 PRINT "5.R=1+COS(Z)"
70 PRINT "6.R=1+SIN(8*Z)"
80 PRINT "7.R=1+2*COS(2*Z)"
90 PRINT INK 3'"INPUT NUMBER
(1-7) ";
100 INPUT n: PRINT n: BEEP .1,1
110 IF n=1 THEN LET a$="1"
120 IF n=2 THEN LET a$="SIN (2
*z)"
130 IF n=3 THEN LET a$="SIN (7
*z)"
140 IF n=4 THEN LET a$="1+2*CO
S (z)"
150 IF n=5 THEN LET a$="1+COS
(z)"
160 IF n=6 THEN LET a$="1+SIN
(8*z)"
170 IF n=7 THEN LET a$="1+2*CO
S (2*z)"
180 PRINT "FOR STANDART PLOT A=
1 AND B=1"
190 PRINT "VALUE OF a?: ";
200 INPUT a: PRINT a: BEEP .1,1
210 PRINT "VALUE OF b?: ";
220 INPUT b: PRINT b: BEEP .1,2
225 PRINT FLASH 1'"CALCULATING
"
230 REM CALCULATING
240 LET m=1.0E-30
250 FOR z=0 TO 2*PI STEP .1
260 LET r=ABS (VAL a$)
270 IF msx THEN GO TO
390
360 LET v=hy+hy*SIN (b*z)*r/m
370 IF v<0 OR v>sy THEN GO TO
390
375 INK 7
380 PLOT u,v
390 NEXT z
400 REM END AND AGAIN
405 PRINT #0;TAB 10;"CONTINUE?"
410 PAUSE 0
430 IF INKEY$="n" THEN STOP
440 GO TO 5
После старта программы она
запросит вид графиков функций из
предлагаемого набора. Затем пос-
ледует запрос параметров "a" и
"b". Попробуйте для начала зада-
вать значения в пределах 1...9.
Можно раскрасить получающиеся
узоры, введя две дополнительных
строки:
6 LET e=0
375 LET e=e+1: INK e: IF e>7 TH
EN LET e=0
Надеюсь, программа доставит
Вам немало удовольствия, тем бо-
лее, что пока она работает, можно
заниматься другими делами.
Однако Вы не успеете ничем за-
ниматься, если воспользуетесь
всегда уместным в аналогичных си-
туациях способом: компиляция при
помощи TOBOS FP, рассчитанного на
вычисления с "плавающей" запятой.
Процесс компиляции предельно
прост (мы уже не раз его описыва-
ли на страницах РЕВЮ) и не вызо-
вет проблем даже у начинающих,
скорость же возрастет раз в де-
сять.
Еще мы можем порекомендовать
параметры "n", "a", "b" вырабаты-
вать случайным образом, при помо-
щи функции RND, а не вводить их
по INPUT. Тогда Вы сможете "за-
циклить" программу для автомати-
ческой последовательной демонс-
трации эффекта.
Примеры работы программы Вы
видите на рисунках.