<<< «ТМ» 1986 №3 «Техника-молодежи» 1986 №4, с.50-54 «ТМ» 1986 №5 >>>

ПУТЬ К ЗЕМЛЕ

Окончание. Начало см. «ТМ» № 8–12 за 1985 г. и № 1–3 за 1986 г.

9. SOS ПОСЛЕ ФИНИША

— Здесь станция «Коперник», — повторил голос из динамика. — Станция «Коперник» к лунолету «Кон-Тики». Подтвердите заход на причаливание в восемнадцать ноль-ноль условного орбитального времени. — Последовала пауза, затем голос добавил уже другим тоном: — Телевидение беспокоится...

Коршунов зарычал и обрушил кулак на динамик. Тот умолк. До входа в атмосферу оставалось минут пять, не больше. Все было как тогда, в первый раз: бесконечные сверкающие поля облаков, в провалах — голубизна океана... Только теперь в баках «Кон-Тики» топлива не было; не было и самих баков, и не было двигателя — все это хозяйство, отстреленное полчаса назад, шло сейчас по собственной, отличной от нашей траектории, чтобы спустя несколько минут вспыхнуть падающей звездой в небе Земли..

Не было ни паники, ни упреков. «Это стандартная машина, штурман, — сказал Коршунов. — Днище кабины отделено от двигательного отсека толстым слоем теплозащиты. Будем надеяться, на торможение ее хватит. А если прогар — так это мгновенно, ты знаешь...»

«А потом?» — спросил я. «Если не будет прогара в самом начале, — сказал он, — останется одна опасность — посыпаться в самом конце. Не будем об этом думать. Там, в перигее, океан. Наша задача — выйти в горизонтальный полет на нулевой высоте и на минимальной скорости. Это наш шанс...»

Потом последовал отстрел двигательного отсека. Мы молча наблюдали, как блистающий барабан, медленно кувыркаясь, уходит в черноту космоса. Я четко себе представлял, хотя не мог этого видеть, как преобразился сейчас «Кон-Тики» — стал вдвое ниже, превратился в приплюснутый диск, увенчанный сзади хвостовым оперением. Да, оно пригодилось. Корабль походил сейчас на бескрылый маленький самолет. Только скорость его была на два порядка больше...

Облака надвигались, пора было разворачивать «Кон-Тики» днищем вперед, но Коршунов медлил, молча глядя на простирающийся перед нами пейзаж. «В последний раз», — сказал я себе мысленно, но сам себе не поверил. Нет, это невероятно. Герои Жюля Верна и Герберта Уэллса уже прошли по этому пути, а когда это было?! «Как птицы, штурман, как птицы!» — вспомнил я. Нет, мы еще поборемся!

Коршунов развернул «Кон-Тики» на высоте сто километров. Микродвигатели ориентации сработали четко. К счастью, они располагались на основании кабины, не были связаны с двигательным отсеком Теперь мы не видели ничего, кроме звездного неба: лежали в креслах — голова вниз, ноги вверх — и ждали. Прошла минута — мы уже снизились до 80 км, приближаясь к перигею орбиты. Внезапно я почувствовал под собой кресло. Атмосфера тормозила «Кон-Тики» все сильнее и сильнее — еще минута, и я ощущал уже нормальную земную тяжесть.

— Высота? — спросил Коршунов.

— Семьдесят!

— Скорость?

— Восемь!

— Скорость спуска?

— Сто метров!

— Сейчас начнется! — прокричал он. — Держись, штурман!

Предупреждать меня не было нужды.

Перегрузка увеличивалась. Двигатели ориентации удерживали «Кон-Тики» строго перпендикулярно потоку. Я не отрывал взгляд от альтиметра. Высота 65 км, скорость 7 км/с, скорость спуска — по-прежнему 100 м/с. Перегрузка достигла полутора единиц и продолжала расти. Еще полминуты. Высота 60, перегрузка стала трехкратной, скорость уменьшилась до шести километров в секунду. Корабль окончательно увяз в атмосфере. Путь оставался один — вниз, только вниз!

— Скорость спуска?

— Двести, — ответил я, с трудом ворочая языком.

