ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

РасчСт Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Raketa ΠΈ Sputuik

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° DRAW для стирания Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (рисованиС Ρ†Π²Π΅Ρ‚ΠΎΠΌ Ρ„ΠΎΠ½Π° — ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ Ρ†Π²Π΅Ρ‚Π° ноль ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ DRAW воспринимаСт Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°, ΠΊΠ°ΠΊΠΈΠΌ Π±Ρ‹ ΠΎΠ½ Π½Π΅ Π±Ρ‹Π» Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ COLOR). Вторичная фиксация Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ послСдняя Ρ‚ΠΎΡ‡ΠΊΠ° рисунка ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΠΎΠ²ΠΏΠ°ΡΡ‚ΡŒ с Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ — Π° ΠΎΡ‚ Π½Π΅Π΅ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π½ΠΎΠ²ΠΎΠ³ΠΎ полоТСния Ρ„ΠΈΠ³ΡƒΡ€Ρ‹). Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

РасчСт Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Raketa ΠΈ Sputuik (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования Российской Π€Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΠΈ

АНО

ΠœΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹ΠΉ институт «Π˜ΠΠ€Πž-РутСния»

Московский государствСнный институт стали ΠΈ ΡΠΏΠ»Π°Π²ΠΎΠ²

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΊΡƒΡ€ΡΡƒ: Алгоритмизация ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π’Π΅ΠΌΠ°:

РасчСт Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Raketa ΠΈ Sputuik

Π³. Π‘ΠΎΡ€ΠΎΠ²ΠΈΡ‡ΠΈ Π—Π°Π΄Π°Π½ΠΈΠ΅ ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ спутника Ρ€Π°ΠΊΠ΅Ρ‚ΠΎΠΉ. Π‘ΠΏΡƒΡ‚Π½ΠΈΠΊ Π»Π΅Ρ‚ΠΈΡ‚ ΠΏΠΎ ΠΊΡ€ΡƒΠ³ΠΎΠ²ΠΎΠΉ ΠΎΡ€Π±ΠΈΡ‚Π΅ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ. Π Π°ΠΊΠ΅Ρ‚Π° стартуСт ΠΈΠ· Π»Π΅Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡƒΠ³Π»Π° экрана. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ старта ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ скорости Ρ€Π°ΠΊΠ΅Ρ‚Ρ‹ (ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ постоянна) Π Π°ΠΊΠ΅Ρ‚Π° стартуСт ΠΈΠ· Π»Π΅Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡƒΠ³Π»Π° экрана. Π‘ΠΏΡƒΡ‚Π½ΠΈΠΊ Π»Π΅Ρ‚ΠΈΡ‚ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, начиная с Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° экрана ΠΏΠΎ ΠΊΡ€ΡƒΠ³ΠΎΠ²ΠΎΠΉ ΠΎΡ€Π±ΠΈΡ‚Π΅ с Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠΌ Π² Π»Π΅Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ экрана ΠΈ Ρ€Π°Π΄ΠΈΡƒΡΠΎΠΌ Ρ€Π°Π²Π½Ρ‹ΠΌ высотС экрана. Π‘ΠΏΡƒΡ‚Π½ΠΈΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ Π² Π²ΠΈΠ΄Π΅ вытянутого Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. Π Π°ΠΊΠ΅Ρ‚Π° ΠΈΠΌΠ΅Π΅Ρ‚ рисунок Π² Ρ„ΠΎΡ€ΠΌΠ΅ стрСлки ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ся ΠΏΠΎΠ΄ дСйствиСм наТатия стрСлок (LEFT ΠΈΠ»ΠΈ RIGHT — ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ). ΠŸΡ€ΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅ (опрСдСляСтся ΠΏΠΎ Ρ€Π°ΡΡΡ‚ΠΎΡΠ½ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ) спутник распадаСтся Π½Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ Π² Π²ΠΈΠ΄Π΅ ΠΊΡ€ΡƒΠΆΠΊΠΎΠ².

DECLARATE SUB comm (vs, da, ar, com$)

вычислСниС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Raketa

DECLARATE SUB coord (v, ar, dt, x, y)

вычислСниС Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Raketa

DECLARATE SUB angle (ar, ang$)

вычислСниС ΡƒΠ³Π»Π° Ρ€Π°Π·Π²ΠΎΡ€ΠΎΡ‚Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Raketa

DECLARATE SUB Raketa (d$, x, y, ang$, ar, xc. yc, r, st)

ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Raketa

DECLARATE SUB coord (x1, y1, t, dt, vx, vy, ang1 $)

вычислСниС Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik

DECLARATE SUB Sputnik (x1, y1, st, do$, ang1 $)

ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik

DECLARATE SUB contact (xc, yc, st, x1, y1)

рСализация ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ

SCREEN 9. WINDOWS (0, 0)-(800, 600). COLOR, 1

Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ синСго Ρ†Π²Π΅Ρ‚Π° Ρ„ΠΎΠ½Π°

t = 0: dt = 1

Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ отсчСта Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ t ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ dt

Ρ… = 0: Ρƒ = 0

Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ рисования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Raketa

v=10: vs=0

Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ скорости Ρ€Π°ΠΊΠ΅Ρ‚Ρ‹ постоянно ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» измСнСния скорости Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ

ar=-1.5708: da=.15

Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠ³Π»Π° Ρ€Π°Π·Π²ΠΎΡ€ΠΎΡ‚Π° ar ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Raketa Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ… ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» измСнСния ΡƒΠ³Π»Π° da

d$ = «bu20 e15 r5 f15 d20 y17 g17 u20 br5

ΠΌΠ°ΠΊΠ΅Ρ‚ рисунка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Raketa (строка ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° DRAW Π±Π΅Π· символов Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΡ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹) Ρ…1 = 0: y1=600

Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ спутника

ar1 = -1.5708: da1 =.1

Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠ³Π»Π° ar1 располоТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ… ΠΈ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ измСнСния ΡƒΠ³Π»Π° da1 ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik Π·Π° 1 Ρ†ΠΈΠΊΠ»

vx = 5: vy = 0

Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° скорости ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik

do$ = «u10 m+59,10 m-50,10 u10 br5»

ΠΌΠ°ΠΊΠ΅Ρ‚ рисунка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik

r = 100

константа для вычислСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

sr = 0

Ρ„Π»Π°Π³, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1 ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° DO

Π½Π°Ρ‡Π°Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° двиТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

t = t + dt

счСтчик Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

i = i + 1

счСтчик Ρ†ΠΈΠΊΠ»Π°

angl = da1 * i

расчСт ΡƒΠ³Π»Π° ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik

x1 = -600 * sin (ang1)

y1 = 600 * cos (ang1)

расчСт Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik

vy = 5 * sin (ang1)

vx = -5 * cos (ang1)

расчСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° скорости ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik

CALL comm (x1, y1, t, dt, i, vx, vy, ang1 $)

расчСт ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik

CALL comm (vs, da, v, ar, com$)

ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Raketa (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ com$ присваиваСтся символ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши)

CALL coord (v, ar, dt, x, y)

расчСт Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Raketa

CALL angle (ar, ang$)

расчСт ΡƒΠ³Π»Π° Ρ€Π°Π·Π²ΠΎΡ€ΠΎΡ‚Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Raketa

CALL Ρ€Π°ΠΊΠ΅Ρ‚Π° (d$, x, y, ang$, ar, xc, yc, r, st)

ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ рисунка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Raketa

IF com$ = «s» OR st > 0 THEN EXIT DO

ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° DO-LOOP) производится ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· Π΄Π²ΡƒΡ… условий: Π»ΠΈΠ±ΠΎ Π½Π°ΠΆΠ°Ρ‚Π° клавиша s, Π»ΠΈΠ±ΠΎ st = 1 (Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°)

