Техника - молодёжи 1986-10, страница 41

Техника - молодёжи 1986-10, страница 41

LE

" |т«Г (Мад^л»"1" ^Тюа^пц.)

Е00,>ли№

AF,e4=-io1 Fven-o

УЯАЯШ

шяние

Кр>0

KF<0

<-

Блок-схема программы «Термодирижабль». Условные обозначения: Nde — мощность двигателя; &Гзад — заданное отличие подъемной силы от переменной составляющей веса; AFпод — реальное отличие подъемной силы от переменной составляющей веса; Fгр — вес груза; Гтоп — вес топлива; Н — высота полета; W — скорость полета; W ветра — скорость ветра; L — суммарная дальность полета; t — шаг по времени, t* — суммарное время полета.

МОРСКОЙ БОЙ

Сегодня вашим партнером в этой увлекательной игре будет не человек, а ПМК «Электроника БЗ—34» (МК-54). Очевидно, вид кораблей и состав флотилии особого значения не имеют. Уточним правила:

а) игра ведется на поле размером 10X10 клеточек;

б) кораблей восемь, каждый занимает отдельную клеточку;

в) информация выдается в виде: «попал» — «не попал»;

г) игровое поле нумеруется по вертикали и по горизонтали цифрами от нуля до девяти (см. рисунок);

д) координаты корабля задаются двузначным числом: первая цифра берется по вертикали, вторая — по горизонтали. Например, корабли на рисунке имеют координаты 05 (А), 10 (Б), 11 (В), 36 (Г), 42 (Д), 50 (Е), 61 (Ж), 79 (3). Ноль впереди опускается, поэтому координата корабля А—5, именно так его и представит ПМК.

Теперь познакомимся с математической моделью игры. Необходимо, чтобы ПМК мог «обстреливать» все клетки игрового поля и при этом нигде не повторялся. Эта задача реализована с помощью так называемого генератора псевдослучайных чисел (он пригодится и при других играх):

Ni +1 =Ni- q—[Ni- q/P] . P,

где квадратные скобки означают целую часть числа, Р — простое число, a q имеет вид q—Р—Зт и выбирается близким к Р/2. Если взять Р=101, q=74 (при т=3), то получим псевдослучайный ряд чисел на интервале (1,100). Вычитая из всех чисел по единице, получим ряд на интервале (0,99); он-то нам и нужен. Программа состоит из двух частей — программа распределения кораблей в памяти ПМК (часть А):

00.ПВ 01.1 02.0 03.1 04 .Щ 05.1 06.1 07.П0 08.8 09ЛИ ЮЛ12 П.Ш 12.34 13.КП0 14.Ш 15.II I6.CX

I7.C/0L

34.ИПВ 35.7 36.4 37.x 38.ПС 39.ИОД 40.+ 41 .ПВ 42.КИПВ 43.ИПС 44.ИПВ 45ЛЩЦ 46.x 47.- 48.ПВ 49.1 50.-5I.EKO 52.58 53.7 54.4 55.ПВ 56.7 57.3 58.В/0

и программа игры (часть Б):

оолад oi.с/п 02лс озлад 04.-

05.Ех/о 06.23 07.1 08.1 09.ПО 10.8 П.Ш 12ЛШС 13.КИП0 14.- I5.ft*> 16.00 17.ЕЫ 18.12 I9.Gz 20.C/I 21 .Ш 22.34 23.КИП2 24.ИП2 25.ЙСО 26.34 27ЛЩД 28.ВП 29.8 30.6 * 31.С/Й 32.Ш 33.31

Рассмотрим часть А. Блок-схема алгоритма распределения кораблей представлена на рисунке. (При наборе программы адреса с 18-го по 33-й пропу-

Консультант раздела Герой Советского Союза летчик-космонавт СССР Ю. Н. ГЛАЗКОВ

скаются.) После ввода программы нажать В/О, затем набрать любое целое положительное число (можно и О) и С/П. Примерно через 65 с на индикаторе загорится 0 — корабли распределены по игровому полю. Контрольный пример: 123 В/О С/П. После останова корабли расставлены, как на нашем рисунке: ИПА (11) ИП9 (79) ИП8 (61) ИП7 (42) ИП6 (50) ИП5 (36) ИП4 (10) ИПЗ (5). После завершения расстановки кораблей надо нажать В/О и вводить часть Б. При этом она заполняет программную память на участке 00—33, а с адреса 34 остается та часть программы А, где реализуется выработка псевдослучайного числа. Если после перехода в режим АВТ нажать С/П, то первый ход сделает ПМК. Если же скомандовать В/О С/П, то на индикаторе загорится 101, и первый ход делает человек: нужно набрать координаты «выстрела» и нажать С/П. При попадании загорается 101, и ход следует повторить. Если промах — загорается ноль.х Нажмите С/П — ход делает ПМК (высвечивает координаты клетки, по которой «стреляет»). Если он попал, сообщите об этом: ИПД С/П. ПМК повторит ход. При попадании в восьмой корабль машина высвечивает сигнал о победе (слева 1,01, справа 88) и самоблокируется — игра закончена. Для повтора игры придется ввести программы А и Б заново (фрагмент 34—58, естественно, можно не вводить). На выработку своего хода ПМК затрачивает не более 8—9 с, на проверку координат противника — не более 18 с.

А вот вариант той Же игры для БЗ-21. Игровое поле и правила точно такие же, только кораблей всего семь. Программа распределения кораблей выглядит следующим образом:

00Л>5 Щ.1 02.0 03.1 04.Р2 05.7 10.4 II.P3 12.ПП I3.P- I4J>6 15Л>Ф 20ЛШ 2I.P- 22.Рф 23.t 24.16 25.- Э0.Рх*> 31Л>2 32.7 ЗЗ.Р8 34.С/П 35.il 40.0 41.iff 42.Р5 43.t 44.РЗ 45.x 50.Р4 51. t 52.Р2 53.+ 54.1 55.ВП 60.7 61 .g 62.+ 63.XJ 64.- 65.t 70.P2 71 .x 72.♦ 73.P4 74.XJ 75.- 80J>5 81.1 82.- 83.B/0

После ее ввода нажать Р РР В/О, набрать любое число (кроме нуля) и нажать С/П. Когда загорится 7, корабли ПМК расставлены. Далее нажать В/О Р РП и ввести программу игры:

00.Р2 01.С/П 02.Р4 ОЗ.* 04.12 05.-Ю.Рх*> II.- I2.P6 I3.P7 I4.P4 I5.t 20.Р6 21 .Рф 22.Р6 23.- 24.Рх>о 25.Р0 ЗО.РБ 31.t 32.Р7 33.- 34*Рх*о 35.ЙУ 40.ВП 41.С/Й

КЛУБ ЭЛЕКТРОННЫХ ИГР