— Много, — услышал я голос Коршунова. Небо за фонарем дрогнуло — он изменил угол атаки, чуть-чуть, градусов на десять, наклонив «Кон-Тики» вперед. Появилось вертикальное ускорение, спуск начал замедляться. Высота пятьдесят пять километров, скорость — чуть больше пяти километров в секунду. Перегрузка перевалила за тройную и вдруг стала ослабевать. Я почувствовал это сразу. Режим поддержки — из-за наклона судна появилась подъемная сила, мы практически перешли в горизонтальный полет, плотность воздуха оставалась постоянной, и наша скорость неуклонно уменьшалась. Вместе с ней уменьшались сила сопротивления и перегрузка.

— Скорость?

— Три с половиной.

— Высота?

— Пятьдесят пять... Перегрузка падала. «Кон-Тики» все сильнее наклонялся вперед. Теперь его удерживали стабилизаторы. Мы медленно снижались, скорость убывала. На высоте 40 км она составляла уже всего полтора километра в секунду. «Кон-Тики» шел в режиме парашютирования, под углом 45 градусов к потоку, скорость спуска была умеренной, меньше ста. Возвратилась земная тяжесть.

— Вот и все, Саша! — В голосе Коршунова послышалось торжество. — Самое страшное позади, теплозащита выдержала. Значит, мы победили!..

И он поднялся из кресла. Да, все было позади, я это понял. Понял по-настоящему! Отнюдь не исчезновение перегрузки было причиной тому огромному облегчению, которое я почувствовал... Мы летели уже не в космосе, а в атмосфере, на «самолетной» высоте и с «самолетной» скоростью. В том, что Коршунов благополучно посадит «Кон-Тики», я не сомневался. Фактически мы были уже дома!..

— Иди сюда, штурман, — позвал он. И подмигнул: — Ракетой ты уже управлял, и весьма удачно. Попробуй теперь, что такое полет в атмосфере. Чтобы не было никаких обид.

Я занял его место и бросил взгляд на приборы. Высота 30 км, скорость — ровно километр в секунду. Ярко светило Солнце, облака были внизу, мы шли практически горизонтально. Коршунов стоял рядом с креслом, придерживаясь за спинку.

— А что надо делать?

— Держать угол атаки, — пояснил он. — Чем он больше, тем больше подъемная сила, но и сопротивление тоже. Четыре градуса, думаю, будет вполне нормально. Вот этот рычаг видишь? Уверяю тебя, это нетрудно.

Пульт перед его креслом был точно такой же, как мой, с одним-единственным дополнением. После моего поединка с «роботом-бюрократом» здесь появилась новая шкала: «Угол атаки». И рычажок, перемещающийся вдоль шкалы, и цифры от нуля до девяноста...

Я передвинул рычажок назад, к цифре 4. Он поддался легко, без сопротивления. «Кон-Тики» послушно качнулся вперед, приняв почти горизонтальное положение.

— Так держать, штурман! — сказал Коршунов. Он был очень доволен. — Так держать!

Собственно, ничего от меня не требовалось. Передвинул рычаг — и только. Произошло при этом, насколько я понимаю, следующее. Команда с пульта поступила на какой-то микропроцессор, тот сравнил ее с информацией от внешних датчиков, передал на серводвигатели тормозного щитка управляющий сигнал... В результате судно приняло нужную ориентацию относительно набегающего потока. Но подъемной силы теперь не хватало, траектория загибалась вниз, вместе с ней наклонялся вперед корабль, скорость спуска, только что бывшая нулевой, увеличивалась. Пятьдесят метров в секунду, сто, сто пятьдесят... Все-таки плотность на этой высоте была еще ничтожной, поддержки недоставало, мы входили в крутое пике. Впереди, совсем рядом, белели облака, «Кон-Тики» мчался к ним словно пикирующий бомбардировщик, под углом градусов пятнадцать к горизонту. Высота быстро уменьшалась — двадцать пять километров, двадцать три, двадцать...