CALL contact (xc, yc, st, x1, y1)

вычислСниС условий ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° ΠΏΡƒΡ‚Π΅ΠΌ сравнСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ (хс, ус) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Raketa ΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ рисования (xl, yl) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik

LOOP

ΠΊΠΎΠ½Π΅Ρ† Ρ†ΠΈΠΊΠ»Π° двиТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

END

SUB angle (ar, ang$)

пСрСсчСт ΡƒΠ³Π»Π° Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ… Π°r Π² ΡƒΠ³ΠΎΠ» Π² Π³Ρ€Π°Π΄ΡƒΡΠ°Ρ… ang$, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ DRAW

pi = 3.1415

число Ρ€

ad = INT (ar * 180 / pi)

ΡƒΠ³ΠΎΠ» Π² Π³Ρ€Π°Π΄ΡƒΡΠ°Ρ… Π² Ρ‡ΠΈΡΠ»ΠΎΠ²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅

ad$ = $(ad)

ΡƒΠ³ΠΎΠ» Π² Π³Ρ€Π°Π΄ΡƒΡΠ°Ρ… Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅

IF ad >= 0 THEN adS = «+» + LTRIM$(RAK$(ad))

ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΡƒΠ³Π»Π΅ символ «+» Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, Π° ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° DRAW, поэтому ΠΎΠ½ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ‚ся

