На прошлой лабораторной работе мы получили программу, которая выводит на экран летающий круг, отражающийся от краёв. 
10 SCREEN 9
20 CLS
30 X=60+RND*400
40 Y=60+RND*200
50 R=10+RND*40
60 C=INT(1+RND*15)
70 DT=0.1
80 VX=RND*20-10
90 VY=RND*20-10
100 CIRCLE(X,Y),R,0
110 X=X+VX*DT
120 Y=Y+VY*DT
130 CIRCLE(X,Y),R,C
140 IF X<=R OR X>=600-R THEN VX=-VX
150 IF Y<=R OR Y>=300-R THEN VY=-VY
160 GOTO 100 
Теперь добавим сюда гравитацию. Вспоминаем физику. При движении брошенного тела, с ускорением g меняется вертикальная составляющая его скорости, VY. Значит, в программу нужно добавить 2 строки:
75 G=1
Вычисляем новую вертикальную скорость
135 VY=VY+G*DT 
Заодно отключим стирание предыдущего положення круга, чтобы он оставлял след. Это делается отключением строки 100. Её можно не удалять, а просто поставить после номера строки апостроф:
100 ‘CIRCLE(X,Y),R,0
Нужно будет в строках 30, 40, 50, 75, 80 и 90 вместо случайных значений задать некоторые числа - координаты круга, его радиус, ускорение свободного падения и начальную скорость.
Далее, запустив программу, нужно будет проследить его траекторию и зарисовать её.
№  |    X  |    Y  |    R  |    G  |    VX  |    VY  |   
1  |    100  |    120  |    80  |    1  |    4  |    -1  |   
2  |    110  |    280  |    10  |    -1  |    -5  |    5  |   
3  |    500  |    10  |    5  |    0  |    3  |    2  |   
4  |    450  |    150  |    20  |    0.5  |    2  |    6  |   
5  |    300  |    180  |    15  |    10  |    8  |    -15  |   
С Днём студента!
Немає коментарів:
Дописати коментар