«И сколько так будет продолжаться?» — спросил я себя. Ответ подсказало кресло: надавило на меня с новой силой. Плотность за бортом увеличивалась, «Кон-Тики» наткнулся на эти более плотные слои и среагировал незамедлительно: сам, совершенно самостоятельно, выходил из пике. И перегрузка усилилась — меня уже ощутимо вдавливало в кресло. Полтора, наверное, не меньше.

— Довольно, — сказал Коршунов. — Вставай. С чужого коня...

Я до сих пор не знаю, что произошло. То ли я, отвлекшись на его голос, чуть изменил положение рычажка. То ли, что более вероятно, мы напоролись на какую-то локальную турбулентность, ничтожную флуктуацию плотности. Как бы то ни было, «Кон-Тики» сильно тряхнуло, послышался грохот падающего тела...

Он не устоял на ногах. Никто бы не устоял при таком толчке. И он упал. Упал при двойной перегрузке. Когда-то я читал фантастический роман о жизни на тяжелой планете, в условиях повышенной гравитации. Самое страшное для ее обитателей было — упасть. Падение означало смерть.

Я не сразу осознал, что случилось.

— Михаил! — с трудом крикнул я. — Ты что, Михаил?!

Ответом мне было молчание. «Кон-Тики», наткнувшись на плотные слои атмосферы, выходил в горизонтальный полет. Высота 13 км. Скорость — семьсот метров в секунду. Две с половиной тысячи километров в час...

«Кон-Тики» мчался над верхней границей облачности. Теперь я чувствовал нормальную тяжесть. Я повернул голову. Он лежал на полу. Недвижимый, бездыханный.

— Михаил! — заорал я.

Он не шелохнулся. «Кон-Тики» несся горизонтально, быстро теряя скорость. Шестьсот метров в секунду, пятьсот пятьдесят... Рычажок атмосферного пульта стоял в прежнем положении. Угол атаки — четыре градуса. Было жарко, на лбу выступил пот. Я весь обливался потом. Попробовал встать из кресла...

Не тут-то было. «Кон-Тики» — скорость снизилась уже до пятисот метров в секунду — вновь клюнул носом вниз. Я снова увидал облака. Мы входили в новое, еще более крутое пике. Все вокруг заволокло туманом. Скорость спуска росла, высота падала, пике становилось все круче.

Облака ушли вверх. Под собой я увидел бесконечный простор океана. Далеко впереди темнел массив какого-то континента. Кресло вновь давило снизу, «Кон-Тики» пытался выйти и из этого пике. Высота — шесть километров. Скорость — четыреста метров в секунду. Угол пикирования — около двадцати градусов к горизонту. Но он уменьшался, траектория становилась все более пологой. На что я надеялся? Что она окончательно выправится над самой морской поверхностью?..

Нет, из этого пике наш кораблик выйти не смог. На четырех километрах угол пикирования стабилизировался — около пятнадцати градусов. Но скорость медленно падала: 340 м/с, 320, 300... Я уже знал, что делать. «Наша задача — выйти в горизонтальный полет на нулевой высоте. Это наш шанс...»

Я весь обливался потом. Высота уменьшалась быстро, скорость, к сожалению, медленнее. На полутора километрах она упала до 250 м/с, до поверхности океана оставалось секунд двадцать, не больше. Она была гладкая, без морщинки. Штиль... «Кон-Тики» вновь начал заваливаться в крутое пике.

До воды оставались считанные сотни метров, когда я стал отжимать рычажок от себя: пять градусов, шесть, семь... Мы вышли на горизонталь на высоте двадцать пять метров. Скорость «Кон-Тики» была двести метров в секунду. Я осторожно увеличивал угол атаки, задирая судно носом кверху: восемь градусов, десять, двенадцать... Скорость уменьшалась, и высота тоже: девять метров, семь, пять... «Кон-Тики» несся над самой поверхностью, едва не касаясь воды. Сто двадцать метров в секунду, сто десять, сто... Сто, девяносто, восемьдесят! Я удерживал его под углом сорок пять градусов — максимум подъемной силы, — только скорости уже не хватало, и мы рухнули вниз!..