ang$ = «ta» + ad$

Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° строки ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° DRAW END SUB

SUB comm (vs, da, v, ar, com$)

pi2 = 6.2830 — число 2Ρ€

FOR i = l TO 1000

старт ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°ΠΊΠ΅Ρ‚Π° ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ спутник Π·Π°ΠΌΠ΅Π΄Π»ΡΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ», Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наТатая клавиша Π±Ρ‹Π»Π° принята ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ INKFY$. Если Π½Π΅ Π½Π°ΠΆΠ°Ρ‚Π° Π½ΠΈ ΠΎΠ΄Π½Π° клавиша, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ соm$ Ρ€Π°Π²Π½ΠΎ пустой строкС ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° «Π Π°ΠΊΠ΅Ρ‚Π°» продолТаСтся со ΡΡ‚Π°Ρ€Ρ‹ΠΌΠΈ значСниями ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² v ΠΈ Π°Π³

com$ = INKEY;: IF com; <> «» THEN EXIT FOR

NEXT i

IF RIGHTS (com$, I) = «M» THEN ar = ar — da

Π½Π°ΠΆΠ°Ρ‚Π° клавиша RIGHT, ΡƒΠ³ΠΎΠ» ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ»ΡΡ

IF RIGHTS (com$, 1) = «Πš» THEN ar = ar + da

Π½Π°ΠΆΠ°Ρ‚Π° клавиша LEFT, ΡƒΠ³ΠΎΠ» увСличился

IF ar > pi2 THEN ar = ar — pi2

контролируСтся ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠ³Π»Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 2Ρ€ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ

IF ar < -pi2 THEN ar = ar + pi2 IF v > 0 THEN SOUND 37 + v * 500, .1

ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ скорости увСличиваСтся частота ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π²ΡƒΠΊΠ°. END SUB

SUB contact (хс, ус, st, xl, yl

расчСт условия ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°

DIM xo (10), yo (10), dxo (10), dyo (10)

dist = SQR ((x 1 — хс)^2 + (yl — ус)^2)

расчСт расстояния ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ

IF dist < 50 THEN

ΠΏΡ€ΠΈ расстоянии мСньшС 50 пиксСлов фиксируСтся ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ (Ρ„Π»Π°Π³ st Ρ€Π°Π²Π΅Π½. Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅) st = 1

RANDOMIZE TIMER

FOR i = l TO 10

расчСт Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputuik

xo (i) = x1: yo (i) = yl

dxo (i) = 10 * RND: dyo (i) = 20 * RND

NEXT i

DO

FOR i=l TO 10

ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Π²ΠΈΠ΄Π΅ Ρ€Π°Π·Π»Π΅Ρ‚Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π±Π΅Π»Ρ‹Ρ… ΠΊΡ€ΡƒΠΆΠΊΠΎΠ² радиуса 5 пиксСлов (приращСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΈΡ… Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ² случайны, поэтому ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΡ€ΡƒΠΆΠΎΠΊ пСрСмСщаСтся Π² ΡΠ²ΠΎΠ΅ΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ)

xo (i) = xo (i) + dxo (i): yo (i) = yo (i) + dyo (i)

CIRCLE (xo (i), yo (i)), 5

NEXT i

LOOP WHILE xo (1) < 1000 OR yo (1) < 750

Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² прСкращаСтся, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ достигнСт Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ экрана

END IF

END SUB

SUB coord (v, ar, dt, x, y)

ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ… ΠΈ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Raketa Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Π·Π°ΠΊΠΎΠ½Π°ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ

dx = -v * SIN (ar) * dt: dy = v * COS (ar) * dt

x = x + dx: Ρƒ = Ρƒ + dy

END SUB

SUB coord 1 (xl, yl, t, dt, i, vx, vy, angl$)

расчСт ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ двиТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik Ρ…1 ΠΈ Ρƒ1 (Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ

ΠΏΠΎ Π·Π°ΠΊΠΎΠ½Π°ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ)

x1 = 600 * sin (ang1)

y1 = 600 * cos (ang1)

Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik

vy = 5 * SIN (ang1)

vx = 5 * COS (ang1)

расчСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° скорости ΡƒΠ³ΠΎΠ» Ρ€Π°Π·Π²ΠΎΡ€ΠΎΡ‚Π° Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ спутника Ρ€Π°Π²Π΅Π½ ang1 Π·Π° i Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

Sputnik

angl$ = «ta» + ad$

Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° строки для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° DRAW. END SUB

SUB RAKETA (d$, x, y, ang$, ar, xc, yc, r, st)

рисунок ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° RAKETA

PRESET (x, y)

фиксация Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π°Ρ‡Π°Π»Π° рисования

figpnt$ = «ΡΠ—» + ang$ + d$ + «p5,3 b15»

Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки рисунка (строка собрана ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»Π° Ρ†Π²Π΅Ρ‚Π° 3, ΡƒΠ³Π»Π° Ρ€Π°Π·Π²ΠΎΡ€ΠΎΡ‚Π°, ΠΌΠ°ΠΊΠ΅Ρ‚Π° рисунка, символов Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ окраски)

DRAW figpnt$

рисованиС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° RAKETA

PRESET (x, y)

вторичная фиксация Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ послСдняя Ρ‚ΠΎΡ‡ΠΊΠ° рисунка ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΠΎΠ²ΠΏΠ°ΡΡ‚ΡŒ с Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ — Π° ΠΎΡ‚ Π½Π΅Π΅ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π½ΠΎΠ²ΠΎΠ³ΠΎ полоТСния Ρ„ΠΈΠ³ΡƒΡ€Ρ‹)