...Но падать нам было некуда — под нами была вода. Толчок был сильным, я удержался в кресле каким-то чудом. Раздалось оглушительное шипение, вверх взметнулось густое облако пара и, видимо, облако брызг. Но наше суденышко еще летело вперед — оно выскочило из этого облака, оставило его позади! И неторопливо замедляло ход, осваиваясь в новой среде...

Я повернул голову. Коршунов сидел на полу кабины, по лбу стекала узкая струйка крови. Взгляд его был странным. Раньше он никогда так на меня не смотрел.

— Ты хорошо сел, мальчик, — сказал он. — Не зря был чемпионом...

Не знаю, что он хотел этим сказать. Но переспрашивать я не стал.

* * *

— Надо как-то выкручиваться, — произнес он полчаса спустя. Прозрачная крышка была откинута, кругом был безбрежный синий простор, сверху — белые облака. Нас обдувал слабый ветерок. Мы сидели, подставив голые спины земному солнцу, и дышали земным воздухом, ни с чем не сравнимым. — Я вижу единственный выход.

— Какой?

— SOS, — коротко объяснил он.

— SOS? — Мне показалось, что я ослышался. — После всего, что мы сделали? Да тут до суши всего километров двести, от силы триста.

— И что ты предлагаешь? Вплавь? Думаешь, я умею плавать?

— Зачем же вплавь? Судно прекрасно дойдет своим ходом. Ветер хоть и слабый, зато попутный. Сутки-другие и войдем в чьи-нибудь территориальные воды...

— Ну нет! — заявил командир «Кон-Тики». — Я, в конце концов, космонавт, а не капитан дальнего плавания. Врубай SOS, штурман, SOS на полную громкость!..

КОНЕЦ

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

МЯГКОЙ ПОСАДКИ!

Конец венчает дело — традиционный заголовок раздела приобрел долгожданное содержание. Последний «переплет Перепелкина» (по выражению читателя М. Рыжкова из Новосибирска), как видим, завершился если не полной победой, то вполне достойным сигналом бедствия. К сожалению, в распоряжении редакции не имеется ни одной сколько-нибудь приличной программы, обеспечившей бы дальнейший путь «Кон-Тики» к земле (в том смысле, какой вкладывают в это слово моряки). Возможно, экипажу поможет кто-нибудь из читателей? А для посадки предлагаем вашему вниманию новую игровую программу «Атмосфера-2»:


00.Сх 01.ИПА 02.+ 03.ПА 04.ИП7 05.- 06.Кx<09
07.ИПВ 08./-/ 09.÷ 10.П2 11.ИП9 12.С/П 13.БП
14.57 15.П8 16.С/П 17.П2 18.Fcos 19.FВх
20.Fsin 21.ПД 22.ИП6 23.× 24.× 25.П5
26.FВх 27.ИПД 28.× 29.1 30.+ 31.ИП1 32.ИП8
33.ИП3 34.÷ 35.F10x 36.÷ 37.ИПВ 38.Fx2
39.ИП0 40.Fx2 41.ПД 42.+ 43.F√ 44.× 45.×
46.П8 47.FВх 48.ИП5 49.× 50.ИПД 51.F√
52.÷ 53.ИПА 54.F1/x 55.+ 56.П5 57.ИП0
58.ИП8 59.ИПВ 60.ИП5 61.× 62.+ 63.×
64.ИП2 65.× 66.- 67.П0 68.ПП 69.92
70.ИПС 71.+ 72.ПС 73.ИПД 74.ИП5 75.×
76.ИПВ 77.ИП8 78.× 79.- 80.ИП4 81.ИПА
82.Fx2 83.÷ 84.- 85.↑ 86.ИП2 87.× 88.ИПВ
89.+ 90.ПВ 91.FВх 92.+ 93.ИП2 94.×
95.2 96.÷ 97.В/О

Она предназначена для численного моделирования управляемого полета в атмосфере безмоторных летательных аппаратов (дельтапланов, космических кораблей многократного использования, детских бумажных голубей и «Кон-Тики»). Кое-какие исходные данные «унаследованы» от «Атмосферы-1» (см. предыдущий выпуск): (начальное расстояние от центра планеты, м) ПА (начальная вертикальная скорость, м/с) ПВ (начальная горизонтальная скорость м/с) П0 (радиус планеты, м) П7 (гравитационная постоянная планеты, м32) П4 (характерный масштаб атмосферы, м) П3. В регистр 1 вводится половина произведения площади сопротивления аппарата (м2) при нулевом угле атаки (когда днище «Кон-Тики» ориентировано параллельно потоку) на плотность воздуха на нулевой высоте (кг/м3), разделенная на массу аппарата (кг). Цифры, которыми изобилует последняя часть отчета, склоняют к предположению, что данная константа составляла примерно 7,5 ВП /-/ 5 П1. В регистр 6 вводится отношение максимальной силы сопротивления (когда днище перпендикулярно потоку) к минимальной; из тех же цифр и имеющихся эскизов удалось оценить этот коэффициент в 30 П6. Наконец, в регистр С записывается начальное расстояние (м) от какой-либо опорной точки, в регистр 9 — сигнал о посадке Е15. 115 К- (ЕГГОГ) ВП П9. Такой необычный шифр выбран потому, что он используется и как адрес условного перехода в команде Кx<09, записанной по адресу 06. Переход в командах косвенной адресации (она в данном случае применена просто для экономии программной памяти) производится на адрес, совпадающий с двумя последними цифрами записанного в регистре числа: вместо Е15 можно использовать, например, Е115 или просто 151515 (читатели С. Аветисов из Еревана, В. Агафонов из Таганрога, Д. Горелин из Киева указывают, что на Б3-34 первых выпусков невозможно формировать буквенные сообщения, по крайней мере, с помощью нормальной процедуры, используя ЕГГОГ и ВП; что ж, обладателям подобных моделей придется воспользоваться числовым сообщением).

При формировании шифра Е15 вместо команд КСх и К7 использована К-; это связано с вопросами читателей, приобретших «Электронику МК-61», в которой кое-что добавлено по сравнению с Б3-34 и МК-54. «Неправильных» команд, начинающихся с К, в новом ПМК осталось всего три: со знаками вычитания, деления и умножения (В. Николайчук из Воронежа сообщил, что команды К1 и К2, как и в МК-54, выполняют функции «пустых»). Шестиклассник Е. Агеенко из Ульяновска информирует и о кое-каких новых способах получения видеосообщений на МК-61 с помощью команды К Инв; еще будет время о них рассказать. Восьмиклассник С. Лаптев из Брянска спрашивает: стоит ли приобретать МК-61? «Зачем он мне, если к нему не подойдут ваши программы?» Отвечаем: приобретать стоит, наши программы к нему подойдут.

При полете в атмосфере, кроме сил, к которым участники рейса привыкли (гравитационная, центробежная и кориолисова), на аппарат действуют еще две: сила лобового сопротивления и подъемная сила. Первая направлена вдоль траектории, против вектора скорости; вторая — перпендикулярно. Обе зависят от плотности воздуха и скорости и меняются в зависимости от ориентации аппарата. Лобовое сопротивление минимально, когда угол атаки равен нулю (днище аппарата ориентировано вдоль потока), и максимально, когда он составляет 90° (поток бьет в днище) Подъемная же сила в этих крайних ситуациях отсутствует: она максимальна при промежуточном угле атаки 45°. Кроме того, она положительна при положительных углах атаки и отрицательна при отрицательных (например, если бы «Кон-Тики» перевернулся вверх днищем и тормозился в этом положении). Во избежание недоразумений укажем, что задача решалась приближенно, в пренебрежении тонкими аэродинамическими эффектами.

Работа с «Атмосферой-2» начинается командой В/О С/П. Переключатель Р-Г устанавливается в позиции Г. При останове на индикаторе загорается текущая высота полета (она же находится и в регистре 8), переменные располагаются в прежних ячейках. В регистр Y выводится чрезвычайно важная (особенно при посадке) величина: полное вертикальное ускорение аппарата в м/с2; если оно близко к нулю, скорость спуска практически не меняется.