FOR i = l TO 30 000: NEXT i

Π·Π°ΠΌΠ΅Π΄Π»ΡΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ» позволяСт Π·Π°Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° Π²Ρ€Π΅ΠΌΡ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для Π³Π»Π°Π·Π°, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ

figdel$ = «Ρ0» + d$ + «Ρ€0,0 b15»

Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° DRAW для стирания Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (рисованиС Ρ†Π²Π΅Ρ‚ΠΎΠΌ Ρ„ΠΎΠ½Π° — ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ Ρ†Π²Π΅Ρ‚Π° ноль ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ DRAW воспринимаСт Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°, ΠΊΠ°ΠΊΠΈΠΌ Π±Ρ‹ ΠΎΠ½ Π½Π΅ Π±Ρ‹Π» Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ COLOR)

DRAW figdel$

стираниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° RAKETA

PRESET (x, Ρƒ) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ dar = 1.27

ΡƒΠ³ΠΎΠ» Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для расчСта ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ (хс, ус) (эта Ρ‚ΠΎΡ‡ΠΊΠ° находится прямо ΠΏΠΎ ΠΊΡƒΡ€ΡΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ Π½Π° Π±Π»ΠΈΠ·ΠΊΠΎΠΌ расстоянии — сдСлано это ΠΏΠΎ Ρ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ° с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (Ρ…, Ρƒ) находится Π² Ρ…востС ΠΈ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎ Π½Π΅ΠΉ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚) хс = Ρ… + r * COS (ar + dar): ус = Ρƒ + r * SIN (ar + dar)

расчСт ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ хс ΠΈ ΡƒΡ

PSET (Ρ…, Ρƒ) ставится Ρ‚ΠΎΡ‡ΠΊΠ° Π±Π΅Π»Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ, которая Π½Π΅ ΡΡ‚ираСтся ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡˆΠ»Π΅ΠΉΡ„ ΠΎΡ‚ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

IF st > 0 THEN DRAW figpnt$

восстановлСниС рисунка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° оказываСтся стСртым. END SUB

SUB Sputnik (xl, yl, st, do$, angl$)

рисунок ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik

IF st = 0 THEN

PRESET (xl, yl)

фиксация Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ рисования

figpnt$ = «Ρ12» + angl$ + do$ + «p14,12 b15»

Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° DRAW с ΠΎΠΊΡ€Π°ΡΠΊΠΎΠΉ ΠΈ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΡƒΠ³Π»ΠΎΠΌ Ρ€Π°Π·Π²ΠΎΡ€ΠΎΡ‚Π°

DRAW figpnt$

рисованиС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik PRESET (xl.yl), Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ

OR i = 1 ВО 30 000: NEXT i

Π·Π°ΠΌΠ΅Π΄Π»ΡΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ» для фиксации ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° ΡΠΊΡ€Π°Π½Π΅

figdel$ = «Ρ0» + do$ + «Ρ€0,0 b15»

Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки стирания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik

DRAW figdel$

стираниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Sputnik

PRESET (xl, yl)

Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ (Ссли Π΅Π΅ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ эффСкт размазывания Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°)

END IF

END SUB

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