Маневр задается командой: (время, с) ПП (угол атаки, градусы) С/П. Время в отличие от «ракетных» программ разрешается задавать равным нулю (штурманский режим): это дает возможность определить вертикальное ускорение при данном угле атаки без изменения остальных переменных (в реальном полете пилот эту величину попросту ощущает всем телом). При полете в атмосфере рекомендуется задавать время маневра не больше 5–10 с, а при заходе на посадку и того меньше. Позволяет «Атмосфера-2» осуществить и спуск на парашюте. Регистр 6 при этом следует обнулить, содержимое регистра 1 увеличить в 100–1000 раз, время маневра в момент раскрытия парашютов уменьшить до десятых долей секунды.

При контакте с поверхностью на индикаторе загорается сигнал Е15, при его появлении следует нажать С/П. Загорание нуля после одного или нескольких Е15 означает, что посадка завершена. В некоторых случаях летательный аппарат может «срикошетировать»: на индикаторе вновь зажигается положительная высота; значит, нужно продолжать полет. Посадка считается удовлетворительной, если горизонтальная скорость не превышает 100, вертикальная — 5 м/с.

Структурно программа построена аналогично предыдущим. Команды (01–05) вычисляют текущую высоту полета; если она отрицательна, то задействуется стандартный посадочный блок (07–14): вычисляется и записывается в регистр 2 отрицательное время возврата, из регистра 9 вызывается сигнал Е15, происходит останов для его индикации, а после нажатия С/П управление передается на начало блока решения уравнений движения (57). Если же высота положительна, то она записывается в рабочий регистр 8 и происходит обычный останов (15–16). Введенное с пульта время маневра записывается в регистр 2 (17), команды (18–30) вычисляют тригонометрические функции угла атаки, необходимые для расчета аэродинамических ускорений, последние суммируются с центробежным, кориолисовым и гравитационным, получившиеся дифференциальные уравнения численно интегрируются по формулам равноускоренного движения. Особых «тонкостей», кроме использования сигнала Е15 в качестве адреса перехода, в программе нет. Регистры 5, 8 и Д служат рабочими ячейками для хранения промежуточных результатов вычислений. Концовка программы (92–97) работает и как подпрограмма (вызов 68–69). Горизонтальная скорость, введенная в стек командой (57), в результате команд (58–60) оказывается в регистре T и используется в вычислениях по адресам 63, 66 и при сложении в первой команде подпрограммы. Стоит обратить внимание на команду (85): в расчетах она не нужна, ее назначение — сохранить величину вертикального ускорения в регистре Y. Отметим, что командой (52) производится деление на модуль горизонтальной скорости; по этой причине для расчета чисто вертикального спуска «Атмосфера-2» не годится.

«После появления на страницах журнала рубрики «Клуб электронных игр» сразу же купил ПМК, — пишет А. Горелов из поселка Тисуль Кемеровской области. — Но при наборе программы легко сделать ошибку. Чтобы убедиться, что программа набрана правильно, предлагаю печатать в конце каждой «проверочную задачу», а также значения всех переменных с точностью до последней цифры». Пожелание вполне разумное, охотно идем навстречу. Вот как мог выглядеть финиш «Кон-Тики» после выхода в горизонтальный полет. Исходные данные: 6371 ВП 3 П7 Fx2 9,81 × П4 17500 П3 7,5 ВП /-/ 5 П1 30 П6 115 К- (ЕГГОГ) ВП П9 ИП7 25 + ПА 200 П0 Сх ПВ ПС. В/О С/П — на индикаторе загорается высота 25. Приводим запись команд А. Перепелкина в виде: время/угол (показание индикатора). 5/6 (19) 5/8 (10,6) 5/10 (8,9) 5/12 (5) 5/18 (4,2) 5/24 (0,1) 1/45 (Е15). Есть контакт! С/П (Е15) С/П (Е15) С/П (0). Смотрим остальные переменные: ИП0 (77,749524) ИПВ (-3,4853011) ИПС (4272,5669).

ОХОТА НА ИНОПЛАНЕТНЫХ ЧУДОВИЩ (4)

Рейс «Кон-Тики» завершен, пора заканчивать и знакомство с глубинами «электронного океана». Но сначала ознакомимся с одной особенностью Б3-34 (МК-54). «Занимаясь с микрокалькулятором. — пишет Д. Козьминский из г. Рубцовска Алтайского края, — я заметил интересную возможность увеличить число регистров памяти. Может, это и не открытие, но в качестве ячеек можно использовать и знаки арифметических действий, а также XY и стрелку вверх (ввод в стек). Однако последняя спарена с «+», то есть эти дополнительные регистры работают как один».

Прав ли читатель? И да и нет. Легко убедиться, что клавиши «+», «-», «÷» и «XY» при командах записи, вызова и переходов выполняют в точности те же функции, что и команды «0», «1», «2», «3» и «4», вплоть до совпадения кодов получающихся команд. Так, команда П+ (код 40) тождественна П0 (тот же код), поэтому о каком-то расширении возможностей ПМК за счет этих «новых» команд говорить нельзя (в некоторых игровых программах, правда, можно для наглядности отдавать с пульта команды типа БП ↑ ± С/П для перемещения по вертикальной координате и БП XY ± С/П для перемещения по горизонтальной; с таким вводом мы скоро встретимся). Но Д. Козьминский прав в том смысле, что адресуемых регистров в памяти Б3-34 вовсе не 14, как утверждается в заводской инструкции, а 15 — имеется еще один буквенный регистр Е: на клавиатуре ему соответствует стрелка вверх (ввод в стек). Нетрудно проверить, что по этому регистру можно осуществить полный набор команд (прямые запись и вызов, а также косвенные: запись, вызов, обращение к подпрограмме и переходы — четыре условных и один безусловный). Эти команды имеют собственные коды (все они завершаются буквой Е) и исправно выполняются как при ручных вычислениях, так и при расчетах по программе. Лишь одна особенность отличает регистр Е от остальных: он постоянно связан с регистром 0! Иными словами, содержимое обоих регистров всегда совпадает.

Казалось бы, что толку от такого дополнительного регистра? Какая разница, 0 или Е, если числа в них все равно одинаковы? Действительно, команды прямой записи и прямого вызова по этим регистрам, несмотря на то, что коды их отличаются (40 и , 60 и ), абсолютно взаимозаменяемы. А вот при косвенном обращении к регистру Е (как и к другим буквенным, а также «старшим» цифровым регистрам 7, 8 и 9) не происходит «модификации» находящегося в нем числа — оно, попросту говоря, не меняется; соответственно остается прежним и содержимое регистра 0. При косвенном же обращении к регистру 0 его содержимое «модифицируется» (уменьшается на единичку, как и в случае регистров 1, 2 и 3) — соответственно меняется и число в регистре Е. Эту постоянную связь удобно использовать в циклах по регистру 0 (см., например, простенькую программу «Мультфильм» № 12 за 1985 год; предоставляем читателям самим разобраться в том, как она работает). К слову сказать, в МК-61 связь Е-0 разорвана, поэтому обладателям этого ПМК придется в некоторых ситуациях искусственно ее вводить, что потребует минимум двух команд ИП0 ПЕ. Все такие случаи будут в дальнейшем оговариваться особо.

Столь обширное отступление потребовалось потому, что обитатели 7-го этажа «электронного океана», С-ЕГГОГ-оборотни, позволяют устанавливать подобную (правда, одностороннюю) связь между регистром С и любым другим. Введите в регистр С какое-нибудь число, например, 22, перейдите в режим ПРГ, наберите стандартную «водолазную» программу: 00.Fx2 01.Fx2 02.Fx2 03.ПА 04.Сх 05.С/П, вернитесь в режим АВТ и скомандуйте, допустим, 1 ВП 80 В/О С/П. На индикаторе 0, но в регистре А сидит С-ЕГГОГ-оборотень. ИПА. На индикаторе — 22, содержимое регистра С! Это главное свойство «сверхчисел» с порядками между 600 и 700 (сейчас в регистре А записано 10640) — при их вызове в регистр X сами они тут же «отступают» в регистр Y, вытаскивая на индикатор число из регистра С (почему именно этому буквенному регистру такое предпочтение, никому не известно). С числом, которое горит сейчас на индикаторе, можно осуществлять различные операции. Например, 2 × (44) 4 ÷ (11) 1 - (10) 15 + (25) F√ (5) F1/x (0,2) и т. д. Но в регистре Y по-прежнему находится «сверхчисло». Попробуем XY. На индикаторе вновь появляется 22 — «чудовище», вызванное в регистр X, незамедлительно отползло в свою «пещеру» (регистру Y), прикрывшись «добычей» (содержимым регистра С)...

Если нажать теперь знак сложения, после томительной паузы на индикаторе появится сообщение ЕГГОГ. «Сверхчисло», замаскированное под ним, собственной персоной явилось на индикатор! Это легко проверить, например, отдав команду Flg: на экранчике загорится 359,99998 — логарифм «сверхчисла» (с учетом периода в 1000 по величине порядков).

С-ЕГГОГ-оборотни обладают и многими другими, еще не вполне понятными свойствами. Использование их в электронных играх проблематично. Однако знать о них надо — с этими числами легко случайно столкнуться в районе отрицательных порядков (если, скажем, подать на вход «водолазной» программы число 1 ВП /-/ 45, то получится вовсе не ноль, как можно было предположить, а то самое «сверхчисло», с которым мы только что познакомились; для ПМК нет разницы между 10640 и 10-360 — порядки отличаются ровно на тысячу.).

Сказанное относится и к числам с положительными порядками от 700 до 800 (соответственно с отрицательными между -200 и -300). Для знакомства с ними пригодится ЗГГОГ-анализатор: 1 ВП 50 Fx2 Fx2 П9 Сх. Подадим на вход «водолазной» программы, допустим, 1 ВП 90 В/О С/П. На индикаторе 0. ИПА. На экранчике появляется нечто несообразное (00,10000000 2). Это «длинный монстр», типичный обитатель данного этажа. Справиться с ним нетрудно: F АВТ ИП9 ИП9. На индикаторе — ЗГГОГ-анализатор. Нажимаем десятичную точку. Справа загорается трехзначный порядок — 720; нажимаем F АВТ — слева появляется мантисса 1. ЗГГОГ, как всегда, не подвел (кстати, при некотором навыке расшифровать «длинного монстра» легко по его внешнему виду; предлагаем в этом потренироваться самостоятельно).

Следующий этаж (порядки между 800 и 900, а также между -100 и -200) безраздельно принадлежит Нулю. Проверьте это сами. Для электронных игр наиболее интересны его «воплощения» в мире ОС-оборотней (числа с порядками между 480 и 490, а также между 448 и 449). Записав такое число, допустим, в регистр А, получаем возможность обнулять регистр С одной-единственной командой ИПА. Например, сейчас в регистре С записано 22. Подадим на вход «водолазной» программы число 1 ВП 60 В/О С/П. На индикаторе 0. ИПС (22) ИПА (0) ИПС (0). Легко убедиться, что такое зануление исправно выполняется и при расчетах по программе. В результате появляется возможность сэкономить одну команду — практика показывает, что именно ее-то очень часто и не хватает.

Задание на этот раз очевидно: закончить путешествие. Комплект исходных данных тот же, что и в приведенном тесте, только регистры А, В и 0 нужно заполнить в соответствии с результатами предыдущей операции (тем, кто ее не выполнял, можем предложить такие цифры: ИП7 1 ВП 5 + ПА 8400 П0 280 /-/ ПВ Сх ПС). Рекомендациям, содержащимся в последней части отчета А. Перепелкина, следовать можно, но вовсе не обязательно: путей в атмосфере много, и все они ведут вниз. Мягкой посадки!

Михаил ПУХОВ

При Клубе электронных игр организована консультация по программированию на языке Б3-34. Отвечаем на различные вопросы, даем полезные советы, помогаем редактировать программы. Адрес: 125015, Москва, А-15, Новодмитровская ул., 5а, «Техника-молодежи», Клуб электронных игр.


<<< «ТМ» 1986 №3 «Техника-молодежи» 1986 №4, с.50-54 «ТМ» 1986 №5 >>>