Кон-Тикиhttps://pmk.arbinada.com/2023-05-19T15:53:00+02:00ПМК - программируемые (микро)калькуляторыКалькуляторы в кино2023-05-19T15:53:00+02:002023-05-19T15:53:00+02:00sttag:pmk.arbinada.com,2023-05-19:/category/01700_calcs_cinema.html<p>В 1970-80-е годы калькуляторы проникали не только в быт, но и в сферу искусства. В заметке собраны примеры использования вычислителей в советском, более позднем российском и зарубежном кино.</p><p>В 1970-80-е годы калькуляторы проникали не только в быт, но и в сферу искусства.</p>
<h1>Casio ML-833</h1>
<p>Casio ML-833, так называемый музыкальный калькулятор, попал в широко известный фильм "Чародеи" (1982, ТО Экран). В кадре -- замдиректора НУИНУ А.М.Сатанеев подсчитывает расходы услуг по собственному омоложению.</p>
<p><img alt="" src="https://pmk.arbinada.com/files/kino_calcs_casio_ml-833_01.jpg"></p>
<p>Кроме простейших арифметических операций, калькулятор позволяет "программировать" мелодии: ноты набираются на клавиатуре в специальном режиме, затем проигрываются. В кадре видна даже инструкция.</p>
<h1>Sanyo CX-8033</h1>
<p>Главный герой трагикомедии "Полет с космонавтом" (1980, киностудия им. Горького) на 24-й минуте занимается индивидуальной подготовкой к желанной профессии космонавта. Как сейчас принято говорить, личностным ростом. Книга про "Любовь" не должна смущать зрителя, тем более, что разглядеть название можно разве что в стоп-кадре.</p>
<p><img alt="" src="https://pmk.arbinada.com/files/kino_calcs_sanyo_cx-8033_01.jpg"></p>
<p>Серия CX начала-середины 1970-х годов узнаваема по дизайну корпуса с ремешком для ношения на запястье, по цвету и расположению кнопок. Скорее всего, речь идет о модели CX-8033, выпущенной фирмой в 1975 году.</p>
<p><img alt="" src="https://pmk.arbinada.com/files/kino_calcs_sanyo_cx-8033_02.jpg"></p>
<h1>БЗ-21</h1>
<p>Б3-21 - первый советский программируемый микрокалькулятор, обладающий несколько необычной системой команд и регистров, а также высокой стартовой розничной ценой 350 рублей в 1977 году. Позднее, правда, цена была снижена до условно-приемлемых 85 рублей, а вскоре появилась и модель второго поколения Б3-34. Тем не менее, программы для Б3-21 еще долгое время использовались, чему, например, свидетельствует книга Л.Астанина "Применение программируемых калькуляторов для инженерных и научных расчётов", вышедшая спустя десятилетие в 1986 году, когда в продажу поступили ПМК третьего поколения МК-61/52.</p>
<p>Итак, американский сериал "Чернобыль" (2019, HBO), первая серия и первая же минута. Стол академика Легасова, занятого осмыслением и описанием произошедшей катастрофы для будущих поколений.</p>
<p><img alt="" src="https://pmk.arbinada.com/files/kino_calcs_b3-21_01.jpg"></p>
<p>В фильме "Пока не выпал снег" (1984, Одесская киностудия) отец главного героя-подростка занят инженерно-руководящей работой (на 38-й минуте).</p>
<p><img alt="" src="https://pmk.arbinada.com/files/kino_calcs_b3-21_02.jpg"></p>
<h1>МК-56</h1>
<p>Программируемый микрокалькулятор МК-56 попал в российский сериал "Игра с огнем" (2017), действие которого происходит в 1978-79 годах. Оказавшаяся на столе директора швейной фабрики модель на самом деле увидит свет только в 1981 году, но не будем придираться к мелочам, поскольку более ранние и простые устройства уже начали внедрять в советские конторы и магазины.</p>
<p>На 40-й минуте второй серии первого сезона начинающих горе-предпринимателей пытается "закрыть" парторг. Но директор, чуя выгоду, выгораживает авантюристов и берет их под свое крыло. При этом он подсчитывает дневную выручку, а потом и годовую...</p>
<p><img alt="" src="https://pmk.arbinada.com/files/kino_calcs_mk-56_01.jpg"></p>Восемь чашек кофе или метод Лунного Коршуна2023-03-15T12:48:00+01:002023-03-15T12:48:00+01:00darth.rightertag:pmk.arbinada.com,2023-03-15:/category/01622.html<p><img alt="" class="img-right" src="https://pmk.arbinada.com/files/put_k_zemle_01_small.jpg">Самое увлекательное приключение XXI века, по словам Пухова, началось с чашки кофе в буфете лунного астровокзала. Точнее, не с одной, а с целых восьми чашек, выигранных Коршуновым у кофе-автомата, предназначенного «в основном для лётного состава».</p><p>Самое увлекательное приключение XXI века, по словам Пухова, началось с чашки кофе в буфете лунного астровокзала. Точнее, не с одной, а с целых восьми чашек, выигранных Коршуновым у кофе-автомата, предназначенного «в основном для лётного состава».</p>
<p><img alt="" src="https://pmk.arbinada.com/files/put_k_zemle_01.jpg"></p>
<blockquote>
<p>— Восемь знаков??? — с трудом выдавил Эдик и на длительное время потерял способность что-либо спрашивать. Он, только что герой дня, был попросту уничтожен.</p>
<p>— Но как вы все-таки это сделали? — поинтересовался я, немного опомнившись. — Или это секрет?</p>
<p>— Никаких секретов. — Он отставил пустую чашку. — Я терпеть не могу компьютеров, особенно тех, которые что-то мне запрещают. Он думает, что если запретил мне выключать движок, то я так и послушался!</p>
<p>— Но если его выключить, загорится транспарант «Нарушение правил» и вы лишитесь права на игру.</p>
<p>— Что же я, идиот? Я сделал так, чтобы он сам его выключил!</p>
<p>— Каким образом?</p>
<p>— Проще простого, — улыбнулся он. — Во время полета превысил допустимое ускорение, он выбросил транспарант «Пилот без сознания» и выключил двигатель.</p>
<p>— Но вы бы разбились!</p>
<p>— Зачем же? Я превысил ускорение на самую малость. Дал такую тягу, чтобы движок вырубился всего на пару секунд. Упасть я просто не успел. А чтобы увеличение тяги не повлияло на скорость, я дал очень малый расход, но за ничтожное время. Ускорение получилось большое, и этот электронный болван выбросил свой транспарант. Я подождал, пока он погас, разделил разность скоростей на время свободного падения, и вот результат...</p>
</blockquote>
<p>В практической части статьи, редакция КЭИ предлагает определить ускорение силы тяжести «методом Лунного Коршуна», используя программу Лунолёт 1.</p>
<p>Попробую проверить рассказ Перепёлкина. Загружаю в память <a href="https://play.google.com/store/apps/details?id=com.cax.pmk.ext">аватара МК-61</a> программу Лунолёт 1, заливаю 40 в регистр Д, но ускорение силы тяжести ввожу из восьми знаков: 1.2345678 — чтобы дать возможность пилоту заработать 8 чашек кофе, повторив подвиг Лунного Коршуна.</p>
<p>В/О С/П — высота и скорость нулевые, приступаем к выполнению задания.</p>
<p>6 ПП 3 С/П . Высота 8.8, скорость 5.8858161 — сохраню её в свободный регистр командой ПЕ.</p>
<p>Прикину максимальный расход для трёхкратной перегрузки: ИП7 ИП3 ÷ ИП8 х. На экране 18.413853. Для того, чтобы двигатель отрубился на «пару секунд», как рекомендовал Коршунов, дам превышение на пару кг топлива. «ничтожный отрезок времени» пусть будет один на десять в минус десятой. С тем же порядком задам и расход топлива:</p>
<p>20 ВП /-/ 10 ПП 1 ВП /-/ 10 С/П На экране, как и следовало ожидать «Г» — перегрузка! Жму С/П. Высота 20, смотрим скорость ИПВ 2.6534374. Вычитаем содержимое регистра Е: ИПЕ — (3.2333787) и делим разницу скоростей на время: ИП2 (2.619037) ÷. На экране ускорение силы тяжести, определённое «методом Коршунова»: 1.2345677. Неплохой результат, ошибка в последнем знаке из восьми. И всё-таки, семь знаков — это семь чашек кофе, вместо обещанных восьми! В чём ошибка? Ошибку вносит ничтожное ускорение, вызывающее перегрузку. Посмотреть его негде — автомат вырубает двигатель, и оно не сохраняется, в чём можно убедиться: ИП3 — на экране ноль. Как можно уменьшить ошибку? — уменьшая импульс, вызывающий перегрузку. Запомнив текущую скорость: ИПВ ПЕ, повторяю манёвр Коршунова, уменьшив порядок до десяти в минус девяносто девятой:</p>
<p>20 ВП /-/ 99 ПП 1 ВП /-/ 99 С/П После перегрузки жму С/П и смотрю ИПВ (-0.5809413) считаю разницу скоростей ИПЕ — и делю на время ИП2 (точно те же 2.619037) ÷, а на экране снова 1.2345677. Похоже, Коршунову в тот раз пришлось довольствоваться только одной чашечкой...</p>
<p>А если подумать, то можно определить и восьмой знак , причём без экстремальных манёвров Коршунова. Если правила разрешают смотреть скорость и реактивное ускорение, всё делается гораздо проще:</p>
<p>Запоминаю скорость ИПВ ПЕ и задаю манёвр без всяких перегрузок:</p>
<p>1 ПП 1 С/П (высота 22.3...)</p>
<p>Считаю разницу скоростей ИПВ ИПЕ — (0.367884) и вычитаю реактивное ускорение ИП3 — (1.2345678) На экране все восемь знаков ускорения.</p>
<p>Осталось теперь успешно посадить лунолёт...</p>
<p>Заварив чайку, я размышлял, почему такой ас, как Коршунов, не использовал этот простой и очевидный способ? Наверное, подумалось вдруг мне, всему виной его нелюбовь к автоматам, которые что-то запрещают. Похоже, именно это желание — заставить компьютер, вопреки запретам, самому выключить двигатель — и оставило бывалого пилота без чашки кофе. А «восемь знаков» в рассказе оставим на совести Перепёлкина.</p>О масштабах производства советских калькуляторов и систематической ошибке выжившего2022-09-25T19:24:00+02:002022-09-25T19:24:00+02:00sttag:pmk.arbinada.com,2022-09-25:/category/01627.html<p>Сведения о масштабах производства программируемых калькуляторов в Советском Союзе найти очень трудно, мягко говоря. Оценить количество выпущенной техники можно лишь по серийным номерам изделий, которые добрые люди фотографируют, продавая свой антиквариат на разных площадках или выкладывая фото из своей коллекции. Другим показателем, косвенным, является упоминание в литературе и периодике.</p>
<p>Отправной …</p><p>Сведения о масштабах производства программируемых калькуляторов в Советском Союзе найти очень трудно, мягко говоря. Оценить количество выпущенной техники можно лишь по серийным номерам изделий, которые добрые люди фотографируют, продавая свой антиквариат на разных площадках или выкладывая фото из своей коллекции. Другим показателем, косвенным, является упоминание в литературе и периодике.</p>
<p>Отправной точкой "исследования" стала фотография <a href="https://en.wikipedia.org/wiki/HP-75">калькулятора HP-75D</a>, выпуск которого начался в 1982 году. В принципе, это устройство уже не вполне калькулятор, а настоящий мини-компьютер на 8-разрядном процессоре со входным языком Бейсик.</p>
<p>Что в это время было у нас? С 1977 года начался выпуск программируемого Б3-21, а с 1980-го -- БЗ-34. Это всё. По функциональности оба калькулятора могут сравниваться разве что с более ранними моделями HP начала-середины 1970-х, и сравнение, к сожалению, будет не в их пользу.</p>
<p>То есть на дворе 1982 год, "у них" уже карманный миникомпьютер с Бейсиком "на борту" в розницу по достаточно высокой цене в 995 долларов, близкой к средней месячной зарплате того времени (примерно 1200 долларов в 1982 году). У нас -- калькуляторы с мнемокомандами, 14 регистрами памяти и 98 шагами программы. Причем еще не дошедшие до массового потребителя.</p>
<p>Напомню, первый калькулятор Б3-21 продавался по цене 350 рублей, что в 2 с лишним раза превышало среднюю зарплату по стране (150 рублей в 1979 году). Новый Б3-34 с 1980-го года стоил в розницу 120 рублей, но с 1983-го цену снизили до 85 рублей. Тем не менее, более чем серьёзная цена для того времени.</p>
<p>Почему Б3-34 был только "на подходе"? В 1982 массовой моделью оставался Б3-21, уступающий практически по всем параметрам новой модели. Однако новый калькулятор был выпущен в размере всего нескольких тысяч штук на 268-миллионную страну.</p>
<p>В литературе упоминаний о новой модели практически нет. Автор книги "Электронные микрокалькуляторы и техника вычислений" Ю.А.Белых в 1981 году на странице 46 пишет единственную фразу о существовании Б3-34, после чего переходит к описанию Б3-21. То есть доступа к новой модели устройства нет даже у автора.</p>
<p><img alt="" src="https://pmk.arbinada.com/files/book_belyh_1981_citation_p46.png"></p>
<p>Рубрика "Человек с микрокалькулятором" откроется в журнале "Наука и жизнь" только в середине 1983 года. Первые книги с программами для "новой" модели Б3-34 выйдут в свет в 1984 году.</p>
<p>Посмотрим на темпы, которыми выпускались калькуляторы. Переносимые (карманными их назвать сложно) модели Б3-21 и 34 производились только Светловодским заводом "Калькулятор" (Кировоградская область, Украина). Таким образом, по серийным номерам можно оценить и общий выпуск. Фотографии задней стенки корпусов калькуляторов приведены после текста.</p>
<p>Для Б3-21</p>
<table>
<thead>
<tr>
<th>Год и месяц выпуска</th>
<th>Серийный номер</th>
<th>Цена, руб</th>
</tr>
</thead>
<tbody>
<tr>
<td>1977</td>
<td>?</td>
<td>350</td>
</tr>
<tr>
<td>1978-11</td>
<td>20 933</td>
<td>350</td>
</tr>
<tr>
<td>1978-12</td>
<td>21 309</td>
<td>350</td>
</tr>
<tr>
<td>1979</td>
<td>?</td>
<td></td>
</tr>
<tr>
<td>1980-04</td>
<td>115 874</td>
<td>350</td>
</tr>
<tr>
<td>1980-06</td>
<td>138 179</td>
<td>350</td>
</tr>
<tr>
<td>1980-09</td>
<td>168 357</td>
<td>190</td>
</tr>
<tr>
<td>1980-12</td>
<td>188 892</td>
<td>190</td>
</tr>
<tr>
<td>1981-07</td>
<td>220 261</td>
<td>190</td>
</tr>
</tbody>
</table>
<p>Для Б3-34</p>
<table>
<thead>
<tr>
<th>Год и месяц выпуска</th>
<th>Серийный номер</th>
<th>Цена, руб</th>
</tr>
</thead>
<tbody>
<tr>
<td>1980</td>
<td>?</td>
<td>120</td>
</tr>
<tr>
<td>1981-07</td>
<td>006 689</td>
<td>120</td>
</tr>
<tr>
<td>1982-12</td>
<td>098 360</td>
<td>85</td>
</tr>
<tr>
<td>1983-01</td>
<td>102 949</td>
<td>85</td>
</tr>
<tr>
<td>1984-12</td>
<td>248 614</td>
<td>85</td>
</tr>
<tr>
<td>1985</td>
<td>?</td>
<td>85</td>
</tr>
<tr>
<td>1986-12</td>
<td>356 360</td>
<td>85</td>
</tr>
</tbody>
</table>
<p>Что видно из этих неполных данных? В июле 1981 года на всю страну было произведено меньше семи тысяч калькуляторов Б3-34. Не густо для 270-милионного населения. Основной моделью по-прежнему оставался устаревший Б3-21, число которых к тому времени хотя и составляло более 220 тысяч, но также не могло покрыть спрос покупателей.</p>
<p>Чтобы пользование ПМК стало действительно массовым, в том же 1982 году киевский завод "Кристалл" начал выпускать МК-54 -- более дешевый аналог (65 рублей) модели Б3-34, отличавшийся от неё элегантным корпусом и питанием от батареек вместо аккумуляторов. На базе МК-54 в 1985 году будут выпущены первые МК-61. Именно появление МК-54 и МК-61, а также МК-52, общий тираж которых можно оценить в районе 1 миллиона изделий, привел к массовости пользования ПМК среди школьников и студентов, составлявших основную массу покупателей (см "<a href="https://pmk.arbinada.com/category/01086.html">Об основной аудитории пользователей калькуляторов. Четверть века спустя</a>").</p>
<p>Ссылки на источники фотографий (кроме Avito):</p>
<ul>
<li>Б3-21<ul>
<li>1978-11: http://sannata.org/konkurs/2008/kt0820.shtml</li>
<li>1980-04 (зеленый индикатор): https://xlat.livejournal.com/806196.html</li>
<li>1980-09 (красный индикатор): https://xlat.livejournal.com/791809.html</li>
<li>1980-12: https://violity.com/101200835-kalkulyator-elektronika-b3-21</li>
<li>1981-07: http://www.leningrad.su/museum/show_calc.php?n=38</li>
</ul>
</li>
<li>Б3-34<ul>
<li>1982-12: https://ru.pc-history.com/elektronika-b3-34.html</li>
<li>1983-01: https://zavodfoto.livejournal.com/1047361.html</li>
<li>1984-12: https://xlat.livejournal.com/794532.html</li>
<li>1985-05: https://skylots.org/6545392459/Kalkulyator-Elektronika-B3-34</li>
</ul>
</li>
</ul>
<p>И в завершение о выживаемости ПМК. Человечеству известна так называемая "систематическая ошибка выжившего". В применении к "долетевшим" до нас калькуляторам, её можно выразить как необоснованное восхищение качеством продукции. Как пользователь, много лет работавший с изделиями радиопрома Б3-34, МК-54, МК-61 и МК-52, могу лишь сказать, что "долетевшие" до нас работающие экземпляры составляют лишь очень малую часть "сбитых" в режиме обычного пользования.</p>
<p><img alt="" src="https://pmk.arbinada.com/files/B3-21_serial_1978-12.jpg">
<img alt="" src="https://pmk.arbinada.com/files/B3-21_serial_1980-04_green.jpg">
<img alt="" src="https://pmk.arbinada.com/files/B3-21_serial_1980-06.jpg">
<img alt="" src="https://pmk.arbinada.com/files/B3-21_serial_1980-09_red.jpg">
<img alt="" src="https://pmk.arbinada.com/files/B3-21_serial_1980-12.jpg">
<img alt="" src="https://pmk.arbinada.com/files/B3-21_serial_1981-07.jpg">
<img alt="" src="https://pmk.arbinada.com/files/B3-34_serial_1981-07.jpg">
<img alt="" src="https://pmk.arbinada.com/files/B3-34_serial_1982-12.jpg">
<img alt="" src="https://pmk.arbinada.com/files/B3-34_serial_1983-01.jpg">
<img alt="" src="https://pmk.arbinada.com/files/B3-34_serial_1984-12.jpg">
<img alt="" src="https://pmk.arbinada.com/files/B3-34_serial_1986-12.jpg"></p>ВОСТОК-1 на МК612022-08-22T15:48:00+02:002022-08-22T15:48:00+02:00darth.rightertag:pmk.arbinada.com,2022-08-22:/category/01621.html<p>Разбирая информацию по Аполлонам, и программируя атмосферные модели для ракет-носителей, невольно то и дело вспоминался первый полёт Гагарина. После удачного "запуска" на орбиту Аполлона 11 решил-таки потратить время и поискать, что есть в сети по советским Востокам.</p>
<p>Наиболее полная информация обнаружилась в книге <a href="http://epizodyspace.ru/bibl/mpk/mpk.pdf">"Мировая пилотируемая космонавтика"</a>, с которой можно ознакомится …</p><p>Разбирая информацию по Аполлонам, и программируя атмосферные модели для ракет-носителей, невольно то и дело вспоминался первый полёт Гагарина. После удачного "запуска" на орбиту Аполлона 11 решил-таки потратить время и поискать, что есть в сети по советским Востокам.</p>
<p>Наиболее полная информация обнаружилась в книге <a href="http://epizodyspace.ru/bibl/mpk/mpk.pdf">"Мировая пилотируемая космонавтика"</a>, с которой можно ознакомится на сайте "Эпизоды космонавтики".</p>
<p>А в ней - описание ракеты-носителя Восток-1, достаточно подробное, для моделирования её средствами ПМК.</p>
<p><strong>Основные технические характеристики РН 8К72К</strong></p>
<p>Длина, м 38.360 Максимальный поперечный размер, м 10.303 Масса: стартовая с полезным грузом, т 286.44 (287.00) в т.ч. компонентов топлива, т 257.60 (257.79) сухая (с полезным грузом ), т 28.84 (29.11) Суммарная номинальная тяга ДУ: на Земле/в вакууме, тс 409.9/501.9</p>
<p>Боковые блоки 1 й ступени (Б, В, Г, Д)</p>
<p>Масса: стартовая, т (43.25) в т.ч. компонентов топлива, т 39.50 Двигательная установка: (РДE107) ном.тяга на Земле/в вакууме, тс 83.5/101.5 уд.импульс на Земле/в вакууме, с 252/308 давление в камере сгорания, атм 59.6 суммарное время работы, с 140 сухая масса, кг 1155 Время отделения блоков T+118…119 c</p>
<p>Центральный блок 2 й ступени (А)</p>
<p>Максимальный диаметр, м 2.950 Масса: стартовая, т (100.8) в т.ч. компонентов топлива, т (93.4) Двигательная установка: (РДE108) ном.тяга на Земле/в вакууме, тс 75.9/95.9 уд.импульс на Земле/в вакууме, с 245/309 давление в камере сгорания, атм 52.0 суммарное время работы, с 340 сухая масса, т 1.250 Время отделения блока T+(308…309 c)</p>
<p>Блок 3 й ступени (Е)</p>
<p>Диаметр, м 2.576 Масса: стартовая, без полезного груза, т (7.820) стартовая, с полезным грузом, т (12.545) сухая, т (1.430) полезный груз, т (4.725) Двигательная установка: (8Д719 (РДE0109)) номинальная тяга в вакууме, тс (5.56) удельный импульс в вакууме, с (323.5) давление в камере сгорания, атм 45.9 сухая масса, кг (121) максимальное время работы, с (430) Время отделения КК от блока Е T+ (680…690 c)</p>
<p>Головной обтекатель</p>
<p>Длина, мм 6630 Диаметр, мм 2700 Масса, кг 650 Время сброса ГО T+151…155 c</p>
<p><strong>КОСМИЧЕСКИЙ КОРАБЛЬ КК ВОСТОК</strong></p>
<p>Информацию по топливу и времени работы ДУ КК Восток в книге не нашёл, воспользовался информацией с <a href="https://web.archive.org/web/20110629092837/http://www.astronautix.com/craft/vostok.htm">американского сайта</a>:</p>
<p>и <a href="http://epizodsspace.airbase.ru/bibl/k-r/1991/4-5vostok.html">статьи</a> Валентина Бобкова КОСМИЧЕСКИЙ КОРАБЛЬ "ВОСТОК"</p>
<p>Масса: стартовая 4730 кг, сухая 4455 кг. Тяга ДУ 1600 кгс (15.830 кН), удельный импульс 266 с</p>
<p><strong>СПУСКАЕМЫЙ АППАРАТ СА ВОСТОК-1</strong></p>
<p>Масса: 2460 кг, максимальный диаметр 2.3 м</p>
<p>Парашютная система СА (НИЭИ ПДС,Ф.Д.Ткачев) имела</p>
<ul>
<li>вытяжной парашют площадью 1.5 м2 (вводится на высоте около 7 км),</li>
<li>тормозной парашют площадью 18 м2 (вводится на высоте 4 км) и</li>
<li>основной – площадью 574 м2 (вводится на высоте 2.5 км).</li>
</ul>
<p>Двигателей мягкой посадки СА не имел</p>
<p>Основным отличием Востока от Сатурна является работа первых двух ступеней. У Востока они работают, фактически, параллельно. На старте запускаются одновременно блоки А (центральный), и Б,В,Г,Д (четыре боковых). На 119 секунде боковые блоки Б,В,Г,Д отделяются, а блок А продолжает работать, выполняя функцию второй ступени. После отработки и отстрела блока А в работу включается блок Е, выводящий корабль на орбиту.</p>
<p>Изучив характеристики блоков - стартовые массы, массы топлива, тяга, удельный импульс, получилось определить параметры модели.</p>
<p>Самое сложное было посчитать правильно эффективные массу и удельный импульс для первой ступени, когда работают одновременно блоки А и четвёрка БВГД.</p>
<p>Считаем, что всё топливо БГВД сгорает за 119 с, значит секундный расход топлива 4 х 39500 / 119 = 1327.7 (кг/с)</p>
<p>Чтобы оценить, сколько топлива блока А сгорает в первой ступени, я воспользовался характеристиками максимальной тяги и импульса блока А у земли. Для обеспечения максимальной тяги в 75.9 тс с уд.импульсом 245 с нужно сжигать порядка 75900 / 245 = 309.8 (кг/с). Суммарный секундный расход первой ступени получается 1327.7 + 309.8 = 1637.5 (кг/с)</p>
<p>Теперь эффективный импульс. Не мудрствуя лукаво, я “взвесил” его относительно тяги каждого из блоков:</p>
<p>в пустоте: (95.5 х 309 + 4 х 101.5 х 308) / (95.5 + 4 х 101.5) = 308.2 с</p>
<p>308.2 х 9.81 = 3023.4 (м/с)</p>
<p>у земли: (75.9 х 245 + 4 х 85.5 х 252) / (75.9 + 4 х 85.5) = 250.7 с</p>
<p>250.7 х 9.81 = 2459.4</p>
<p>коэффициент уменьшения с высотой получается (3023 - 2459) / 3023 = 0.186</p>
<p>пропустив его через алгоритм вычисления импульса от высоты в программе, уточнил до 0.1863</p>
<p>Эффективный импульс (точнее, скорость истечения) задаётся как Wmax + k = 3023.1863 (м/с)</p>
<p>По работе второй и третьей ступени всё считается проще - удельный импульс переводится в скорость истечения умножением на 9.81, удельный расход считается делением всего топлива ступени на время работы.</p>
<p>По аэродинамическому параметру: он считается, как половина от произведения плотности воздуха у земли (1.3 кг/м.куб) на площадь поперечного сечения, умноженную на коэффициент сопротивления. Для ступеней ракеты-носителя коэффициент сопротивления взял 0.4, как у Сатурна-5, для спускаемого аппарата, имеющего форму шара, взял единицу.</p>
<p>Получившийся в итоге комплект исходных данных для каждого из этапов указан ниже.</p>
<p>Для полёта используются две знакомые “атмосферные” программы:</p>
<p>прг. РАКЕТА-НОСИТЕЛЬ</p>
<div class="highlight"><pre><span></span><code><span class="mf">00.</span><span class="n">Сx</span><span class="w"> </span><span class="mf">01.</span><span class="n">ИПA</span><span class="w"> </span><span class="mf">02.</span><span class="o">+</span><span class="w"> </span><span class="mf">03.</span><span class="n">ПA</span><span class="w"> </span><span class="mf">04.</span><span class="n">ИП7</span><span class="w"> </span><span class="mf">05.</span><span class="o">-</span><span class="w"> </span><span class="mf">06.</span><span class="n">ИП0</span><span class="w"> </span><span class="mf">07.</span><span class="n">ИПB</span><span class="w"> </span><span class="mf">08.</span><span class="err">÷</span><span class="w"> </span><span class="mf">09.</span><span class="n">Ftgᐨ¹</span>
<span class="mf">10.</span><span class="n">П3</span><span class="w"> </span><span class="mf">11.</span><span class="n">FL1</span><span class="w"> </span><span class="mf">12.16</span><span class="w"> </span><span class="mf">13.</span><span class="n">С</span><span class="o">/</span><span class="n">П</span><span class="w"> </span><span class="mf">14.</span><span class="n">П2</span><span class="w"> </span><span class="mf">15.</span><span class="n">П1</span><span class="w"> </span><span class="mf">16.</span><span class="n">ИП6</span><span class="w"> </span><span class="mf">17.</span><span class="n">ИП6</span><span class="w"> </span><span class="mf">18.</span><span class="n">K</span><span class="err">{</span><span class="n">x</span><span class="err">}</span><span class="w"> </span><span class="mf">19.</span><span class="n">ИП7</span>
<span class="mf">20.</span><span class="n">ИПA</span><span class="w"> </span><span class="mf">21.</span><span class="o">-</span><span class="w"> </span><span class="mf">22.</span><span class="n">ИПE</span><span class="w"> </span><span class="mf">23.</span><span class="err">÷</span><span class="w"> </span><span class="mf">24.</span><span class="n">F10ˣ</span><span class="w"> </span><span class="mf">25.</span><span class="n">П8</span><span class="w"> </span><span class="mf">26.</span><span class="err">×</span><span class="w"> </span><span class="mf">27.</span><span class="err">×</span><span class="w"> </span><span class="mf">28.</span><span class="o">-</span><span class="w"> </span><span class="mf">29.</span><span class="n">ИПD</span>
<span class="mf">30.</span><span class="n">ИП9</span><span class="w"> </span><span class="mf">31.</span><span class="o">-</span><span class="w"> </span><span class="mf">32.</span><span class="n">Fx</span><span class="err">≥</span><span class="mf">0</span><span class="w"> </span><span class="mf">33.49</span><span class="w"> </span><span class="mf">34.</span><span class="n">ПD</span><span class="w"> </span><span class="mf">35.</span><span class="n">ИП5</span><span class="w"> </span><span class="mf">36.</span><span class="o">+</span><span class="w"> </span><span class="mf">37.</span><span class="err">÷</span><span class="w"> </span><span class="mf">38.</span><span class="n">ИП9</span><span class="w"> </span><span class="mf">39.</span><span class="err">×</span>
<span class="mf">40.</span><span class="n">ИП8</span><span class="w"> </span><span class="mf">41.</span><span class="n">ИПE</span><span class="w"> </span><span class="mf">42.</span><span class="n">K</span><span class="err">{</span><span class="n">x</span><span class="err">}</span><span class="w"> </span><span class="mf">43.</span><span class="err">÷</span><span class="w"> </span><span class="mf">44.</span><span class="n">ИП0</span><span class="w"> </span><span class="mf">45.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">46.</span><span class="n">ИПB</span><span class="w"> </span><span class="mf">47.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">48.</span><span class="o">+</span><span class="w"> </span><span class="mf">49.</span><span class="n">F</span><span class="err">√</span>
<span class="mf">50.</span><span class="err">×</span><span class="w"> </span><span class="mf">51.</span><span class="n">ИП5</span><span class="w"> </span><span class="mf">52.</span><span class="n">ИПD</span><span class="w"> </span><span class="mf">53.</span><span class="o">+</span><span class="w"> </span><span class="mf">54.</span><span class="err">÷</span><span class="w"> </span><span class="mf">55.</span><span class="n">П8</span><span class="w"> </span><span class="mf">56.</span><span class="n">Fѻ</span><span class="w"> </span><span class="mf">57.</span><span class="n">ИП3</span><span class="w"> </span><span class="mf">58.</span><span class="n">ИП2</span><span class="w"> </span><span class="mf">59.</span><span class="o">+</span>
<span class="mf">60.</span><span class="n">П3</span><span class="w"> </span><span class="mf">61.</span><span class="n">Fsin</span><span class="w"> </span><span class="mf">62.</span><span class="err">×</span><span class="w"> </span><span class="mf">63.</span><span class="n">ИПB</span><span class="w"> </span><span class="mf">64.</span><span class="n">ИПA</span><span class="w"> </span><span class="mf">65.</span><span class="err">÷</span><span class="w"> </span><span class="mf">66.</span><span class="n">ИП8</span><span class="w"> </span><span class="mf">67.</span><span class="o">+</span><span class="w"> </span><span class="mf">68.</span><span class="n">ИП0</span><span class="w"> </span><span class="mf">69.</span><span class="err">×</span>
<span class="mf">70.</span><span class="o">-</span><span class="w"> </span><span class="mf">71.</span><span class="n">ИП0</span><span class="w"> </span><span class="mf">72.</span><span class="o">+</span><span class="w"> </span><span class="mf">73.</span><span class="n">П0</span><span class="w"> </span><span class="mf">74.</span><span class="n">ПП</span><span class="w"> </span><span class="mf">75.</span><span class="n">A0</span><span class="w"> </span><span class="mf">76.</span><span class="n">ИПC</span><span class="w"> </span><span class="mf">77.</span><span class="o">+</span><span class="w"> </span><span class="mf">78.</span><span class="n">ПC</span><span class="w"> </span><span class="mf">79.</span><span class="n">Fѻ</span>
<span class="mf">80.</span><span class="n">ИП3</span><span class="w"> </span><span class="mf">81.</span><span class="n">Fcos</span><span class="w"> </span><span class="mf">82.</span><span class="err">×</span><span class="w"> </span><span class="mf">83.</span><span class="n">ИП8</span><span class="w"> </span><span class="mf">84.</span><span class="n">ИПB</span><span class="w"> </span><span class="mf">85.</span><span class="err">×</span><span class="w"> </span><span class="mf">86.</span><span class="o">-</span><span class="w"> </span><span class="mf">87.</span><span class="n">ИП0</span><span class="w"> </span><span class="mf">88.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">89.</span><span class="n">ИПA</span>
<span class="mf">90.</span><span class="err">÷</span><span class="w"> </span><span class="mf">91.</span><span class="o">+</span><span class="w"> </span><span class="mf">92.</span><span class="n">ИП4</span><span class="w"> </span><span class="mf">93.</span><span class="n">ИПA</span><span class="w"> </span><span class="mf">94.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">95.</span><span class="err">÷</span><span class="w"> </span><span class="mf">96.</span><span class="o">-</span><span class="w"> </span><span class="mf">97.</span><span class="n">ИПB</span><span class="w"> </span><span class="mf">98.</span><span class="o">+</span><span class="w"> </span><span class="mf">99.</span><span class="n">ПB</span>
<span class="n">A0</span><span class="mf">.</span><span class="n">FВх</span><span class="w"> </span><span class="n">A1</span><span class="mf">.</span><span class="o">+</span><span class="w"> </span><span class="n">A2</span><span class="mf">.2</span><span class="w"> </span><span class="n">A3</span><span class="mf">.</span><span class="err">÷</span><span class="w"> </span><span class="n">A4</span><span class="mf">.</span><span class="n">В</span><span class="o">/</span><span class="n">О</span>
</code></pre></div>
<p>Регистры:</p>
<ul>
<li>РО - v горизонтальная относительно поверхности</li>
<li>Р1 - цикл автопилота</li>
<li>Р2 - отклонение вектора тяги от направления текущей скорости</li>
<li>Р3 - угол отклонения текущей скорости от вертикали</li>
<li>Р4 - гравитационная постоянная планеты</li>
<li>Р5 - сухая масса корабля</li>
<li>Р6 - целая часть - максимальный удельный импульс (в пустоте), дробная часть - отношение разницы между максимальным и минимальным значением импульса, к величине максимального.</li>
<li>Р7 - радиус планеты</li>
<li>Р8 - служебный (при останове хранится аэродинамическое ускорение, делённое на скорость)</li>
<li>Р9 - расход топлива, кг в секунду (задаётся как запас топлива , делённый на время работы ступени)</li>
<li>РА - расстояние до центра планеты</li>
<li>РВ - u вертикальная</li>
<li>РС - горизонтальное смещение от старта</li>
<li>РД - масса топлива</li>
<li>РЕ - целая часть - характерный масштаб атмосферы, дробная - величина, обратная аэродинамическому параметру корабля (плотность воздуха на нулевой высоте, умноженная на площадь миделя, умноженная на коэфф.сопротивления, делённая на два)</li>
</ul>
<p>Используется для первой ступени.</p>
<p>Особенности:</p>
<ul>
<li>Секундный шаг по времени.</li>
<li>Вектор тяги задаётся отклонением от вектора текущей скорости</li>
<li>Учитывает зависимость удельного импульса от высоты.</li>
</ul>
<p>Комплект исходных данных:</p>
<p><strong>1 СТУПЕНЬ</strong>:</p>
<ul>
<li>6371 ВП 3 П7</li>
<li>Fх2, 9.81 х П4</li>
<li>ИП7 100 + ПА (исходная высота над уровнем моря порядка 100 м)</li>
<li>1 П1</li>
<li>0,0001 ПВ</li>
<li>0 ПО, ПС</li>
<li>92129 П5</li>
<li>3023,1863 П6</li>
<li>1637,5 П9</li>
<li>194866 ПД</li>
<li>17500,046 ПЕ</li>
<li>Т = 119 с - отделение блоков БВГД</li>
</ul>
<p>Начало работы, после ввода исходных данных - В/О С/П</p>
<ul>
<li>РгХ - отклонение траектории от вертикали</li>
<li>РгY - высота</li>
</ul>
<p>Манёвр задаётся командой: вектор тяги ПП время С/П</p>
<p>После отработки топлива происходит аварийный останов (ЕГГОГ по адресу 49)</p>
<p>обнуляем счётчик автопилота 1 П1, В/О С/П - фиксируем скорости и координаты, и переходим к следующему этапу.</p>
<p>Прг.АТМОСФЕРА-1</p>
<div class="highlight"><pre><span></span><code><span class="mf">00.</span><span class="n">Сx</span><span class="w"> </span><span class="mf">01.</span><span class="n">ИПA</span><span class="w"> </span><span class="mf">02.</span><span class="o">+</span><span class="w"> </span><span class="mf">03.</span><span class="n">ПA</span><span class="w"> </span><span class="mf">04.</span><span class="n">ИП7</span><span class="w"> </span><span class="mf">05.</span><span class="o">-</span><span class="w"> </span><span class="mf">06.</span><span class="n">Fx</span><span class="o"><</span><span class="mf">0</span><span class="w"> </span><span class="mf">07.09</span><span class="w"> </span><span class="mf">08.</span><span class="n">K</span><span class="o">-</span><span class="w"> </span><span class="mf">09.</span><span class="n">FL1</span>
<span class="mf">10.18</span><span class="w"> </span><span class="mf">11.</span><span class="n">ИП0</span><span class="w"> </span><span class="mf">12.</span><span class="n">ИПB</span><span class="w"> </span><span class="mf">13.</span><span class="err">÷</span><span class="w"> </span><span class="mf">14.</span><span class="n">Ftgᐨ¹</span><span class="w"> </span><span class="mf">15.</span><span class="n">С</span><span class="o">/</span><span class="n">П</span><span class="w"> </span><span class="mf">16.</span><span class="n">П3</span><span class="w"> </span><span class="mf">17.</span><span class="n">П1</span><span class="w"> </span><span class="mf">18.</span><span class="n">ИП6</span><span class="w"> </span><span class="mf">19.</span><span class="n">ИПD</span>
<span class="mf">20.</span><span class="n">ИП9</span><span class="w"> </span><span class="mf">21.</span><span class="n">ИП2</span><span class="w"> </span><span class="mf">22.</span><span class="err">×</span><span class="w"> </span><span class="mf">23.</span><span class="o">-</span><span class="w"> </span><span class="mf">24.</span><span class="n">Fx</span><span class="err">≥</span><span class="mf">0</span><span class="w"> </span><span class="mf">25.08</span><span class="w"> </span><span class="mf">26.</span><span class="n">ПD</span><span class="w"> </span><span class="mf">27.</span><span class="n">ИП5</span><span class="w"> </span><span class="mf">28.</span><span class="o">+</span><span class="w"> </span><span class="mf">29.</span><span class="err">÷</span>
<span class="mf">30.</span><span class="n">ИП9</span><span class="w"> </span><span class="mf">31.</span><span class="err">×</span><span class="w"> </span><span class="mf">32.</span><span class="n">ИП7</span><span class="w"> </span><span class="mf">33.</span><span class="n">ИПA</span><span class="w"> </span><span class="mf">34.</span><span class="o">-</span><span class="w"> </span><span class="mf">35.</span><span class="n">ИПE</span><span class="w"> </span><span class="mf">36.</span><span class="err">÷</span><span class="w"> </span><span class="mf">37.</span><span class="n">F10ˣ</span><span class="w"> </span><span class="mf">38.</span><span class="n">ИПE</span><span class="w"> </span><span class="mf">39.</span><span class="n">K</span><span class="err">{</span><span class="n">x</span><span class="err">}</span>
<span class="mf">40.</span><span class="err">÷</span><span class="w"> </span><span class="mf">41.</span><span class="n">ИП0</span><span class="w"> </span><span class="mf">42.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">43.</span><span class="n">ИПB</span><span class="w"> </span><span class="mf">44.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">45.</span><span class="o">+</span><span class="w"> </span><span class="mf">46.</span><span class="n">F</span><span class="err">√</span><span class="w"> </span><span class="mf">47.</span><span class="err">×</span><span class="w"> </span><span class="mf">48.</span><span class="n">ИП5</span><span class="w"> </span><span class="mf">49.</span><span class="n">ИПD</span>
<span class="mf">50.</span><span class="o">+</span><span class="w"> </span><span class="mf">51.</span><span class="err">÷</span><span class="w"> </span><span class="mf">52.</span><span class="n">П8</span><span class="w"> </span><span class="mf">53.</span><span class="n">Fѻ</span><span class="w"> </span><span class="mf">54.</span><span class="n">ИП3</span><span class="w"> </span><span class="mf">55.</span><span class="n">Fsin</span><span class="w"> </span><span class="mf">56.</span><span class="err">×</span><span class="w"> </span><span class="mf">57.</span><span class="n">ИПB</span><span class="w"> </span><span class="mf">58.</span><span class="n">ИПA</span><span class="w"> </span><span class="mf">59.</span><span class="err">÷</span>
<span class="mf">60.</span><span class="n">ИП8</span><span class="w"> </span><span class="mf">61.</span><span class="o">+</span><span class="w"> </span><span class="mf">62.</span><span class="n">ИП0</span><span class="w"> </span><span class="mf">63.</span><span class="err">×</span><span class="w"> </span><span class="mf">64.</span><span class="o">-</span><span class="w"> </span><span class="mf">65.</span><span class="n">ИП2</span><span class="w"> </span><span class="mf">66.</span><span class="err">×</span><span class="w"> </span><span class="mf">67.</span><span class="n">ИП0</span><span class="w"> </span><span class="mf">68.</span><span class="o">+</span><span class="w"> </span><span class="mf">69.</span><span class="n">П0</span>
<span class="mf">70.</span><span class="n">ПП</span><span class="w"> </span><span class="mf">71.98</span><span class="w"> </span><span class="mf">72.</span><span class="n">ИПC</span><span class="w"> </span><span class="mf">73.</span><span class="o">+</span><span class="w"> </span><span class="mf">74.</span><span class="n">ПC</span><span class="w"> </span><span class="mf">75.</span><span class="n">Fѻ</span><span class="w"> </span><span class="mf">76.</span><span class="n">ИП3</span><span class="w"> </span><span class="mf">77.</span><span class="n">Fcos</span><span class="w"> </span><span class="mf">78.</span><span class="err">×</span><span class="w"> </span><span class="mf">79.</span><span class="n">ИП8</span>
<span class="mf">80.</span><span class="n">ИПB</span><span class="w"> </span><span class="mf">81.</span><span class="err">×</span><span class="w"> </span><span class="mf">82.</span><span class="o">-</span><span class="w"> </span><span class="mf">83.</span><span class="n">ИП0</span><span class="w"> </span><span class="mf">84.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">85.</span><span class="n">ИПA</span><span class="w"> </span><span class="mf">86.</span><span class="err">÷</span><span class="w"> </span><span class="mf">87.</span><span class="o">+</span><span class="w"> </span><span class="mf">88.</span><span class="n">ИП4</span><span class="w"> </span><span class="mf">89.</span><span class="n">ИПA</span>
<span class="mf">90.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">91.</span><span class="err">÷</span><span class="w"> </span><span class="mf">92.</span><span class="o">-</span><span class="w"> </span><span class="mf">93.</span><span class="n">ИП2</span><span class="w"> </span><span class="mf">94.</span><span class="err">×</span><span class="w"> </span><span class="mf">95.</span><span class="n">ИПB</span><span class="w"> </span><span class="mf">96.</span><span class="o">+</span><span class="w"> </span><span class="mf">97.</span><span class="n">ПB</span><span class="w"> </span><span class="mf">98.</span><span class="n">FВх</span><span class="w"> </span><span class="mf">99.</span><span class="o">+</span>
<span class="n">A0</span><span class="mf">.2</span><span class="w"> </span><span class="n">A0</span><span class="mf">.</span><span class="err">÷</span><span class="w"> </span><span class="n">A0</span><span class="mf">.</span><span class="n">ИП2</span><span class="w"> </span><span class="n">A0</span><span class="mf">.</span><span class="err">×</span><span class="w"> </span><span class="n">A0</span><span class="mf">.</span><span class="n">В</span><span class="o">/</span><span class="n">О</span>
</code></pre></div>
<p>Регистры:</p>
<ul>
<li>РО - v горизонтальная относительно поверхности</li>
<li>Р1 - цикл автопилота</li>
<li>Р2 - шаг по времени</li>
<li>Р3 - отклонение вектора тяги от вертикали</li>
<li>Р4 - гравитационная постоянная планеты</li>
<li>Р5 - сухая масса корабля</li>
<li>Р6 - удельный импульс (в пустоте).</li>
<li>Р7 - радиус планеты</li>
<li>Р8 - служебный (при останове хранится аэродинамическое ускорение, делённое на скорость)</li>
<li>Р9 - расход топлива, кг в секунду (задаётся как запас топлива , делённый на время работы ступени)</li>
<li>РА - расстояние до центра планеты</li>
<li>РВ - u вертикальная</li>
<li>РС - горизонтальное смещение от старта</li>
<li>РД - масса топлива</li>
<li>РЕ - целая часть - характерный масштаб атмосферы, дробная - величина, обратная аэродинамическому параметру корабля (половина произведения плотности воздуха на нулевой высоте, на площадь миделя, на коэфф.сопротивления)</li>
</ul>
<p>Используется для моделирования работы 2 и 3 ступеней, орбитального участка полёта, торможения, входа в атмосферу, приземления на парашютах. Работа происходит аналогично предыдущей.</p>
<p>Начало работы, после ввода исходных данных - В/О С/П</p>
<ul>
<li>РгХ - отклонение траектории от вертикали</li>
<li>РгY - высота</li>
</ul>
<p>Перед очередным пуском задаём желаемый шаг по времени в П2. В атмосфере (до высот порядка 80 км) желательно задавать не более 5 с.</p>
<p><strong>2 СТУПЕНЬ</strong></p>
<ul>
<li>316 ИПО + ПО (корректировка на скорость вращения Земли по широте Байконура)</li>
<li>20595 П5</li>
<li>3031,29 П6</li>
<li>56534 ПД</li>
<li>297,54 П9</li>
<li>17500,563 ПЕ</li>
<li>Т = 155 - ИП5 650 – П5 (сброс обтекателя)</li>
<li>Т = 190 с - отделение блока А</li>
</ul>
<p><strong>3 СТУПЕНЬ</strong></p>
<ul>
<li>6155 П5</li>
<li>3173,5 П6</li>
<li>16,8 П9</li>
<li>6390 ПД</li>
<li>17500,738 ПЕ</li>
<li>Т = 380 с - отделение 3 ступени</li>
</ul>
<p>Очередной манёвр задаётся командой: вектор тяги ПП время С/П. После отработки топлива происходит аварийный останов (ЕГГОГ по адресу 08). Обнуляем счётчик автопилота 1 П1, В/О С/П - фиксируем скорости и координаты, и переходим к следующему этапу.</p>
<p>При переходе к этапу КК ВОСТОК, для пассивного участка орбитального полёта, П6 обязательно обнулить. Шаг по времени можно увеличить до 100 П2.</p>
<p><strong>КК ВОСТОК</strong></p>
<ul>
<li>6155 П5</li>
<li>3173,5 П6</li>
<li>16,8 П9</li>
<li>6390 ПД</li>
<li>17500,738 ПЕ</li>
<li>Т = 380 с - отделение 3 ступени</li>
</ul>
<p>При выходе в точку схода с орбиты, для включения ТДУ засылаем секундный расход топлива 6 П6, уменьшаем шаг по времени хотя бы до 5 П2. Вектор тяги для тормозного импульса устанавливаем -92 градуса. Для примера, сход с орбиты может выглядеть так:</p>
<div class="highlight"><pre><span></span><code><span class="mf">5</span><span class="w"> </span><span class="n">П2</span><span class="p">,</span><span class="w"> </span><span class="mf">6</span><span class="w"> </span><span class="n">П9</span><span class="p">,</span><span class="w"> </span><span class="n">В</span><span class="o">/</span><span class="n">О</span><span class="w"> </span><span class="n">С</span><span class="o">/</span><span class="n">П</span><span class="p">,</span><span class="w"> </span><span class="mf">92</span><span class="w"> </span><span class="o">/</span><span class="err">–</span><span class="o">/</span><span class="w"> </span><span class="n">ПП</span><span class="w"> </span><span class="mf">9</span><span class="w"> </span><span class="n">С</span><span class="o">/</span><span class="n">П</span>
</code></pre></div>
<p>После отработки ТДУ переходим к этапу СА ВОСТОК.</p>
<p><strong>СА ВОСТОК</strong></p>
<ul>
<li>2460 П5</li>
<li>17500,37 ПЕ</li>
</ul>
<p>При снижении до высоты 80 км шаг по времени 60-100 с П2. Глубже в атмосферу шаг уменьшаем до 5 П2. Во время торможения об атмосферу перегрузку можно контролировать командами ИП8 ИПО Х</p>
<p>Для раскрытия парашютов необходимо на порядок уменьшить дробную часть содержимого РгЕ: с 17500.38 до 17500.04 (тормозной) а затем до 17500.004 (основной). При этом шаг по времени уменьшать до одной-двух десятых секунды - до тех пор, пока скорость не стабилизируется на новом значении.</p>
<p>Дальше можно снова увеличить временной шаг, но только до 1-2 с. Большие значения шага приводят к некорректной работе модели - возникают значительные флуктуации скорости.</p>
<p><strong>ПРОБНЫЕ ПОЛЕТЫ</strong></p>
<p>Практика показала неплохое соответствие с известными данными. С третьей попытки удалось вывести корабль на орбиту с апо- и перигеем 350 / 130 км. Остаток топлива третьей ступени был чуть больше 400 кг.</p>
<p>Спуск с орбиты также происходит штатно. Дельта V тормозной двигательной установки составляет около 150 м/с, вход в плотные слои происходит под углом 2 градуса к горизонту (на индикаторе -88).</p>
<p>Перегрузка при спуске растёт до 8 с небольшим - вполне отвечая реальным значениям для СА. Больше всего возни на спуске доставляют парашюты. Если выводить их с 7 км, время моделирования значительно вырастает. Но поиграться интересно.</p>Первая ступень САТУРН-5 на МК612022-07-27T16:09:00+02:002022-07-27T16:09:00+02:00darth.rightertag:pmk.arbinada.com,2022-07-27:/category/01619.html<p>Опыты с модификациями Пуховской Атмосферы-1 показали, что моделирование первой ступени РН налагает дополнительные сложности к обычной механике, использованной в Лунолётах:</p>
<ul>
<li>Во-первых, добавляется аэродинамическое ускорение (торможение) плотных слоёв атмосферы.</li>
<li>Во-вторых, необходимо учитывать зависимость удельного импульса от давления на высоте полёта.</li>
<li>В-третьих, вектор тяги, по умолчанию должен совпадать с вектором скорости (как …</li></ul><p>Опыты с модификациями Пуховской Атмосферы-1 показали, что моделирование первой ступени РН налагает дополнительные сложности к обычной механике, использованной в Лунолётах:</p>
<ul>
<li>Во-первых, добавляется аэродинамическое ускорение (торможение) плотных слоёв атмосферы.</li>
<li>Во-вторых, необходимо учитывать зависимость удельного импульса от давления на высоте полёта.</li>
<li>В-третьих, вектор тяги, по умолчанию должен совпадать с вектором скорости (как это реализовано в прг.Атмосфера-1 у Пухова)</li>
<li>В-четвёртых, необходимо иметь возможность корректировать вектор тяги (как минимум, при переходе от вертикального старта к параболической траектории подъема на орбиту).</li>
</ul>
<p>Все эти требования учтены в следующей версии программы (надеюсь, окончательной ;)</p>
<p>Программа САТУРН-С1</p>
<div class="highlight"><pre><span></span><code><span class="mf">00.</span><span class="n">Сx</span><span class="w"> </span><span class="mf">01.</span><span class="n">ПxA</span><span class="w"> </span><span class="mf">02.</span><span class="o">+</span><span class="w"> </span><span class="mf">03.</span><span class="n">xПA</span><span class="w"> </span><span class="mf">04.</span><span class="n">Пx7</span><span class="w"> </span><span class="mf">05.</span><span class="o">-</span><span class="w"> </span><span class="mf">06.</span><span class="n">Пx0</span><span class="w"> </span><span class="mf">07.</span><span class="n">ПxB</span><span class="w"> </span><span class="mf">08.</span><span class="err">÷</span><span class="w"> </span><span class="mf">09.</span><span class="n">Ftgᐨ¹</span>
<span class="mf">10.</span><span class="n">xП3</span><span class="w"> </span><span class="mf">11.</span><span class="n">FL1</span><span class="w"> </span><span class="mf">12.16</span><span class="w"> </span><span class="mf">13.</span><span class="n">С</span><span class="o">/</span><span class="n">П</span><span class="w"> </span><span class="mf">14.</span><span class="n">xП2</span><span class="w"> </span><span class="mf">15.</span><span class="n">xП1</span><span class="w"> </span><span class="mf">16.</span><span class="n">Пx6</span><span class="w"> </span><span class="mf">17.</span><span class="n">Пx6</span><span class="w"> </span><span class="mf">18.</span><span class="n">K</span><span class="err">{</span><span class="n">x</span><span class="err">}</span><span class="w"> </span><span class="mf">19.</span><span class="n">Пx7</span>
<span class="mf">20.</span><span class="n">ПxA</span><span class="w"> </span><span class="mf">21.</span><span class="o">-</span><span class="w"> </span><span class="mf">22.</span><span class="n">ПxE</span><span class="w"> </span><span class="mf">23.</span><span class="err">÷</span><span class="w"> </span><span class="mf">24.</span><span class="n">F10ˣ</span><span class="w"> </span><span class="mf">25.</span><span class="n">xП8</span><span class="w"> </span><span class="mf">26.</span><span class="err">×</span><span class="w"> </span><span class="mf">27.</span><span class="err">×</span><span class="w"> </span><span class="mf">28.</span><span class="o">-</span><span class="w"> </span><span class="mf">29.</span><span class="n">ПxD</span>
<span class="mf">30.</span><span class="n">Пx9</span><span class="w"> </span><span class="mf">31.</span><span class="o">-</span><span class="w"> </span><span class="mf">32.</span><span class="n">Fx</span><span class="err">≥</span><span class="mf">0</span><span class="w"> </span><span class="mf">33.49</span><span class="w"> </span><span class="mf">34.</span><span class="n">xПD</span><span class="w"> </span><span class="mf">35.</span><span class="n">Пx5</span><span class="w"> </span><span class="mf">36.</span><span class="o">+</span><span class="w"> </span><span class="mf">37.</span><span class="err">÷</span><span class="w"> </span><span class="mf">38.</span><span class="n">Пx9</span><span class="w"> </span><span class="mf">39.</span><span class="err">×</span>
<span class="mf">40.</span><span class="n">Пx8</span><span class="w"> </span><span class="mf">41.</span><span class="n">ПxE</span><span class="w"> </span><span class="mf">42.</span><span class="n">K</span><span class="err">{</span><span class="n">x</span><span class="err">}</span><span class="w"> </span><span class="mf">43.</span><span class="err">÷</span><span class="w"> </span><span class="mf">44.</span><span class="n">Пx0</span><span class="w"> </span><span class="mf">45.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">46.</span><span class="n">ПxB</span><span class="w"> </span><span class="mf">47.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">48.</span><span class="o">+</span><span class="w"> </span><span class="mf">49.</span><span class="n">F</span><span class="err">√</span>
<span class="mf">50.</span><span class="err">×</span><span class="w"> </span><span class="mf">51.</span><span class="n">Пx5</span><span class="w"> </span><span class="mf">52.</span><span class="n">ПxD</span><span class="w"> </span><span class="mf">53.</span><span class="o">+</span><span class="w"> </span><span class="mf">54.</span><span class="err">÷</span><span class="w"> </span><span class="mf">55.</span><span class="n">xП8</span><span class="w"> </span><span class="mf">56.</span><span class="n">Fѻ</span><span class="w"> </span><span class="mf">57.</span><span class="n">Пx3</span><span class="w"> </span><span class="mf">58.</span><span class="n">Пx2</span><span class="w"> </span><span class="mf">59.</span><span class="o">+</span>
<span class="mf">60.</span><span class="n">xП3</span><span class="w"> </span><span class="mf">61.</span><span class="n">Fsin</span><span class="w"> </span><span class="mf">62.</span><span class="err">×</span><span class="w"> </span><span class="mf">63.</span><span class="n">ПxB</span><span class="w"> </span><span class="mf">64.</span><span class="n">ПxA</span><span class="w"> </span><span class="mf">65.</span><span class="err">÷</span><span class="w"> </span><span class="mf">66.</span><span class="n">Пx8</span><span class="w"> </span><span class="mf">67.</span><span class="o">+</span><span class="w"> </span><span class="mf">68.</span><span class="n">Пx0</span><span class="w"> </span><span class="mf">69.</span><span class="err">×</span>
<span class="mf">70.</span><span class="o">-</span><span class="w"> </span><span class="mf">71.</span><span class="n">Пx0</span><span class="w"> </span><span class="mf">72.</span><span class="o">+</span><span class="w"> </span><span class="mf">73.</span><span class="n">xП0</span><span class="w"> </span><span class="mf">74.</span><span class="n">ПП</span><span class="w"> </span><span class="mf">75.</span><span class="n">A0</span><span class="w"> </span><span class="mf">76.</span><span class="n">ПxC</span><span class="w"> </span><span class="mf">77.</span><span class="o">+</span><span class="w"> </span><span class="mf">78.</span><span class="n">xПC</span><span class="w"> </span><span class="mf">79.</span><span class="n">Fѻ</span>
<span class="mf">80.</span><span class="n">Пx3</span><span class="w"> </span><span class="mf">81.</span><span class="n">Fcos</span><span class="w"> </span><span class="mf">82.</span><span class="err">×</span><span class="w"> </span><span class="mf">83.</span><span class="n">Пx8</span><span class="w"> </span><span class="mf">84.</span><span class="n">ПxB</span><span class="w"> </span><span class="mf">85.</span><span class="err">×</span><span class="w"> </span><span class="mf">86.</span><span class="o">-</span><span class="w"> </span><span class="mf">87.</span><span class="n">Пx0</span><span class="w"> </span><span class="mf">88.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">89.</span><span class="n">ПxA</span>
<span class="mf">90.</span><span class="err">÷</span><span class="w"> </span><span class="mf">91.</span><span class="o">+</span><span class="w"> </span><span class="mf">92.</span><span class="n">Пx4</span><span class="w"> </span><span class="mf">93.</span><span class="n">ПxA</span><span class="w"> </span><span class="mf">94.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">95.</span><span class="err">÷</span><span class="w"> </span><span class="mf">96.</span><span class="o">-</span><span class="w"> </span><span class="mf">97.</span><span class="n">ПxB</span><span class="w"> </span><span class="mf">98.</span><span class="o">+</span><span class="w"> </span><span class="mf">99.</span><span class="n">xПB</span>
<span class="n">A0</span><span class="mf">.</span><span class="n">FВх</span><span class="w"> </span><span class="n">A1</span><span class="mf">.</span><span class="o">+</span><span class="w"> </span><span class="n">A2</span><span class="mf">.2</span><span class="w"> </span><span class="n">A3</span><span class="mf">.</span><span class="err">÷</span><span class="w"> </span><span class="n">A4</span><span class="mf">.</span><span class="n">В</span><span class="o">/</span><span class="n">О</span>
</code></pre></div>
<p>Программа предназначена для моделирования первой ступени Ракеты-носителя Сатурн-5, с помощью которой запускали Аполлоны.</p>
<p>Подойдёт и для других типов РН - Востоков, Союзов, имеющих подобные ограничения</p>
<p>Регистры:</p>
<ul>
<li>РО - v горизонтальная относительно поверхности</li>
<li>Р1 - цикл автопилота</li>
<li>Р2 - отклонение вектора тяги от направления текущей скорости</li>
<li>Р3 - угол отклонения текущей скорости от вертикали</li>
<li>Р4 - гравитационная постоянная планеты</li>
<li>Р5 - сухая масса корабля</li>
<li>Р6 - целая часть - максимальный удельный импульс (в пустоте), дробная часть - отношение разницы между максимальным и минимальным значением импульса, к величине максимального.</li>
<li>Р7 - радиус планеты</li>
<li>Р8 - служебный (при останове хранится аэродинамическое ускорение, делённое на скорость)</li>
<li>Р9 - расход топлива, кг в секунду (задаётся как запас топлива , делённый на время работы ступени)</li>
<li>РА - расстояние до центра планеты</li>
<li>РВ - U вертикальная</li>
<li>РС - горизонтальное смещение от старта</li>
<li>РД - масса топлива</li>
<li>РЕ - целая часть - характерный масштаб атмосферы, дробная - величина, обратная аэродинамическому параметру корабля
(плотность воздуха на нулевой высоте, умноженная на площадь миделя, умноженная на коэфф.сопротивления, делённая на два)</li>
</ul>
<p>Работа начинается со стандартного В/О С/П. В рег.Х - отклонение траектории от вертикали, в рег.Y - текущая высота.</p>
<p>Двигатель работает с постоянным расходом. При желании, его можно поменять в П9.</p>
<p>Манёвр задаётся так: отклонение вектора тяги, градусы ПП время С/П</p>
<p>Если отклонение задавать нулевым, полёт идёт по баллистической траектории. Величину отклонения тяги следует ограничить 3-5 градусами.</p>
<p>Время задаётся только целым числом - оно используется в цикле автопилота.</p>
<p>Контроль высоты отсутствует - для старта это оправдано.</p>
<p>После израсходования топлива, при очередном манёвре происходит аварийный останов по адресу 49. После этого необходимо обнулить счётчик автопилота 1 П1 и нажать В/О С/П.</p>
<p>Зафиксировать параметры, "отстрелить первую ступень" и переходить к следующей ступени.</p>
<p>Для первой ступени Сатурна-5, выводившего Аполлон на орбиту Земли, комплект исходных данных для старта:</p>
<div class="highlight"><pre><span></span><code><span class="mf">6371</span><span class="w"> </span><span class="n">ВП</span><span class="w"> </span><span class="mf">3</span><span class="w"> </span><span class="n">П7</span><span class="w"> </span><span class="p">(</span><span class="n">радиус</span><span class="w"> </span><span class="n">Земли</span><span class="p">)</span>
<span class="n">Fx2</span><span class="w"> </span><span class="mf">9.81</span><span class="w"> </span><span class="n">X</span><span class="w"> </span><span class="n">П4</span><span class="w"> </span><span class="p">(</span><span class="n">гравитационная</span><span class="w"> </span><span class="n">постоянная</span><span class="w"> </span><span class="n">Земли</span><span class="p">)</span>
<span class="n">ИП7</span><span class="w"> </span><span class="mf">70</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">ПА</span><span class="w"> </span><span class="p">(</span><span class="n">начальная</span><span class="w"> </span><span class="n">высота</span><span class="w"> </span><span class="n">старта</span><span class="w"> </span><span class="n">над</span><span class="w"> </span><span class="n">уровнем</span><span class="w"> </span><span class="n">моря</span><span class="p">)</span>
<span class="mf">0</span><span class="w"> </span><span class="n">П0</span><span class="w"> </span><span class="n">ПС</span><span class="w"> </span><span class="n">П2</span>
<span class="mf">0.001</span><span class="w"> </span><span class="n">ПВ</span>
<span class="mf">1</span><span class="w"> </span><span class="n">П1</span><span class="w"> </span><span class="p">(</span><span class="n">инициализация</span><span class="w"> </span><span class="n">автопилота</span><span class="p">)</span>
<span class="mf">787400</span><span class="w"> </span><span class="n">П5</span><span class="w"> </span><span class="p">(</span><span class="n">сухая</span><span class="w"> </span><span class="n">стартовая</span><span class="w"> </span><span class="n">масса</span><span class="w"> </span><span class="n">Аполлона</span><span class="w"> </span><span class="mf">11</span><span class="p">)</span>
<span class="mf">2982.1274</span><span class="w"> </span><span class="n">П6</span><span class="w"> </span><span class="p">(</span><span class="n">характеристика</span><span class="w"> </span><span class="n">удельного</span><span class="w"> </span><span class="n">импульса</span><span class="p">)</span>
<span class="mf">2155600</span><span class="w"> </span><span class="n">ПД</span><span class="w"> </span><span class="mf">160</span><span class="w"> </span><span class="err">÷</span><span class="w"> </span><span class="p">(</span><span class="mf">13472.5</span><span class="p">)</span><span class="w"> </span><span class="n">П9</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">запас</span><span class="w"> </span><span class="n">топлива</span><span class="w"> </span><span class="n">и</span><span class="w"> </span><span class="n">удельный</span><span class="w"> </span><span class="n">расход</span><span class="w"> </span><span class="n">для</span><span class="w"> </span><span class="mf">160</span><span class="w"> </span><span class="n">секунд</span>
<span class="mf">17500.006</span><span class="w"> </span><span class="n">ПЕ</span><span class="w"> </span><span class="p">(</span><span class="n">масштаб</span><span class="w"> </span><span class="n">атмосферы</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">аэродинамический</span><span class="w"> </span><span class="n">параметр</span><span class="p">)</span>
</code></pre></div>
<p>Работу второй ступени хорошо моделирует прг.АТМОСФЕРА-1 (переработанная) из моего <a href="https://pmk.arbinada.com/category/01617.html">прошлого поста</a></p>
<p>Она моделирует сопротивление атмосферы, но не учитывает зависимость удельного импульса от высоты,</p>
<p>Для высот, с которых запускается вторая ступень, это вполне оправдано.</p>
<p>Переход ко второй ступени удобно производить в два этапа:</p>
<p>1) корректируем содержимое регистров</p>
<div class="highlight"><pre><span></span><code><span class="mf">212281</span><span class="w"> </span><span class="n">П5</span>
<span class="mf">443719</span><span class="w"> </span><span class="n">ПД</span>
<span class="mf">4130</span><span class="w"> </span><span class="n">П6</span>
<span class="mf">360</span><span class="w"> </span><span class="err">÷</span><span class="w"> </span><span class="p">(</span><span class="mf">1232</span><span class="p">,</span><span class="mf">5527</span><span class="p">)</span><span class="w"> </span><span class="n">П9</span>
<span class="mf">408.6</span><span class="w"> </span><span class="n">ИПО</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">ПО</span><span class="w"> </span><span class="p">(</span><span class="n">переходим</span><span class="w"> </span><span class="n">от</span><span class="w"> </span><span class="n">вращающейся</span><span class="w"> </span><span class="n">с</span><span class="w"> </span><span class="n">поверхностью</span><span class="w"> </span><span class="n">СК</span><span class="w"> </span><span class="n">к</span><span class="w"> </span><span class="n">неподвижной</span><span class="p">)</span>
</code></pre></div>
<p>2) загружаем в память ПМК код АТМОСФЕРА-1.txt (txt не трогает содержимое регистров, меняя только программный код)</p>
<p>На практике, для первого шага также удобно один раз тупо вбить последовательность нажатий клавиш в режиме ПРГ и сохранить в файл txt</p>
<p>Вообще, оценил возможность работы импорта/экспорта именно в текстовом формате - это открывает неожиданные возможности для работы на эмуляторе МК61.</p>
<p>Например, использовать подобный метод для пролёта баллистической части "болтания на орбите", по формулам из "Гравилёта", которые обеспечивают сохранение момента и энергии.</p>
<p>А это, помимо повышения точности, даст возможность использовать расчёты гомановских переходов, чего не позволяла математика "лунолётов".</p>
<p>Думаю заняться этим позднее...</p>Аполлон 11. Старт с Земли (МК61)2022-07-22T02:20:00+02:002022-07-22T02:20:00+02:00darth.rightertag:pmk.arbinada.com,2022-07-22:/category/01617.html<p>Очередная годовщина - повод снова засесть за пульт МК 61. Посадку лунного модуля и старт с Луны - задачи решённые, пора двигаться дальше.</p>
<p>А не замахнуться ли нам на Вильяма, нашего, Шекспира, подумалось мне. После некоторых размышлений, я решил попробовать смоделировать миссию с самого начала: со старта от мыса Канаверал и выхода …</p><p>Очередная годовщина - повод снова засесть за пульт МК 61. Посадку лунного модуля и старт с Луны - задачи решённые, пора двигаться дальше.</p>
<p>А не замахнуться ли нам на Вильяма, нашего, Шекспира, подумалось мне. После некоторых размышлений, я решил попробовать смоделировать миссию с самого начала: со старта от мыса Канаверал и выхода на околоземную орбиту. Среди "ортодоксальных" космических программ КЭИ (Атмосфера 1, 2 и 3), стартовать с Земли можно только на первой.</p>
<p>На подобные подвиги редакция КЭИ не замахивалась, хотя в эпизоде 8 "Разбуди в апогее", где она использовалась, утверждалось, что Атмосфера 1
предназначена для численного моделирования различных маневров космических аппаратов (ВЗЛЁТ, выход на круговые и эллиптические орбиты, баллистический полет в атмосфере, снижение на парашютах, посадка) в непосредственных окрестностях планет, окруженных газовыми оболочками.</p>
<p>АТМОСФЕРА-1 (КЭИ)</p>
<div class="highlight"><pre><span></span><code>00.Сх 01.ИПА 02.+ 03.ПА 04.ИП7 05.-
06.Fx<0 07.13 08.ИПВ 09./-/ 10.÷
11.БП 12.56 13.С/П 14.П8 15.П2 16.÷
17.ИП6 18.× 19.ИПВ 20.Fx2 21.ИП0
22.Fx2 23.+ 24.П9 25.÷ 26.ИП7
27.ИПА 28.- 29.ИП3 30.÷ 31.9 32.+
33.Fx<0 34.36 35.Сх 36.9 37.-
38.F10x 39.ИП1 40.× 41.- 42.ИПД
43.ИП8 44.- 45.Fx≥0 46.00 47.ПД
48.ИП5 49.+ 50.÷ 51.ИП9 52.F√
53.× 54.П9 55.ИП2 56.ИП9 57.ИПВ
58.ИПА 59.÷ 60.- 61.ИП0 62.× 63.×
64.ИП0 65.+ 66.П0 67.ПП 68.92
69.ИПА 70.÷ 71.Farcsin 72.ИПС 73.+
74.ПС 75.Fo 76.ИП0 77.Fx2 78.ИП4
79.ИПА 80.÷ 81.- 82.ИПА 83.÷
84.ИП9 85.ИПВ 86.× 87.+ 88.×
89.ИПВ 90.+ 91.ПВ 92.FВх 93.+
94.× 95.2 96.÷ 97.В/О
</code></pre></div>
<p>Регистры:</p>
<ul>
<li>Р0 - V</li>
<li>P1 - Po*Sx/2</li>
<li>P2 - dt</li>
<li>P3 - H (характерный масштаб атмосферы)</li>
<li>Р4 - К (гравитационная постоянная планеты)</li>
<li>Р5 - сухая масса корабля</li>
<li>Р6 - скорость истечения топлива</li>
<li>Р7 - радиус планеты</li>
<li>Р8 - расход топлива</li>
<li>Р9 - служебный</li>
<li>РА - расстояние до центра планеты</li>
<li>РВ - U вертикальная</li>
<li>РС - угловая координата</li>
<li>РД - масса топлива</li>
</ul>
<p>В принципе, взлететь на ней действительно можно. Можно даже попробовать выйти на орбиту. Для этого нужно в точке старта задать необходимое соотношение минимальных вертикальной и горизонтальной скоростей, соответствующих углу отклонения от вертикали примерно в 10 градусов. Далее траектория будет постепенно наклоняться к горизонту. В теории, можно подобрать такой начальный угол запуска, чтобы вертикальная скорость занулилась при достижении круговой скорости, что и будет соответствовать ситуации выхода на орбиту, но такая траектория будет значительно отличаться от траекторий, используемых на практике. Существенным недостатком Атмосферы-1 является невозможность управления вектором тяги. Кроме того, при полёте в атмосфере КЭИ рекомендует установить шаг по времени не более 5 секунд. Если учесть, что время работы только первых двух ступеней (160 + 360 секунд), количество операций составит порядка 100, что достаточно утомительно. Тут настоятельно необходим автопилот.
Однако, свободных регистров у нас только один - РЕ! Похоже, что придётся выбирать - или автопилот, или коррекция вектора тяги. Использовать Рег.Т стека не получиться, его придётся задействовать для промежуточного хранения либо реактивного, либо аэродинамического ускорения.</p>
<p>В итоге, мне пришла в голову счастливая идея - совместить значение масштаба атмосферы и аэродинамический параметр корабля в одном регистре, используя целую и дробную части по отдельности. К целочисленному значению масштаба прибавляем величину, обратную аэродинамическому параметру. А для извлечения необходимой константы использовать штатные функции МК61 выделения целой или дробной части. Теперь всё сходится - можно пробовать писать код. В результате получился мой вариант программы:</p>
<p>АТМОСФЕРА-1</p>
<div class="highlight"><pre><span></span><code><span class="mf">00.</span><span class="n">Сx</span><span class="w"> </span><span class="mf">01.</span><span class="n">ПxA</span><span class="w"> </span><span class="mf">02.</span><span class="o">+</span><span class="w"> </span><span class="mf">03.</span><span class="n">xПA</span><span class="w"> </span><span class="mf">04.</span><span class="n">Пx7</span><span class="w"> </span><span class="mf">05.</span><span class="o">-</span><span class="w"> </span><span class="mf">06.</span><span class="n">Fx</span><span class="o"><</span><span class="mf">0</span><span class="w"> </span><span class="mf">07.09</span><span class="w"> </span><span class="mf">08.</span><span class="n">K</span><span class="o">-</span><span class="w"> </span><span class="mf">09.</span><span class="n">FL1</span>
<span class="mf">10.18</span><span class="w"> </span><span class="mf">11.</span><span class="n">Пx0</span><span class="w"> </span><span class="mf">12.</span><span class="n">ПxB</span><span class="w"> </span><span class="mf">13.</span><span class="err">÷</span><span class="w"> </span><span class="mf">14.</span><span class="n">Ftgᐨ¹</span><span class="w"> </span><span class="mf">15.</span><span class="n">С</span><span class="o">/</span><span class="n">П</span><span class="w"> </span><span class="mf">16.</span><span class="n">xП3</span><span class="w"> </span><span class="mf">17.</span><span class="n">xП1</span><span class="w"> </span><span class="mf">18.</span><span class="n">Пx6</span><span class="w"> </span><span class="mf">19.</span><span class="n">ПxD</span>
<span class="mf">20.</span><span class="n">Пx9</span><span class="w"> </span><span class="mf">21.</span><span class="n">Пx2</span><span class="w"> </span><span class="mf">22.</span><span class="err">×</span><span class="w"> </span><span class="mf">23.</span><span class="o">-</span><span class="w"> </span><span class="mf">24.</span><span class="n">Fx</span><span class="err">≥</span><span class="mf">0</span><span class="w"> </span><span class="mf">25.08</span><span class="w"> </span><span class="mf">26.</span><span class="n">xПD</span><span class="w"> </span><span class="mf">27.</span><span class="n">Пx5</span><span class="w"> </span><span class="mf">28.</span><span class="o">+</span><span class="w"> </span><span class="mf">29.</span><span class="err">÷</span>
<span class="mf">30.</span><span class="n">Пx9</span><span class="w"> </span><span class="mf">31.</span><span class="err">×</span><span class="w"> </span><span class="mf">32.</span><span class="n">Пx7</span><span class="w"> </span><span class="mf">33.</span><span class="n">ПxA</span><span class="w"> </span><span class="mf">34.</span><span class="o">-</span><span class="w"> </span><span class="mf">35.</span><span class="n">ПxE</span><span class="w"> </span><span class="mf">36.</span><span class="err">÷</span><span class="w"> </span><span class="mf">37.</span><span class="n">F10ˣ</span><span class="w"> </span><span class="mf">38.</span><span class="n">ПxE</span><span class="w"> </span><span class="mf">39.</span><span class="n">K</span><span class="err">{</span><span class="n">x</span><span class="err">}</span>
<span class="mf">40.</span><span class="err">÷</span><span class="w"> </span><span class="mf">41.</span><span class="n">Пx0</span><span class="w"> </span><span class="mf">42.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">43.</span><span class="n">ПxB</span><span class="w"> </span><span class="mf">44.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">45.</span><span class="o">+</span><span class="w"> </span><span class="mf">46.</span><span class="n">F</span><span class="err">√</span><span class="w"> </span><span class="mf">47.</span><span class="err">×</span><span class="w"> </span><span class="mf">48.</span><span class="n">Пx5</span><span class="w"> </span><span class="mf">49.</span><span class="n">ПxD</span>
<span class="mf">50.</span><span class="o">+</span><span class="w"> </span><span class="mf">51.</span><span class="err">÷</span><span class="w"> </span><span class="mf">52.</span><span class="n">xП8</span><span class="w"> </span><span class="mf">53.</span><span class="n">Fѻ</span><span class="w"> </span><span class="mf">54.</span><span class="n">Пx3</span><span class="w"> </span><span class="mf">55.</span><span class="n">Fsin</span><span class="w"> </span><span class="mf">56.</span><span class="err">×</span><span class="w"> </span><span class="mf">57.</span><span class="n">ПxB</span><span class="w"> </span><span class="mf">58.</span><span class="n">ПxA</span><span class="w"> </span><span class="mf">59.</span><span class="err">÷</span>
<span class="mf">60.</span><span class="n">Пx8</span><span class="w"> </span><span class="mf">61.</span><span class="o">+</span><span class="w"> </span><span class="mf">62.</span><span class="n">Пx0</span><span class="w"> </span><span class="mf">63.</span><span class="err">×</span><span class="w"> </span><span class="mf">64.</span><span class="o">-</span><span class="w"> </span><span class="mf">65.</span><span class="n">Пx2</span><span class="w"> </span><span class="mf">66.</span><span class="err">×</span><span class="w"> </span><span class="mf">67.</span><span class="n">Пx0</span><span class="w"> </span><span class="mf">68.</span><span class="o">+</span><span class="w"> </span><span class="mf">69.</span><span class="n">xП0</span>
<span class="mf">70.</span><span class="n">ПП</span><span class="w"> </span><span class="mf">71.98</span><span class="w"> </span><span class="mf">72.</span><span class="n">ПxC</span><span class="w"> </span><span class="mf">73.</span><span class="o">+</span><span class="w"> </span><span class="mf">74.</span><span class="n">xПC</span><span class="w"> </span><span class="mf">75.</span><span class="n">Fѻ</span><span class="w"> </span><span class="mf">76.</span><span class="n">Пx3</span><span class="w"> </span><span class="mf">77.</span><span class="n">Fcos</span><span class="w"> </span><span class="mf">78.</span><span class="err">×</span><span class="w"> </span><span class="mf">79.</span><span class="n">Пx8</span>
<span class="mf">80.</span><span class="n">ПxB</span><span class="w"> </span><span class="mf">81.</span><span class="err">×</span><span class="w"> </span><span class="mf">82.</span><span class="o">-</span><span class="w"> </span><span class="mf">83.</span><span class="n">Пx0</span><span class="w"> </span><span class="mf">84.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">85.</span><span class="n">ПxA</span><span class="w"> </span><span class="mf">86.</span><span class="err">÷</span><span class="w"> </span><span class="mf">87.</span><span class="o">+</span><span class="w"> </span><span class="mf">88.</span><span class="n">Пx4</span><span class="w"> </span><span class="mf">89.</span><span class="n">ПxA</span>
<span class="mf">90.</span><span class="n">Fx²</span><span class="w"> </span><span class="mf">91.</span><span class="err">÷</span><span class="w"> </span><span class="mf">92.</span><span class="o">-</span><span class="w"> </span><span class="mf">93.</span><span class="n">Пx2</span><span class="w"> </span><span class="mf">94.</span><span class="err">×</span><span class="w"> </span><span class="mf">95.</span><span class="n">ПxB</span><span class="w"> </span><span class="mf">96.</span><span class="o">+</span><span class="w"> </span><span class="mf">97.</span><span class="n">xПB</span><span class="w"> </span><span class="mf">98.</span><span class="n">FВх</span><span class="w"> </span><span class="mf">99.</span><span class="o">+</span>
<span class="n">A0</span><span class="mf">.2</span><span class="w"> </span><span class="n">A0</span><span class="mf">.</span><span class="err">÷</span><span class="w"> </span><span class="n">A0</span><span class="mf">.</span><span class="n">Пx2</span><span class="w"> </span><span class="n">A0</span><span class="mf">.</span><span class="err">×</span><span class="w"> </span><span class="n">A0</span><span class="mf">.</span><span class="n">В</span><span class="o">/</span><span class="n">О</span>
</code></pre></div>
<p>Разбирая код Атмосферы-1, обратил внимание, что КЭИ постепенно ушли от программирования в стиле "спагетти", чем они увлекались поначалу. Мой итоговый код также достаточно прост.</p>
<ul>
<li>00 - 08: Вычисление высоты, при отрицательной высоте - аварийный останов. Посадочный блок отсутствует - да он тут и не нужен, на данном этапе "посадка" в любом случае -аварийная.</li>
<li>09 - 10: автопилот</li>
<li>11 - 14: вычисление угла наклона траектории - важный параметр, за которым приходится постоянно следить. Поскольку происходит деление на вертикальную скорость, её необходимо задавать отличную от нуля (тысячные доли м/с).</li>
<li>15 - 17: штатный останов, при котором в рег.Х - угол отклонения траектории от вертикали, в рег.Y - высота. Манёвр задаётся несколько необычно: вектор тяги ПП кол-во циклов автопилота С/П.<br/>
Шаг времени заносится предварительно в П2. Сделал так по подсказке Ajaja, действительно, пользоваться автопилотом в таком режиме гораздо удобнее. Расход топлива в секунду также заносится предварительно в П9. Этот параметр постоянный и определяется делением начальной массы топлива на время работы ступени, что примерно соответствует реальности. Впрочем, ничто не мешает менять его вручную перед каждым новым манёвром, не превышая максимально допустимого.</li>
<li>18 - 31: расчёт реактивного ускорения. По адресу 24 - проверка уровня топлива. Если его не хватает - аварийный останов, сигнализирующий о необходимости отстрела очередной ступени. Переход на следующую ступень приходится делать "вручную" - меняя содержимое регистров 5, 6 и Д. Реактивное ускорение в дальнейшем цепляется за вершину стека, его величину можно смотреть в рег.Z при очередном останове.</li>
<li>32 - 52: расчёт аэродинамического ускорения, делённого на курсовую скорость (хранится в дальнейшем в рег.8). Вертикальная и горизонтальная компонента торможения атмосферой считаются в дальнейшем простым умножением на U и V соответственно.</li>
<li>53 - 74: Расчет горизонтальной скорости и смещения.</li>
<li>75 - А4: Расчет вертикальной скорости и вертикального смещения.</li>
</ul>
<p>По сравнению с Атмосферой 1 КЭИ, в рег.1 теперь счётчик автопилота, масштаб атмосферы и аэродинамический параметр корабля хранятся в рег.Е, а освободившийся рег.3 использован для хранения угла вектора тяги.</p>
<p>При работе с программой необходимо учитывать следующие ограничения:</p>
<ol>
<li>Максимальная высота орбиты - 1732 км. При большей высоте происходит аварийный останов по адресу 37.</li>
<li>Вертикальная скорость не должна обращаться в ноль. В полёте, как правило, этого не происходит, главное - не забыть задать минимальную величину на старте.</li>
</ol>
<p>А вот комплект исходных данных для старта:</p>
<ul>
<li>6371 ВП 3 П7 (радиус Земли)</li>
<li>Fx2 9.81 X П4 (гравитационная постоянная Земли)</li>
<li>ИП7 70 + ПА (начальная высота старта над уровнем моря)</li>
<li>0 П0 ПС</li>
<li>0.001 ПВ</li>
<li>1 П1 (инициализация автопилота)</li>
<li>1 П2 (шаг по времени. До высот 80 км не рекомендуется задавать больше 5 сек.)</li>
</ul>
<p>Для первой ступени Сатурна-5, выводившего Аполлон на орбиту Земли, на основе данных приведённых в Вики, а также вот <a href="https://web.archive.org/web/20120618054155/http://epizodsspace.airbase.ru/bibl/raketostr3/1-1.html">этого источника</a></p>
<ul>
<li>787400 П5 (сухая стартовая масса Аполлона 11)</li>
<li>2580 П6 (удельный импульс) Для кислорода с керосином удельный импульс в вакууме составит примерно 3660 м/с (родные цифры из лунной эпопеи Кон-Тики!). Но в плотной атмосфере земли импульс уменьшается до указанных 2580.</li>
<li>2155600 ПД</li>
<li>17500 В1 173 F1/x + ПЕ (173 взят исходя из диаметра 13 м., коэфф.сопротивления принят за 2)</li>
<li>ИПД 162 / П9 (секундный расход топлива первой ступени) Эта величина соответствует максимальной тяге в 34343 кН у поверхности. В реальности, с набором высоты и падением давления тяга будет увеличиваться за счёт роста удельного импульса. Реализовать это средствами МК61 малореально. Выход я вижу только один - несколько увеличить величину импульса, по отношению к "нулевому". Насколько увеличивать - покажут пробные полёты...</li>
</ul>
<p>Данные введены, нажимаем В/О С/П. На экране ноль - мизерная вертикальная скорость при нулевой горизонтальной, естественно, даёт нулевой угол отклонения от вертикали. В рег.Y - высота над уровнем моря (70 м).</p>
<p>Для старта вводим угол вектора тяги, ПП, количество циклов автопилота, С/П.</p>
<p>Пристегнулись и поехали!</p>Тест производительности МК-161 - золотое сечение2022-02-16T21:23:00+01:002022-02-16T21:23:00+01:00Дробышевtag:pmk.arbinada.com,2022-02-16:/category/01611.html<p>Программа рассчитывает либо 512 знаков золотого сечения и результат помещает в регистры, либо 12288 знаков и результат размещает в блокноте. Эмулятор Павла Петрова на моем ноутбуке в первом случае отрабатывает 7-8 секунд на максимальной скорости, а во втором - около 320 секунд. Вычислительная сложность где-то <code>N log(N)</code>. Хотелось бы знать …</p><p>Программа рассчитывает либо 512 знаков золотого сечения и результат помещает в регистры, либо 12288 знаков и результат размещает в блокноте. Эмулятор Павла Петрова на моем ноутбуке в первом случае отрабатывает 7-8 секунд на максимальной скорости, а во втором - около 320 секунд. Вычислительная сложность где-то <code>N log(N)</code>. Хотелось бы знать, сколько будет работать реальная машинка и корректно ли. С блокнотом лучше не экспериментировать, т.к. по документации он рассчитан на ограниченное число перезаписей.</p>
<p>Фишки следующие:</p>
<ul>
<li>квадратный корень из пяти вычисляется итерациями, каждая итерация практически удваивает число знаков;</li>
<li>для реализации умножения длинных чисел используется быстрое преобразование Фурье (БПФ);</li>
<li>БПФ оформлено рекурсивно;</li>
<li>для этого потребовался программный стек для передачи параметров в рекурсивную функцию;</li>
<li>раз есть стек, то и для других подпрограмм параметры можно класть на стек.</li>
</ul>
<p>Итого около 2000 шагов кода. Не знаю, есть ли зарубежные калькуляторы, на которых можно руками запрограммировать БПФ.</p>
<p><a href="https://pmk.arbinada.com/files/mk161_golden_ratio.mkl">Исходный текс, MKL</a></p>Калькуляторы в Московском Доме Книги2021-11-18T13:26:00+01:002021-11-18T13:26:00+01:00AtHtag:pmk.arbinada.com,2021-11-18:/category/01606.html<p>Дом Книги на Новом Арбате продаёт калькуляторы с советских времён. Скоро ему исполнится 50 лет.</p>
<p>Самые интересные CASIO на прилавке, цены в рублях:</p>
<ul>
<li>fx-991EX, 3500</li>
<li>fx-220 PLUS 2nd edition, 1400</li>
<li>fx-82 EX, 1850</li>
<li>fx-82 ES PLUS 2nd edition, 1950</li>
</ul>
<p>Citizen:</p>
<ul>
<li>SR-260N, 1700</li>
<li>SR-135N, 1750</li>
<li>SR-270N, 2100</li>
</ul>
<p>STAFF, Китай:</p>
<ul>
<li>STF-245, 800 …</li></ul><p>Дом Книги на Новом Арбате продаёт калькуляторы с советских времён. Скоро ему исполнится 50 лет.</p>
<p>Самые интересные CASIO на прилавке, цены в рублях:</p>
<ul>
<li>fx-991EX, 3500</li>
<li>fx-220 PLUS 2nd edition, 1400</li>
<li>fx-82 EX, 1850</li>
<li>fx-82 ES PLUS 2nd edition, 1950</li>
</ul>
<p>Citizen:</p>
<ul>
<li>SR-260N, 1700</li>
<li>SR-135N, 1750</li>
<li>SR-270N, 2100</li>
</ul>
<p>STAFF, Китай:</p>
<ul>
<li>STF-245, 800</li>
<li>STF-169, 1300</li>
<li>STF-310, 990</li>
</ul>
<p>Подробнее про эти модели на сайте магазина. Критерий интересности включает научные, инженерные, программируемые и графические. Не включает простейшие и бухгалтерские.</p>
<p><img alt="Прилавок" src="https://pmk.arbinada.com/files/calcdomknigi2021sm.jpeg">]</p>Плотно упакованные десятичные (DPD) и их использование для увеличения разрядности регистров ЭКВМ.2021-11-10T10:10:00+01:002021-11-10T10:10:00+01:00AtHtag:pmk.arbinada.com,2021-11-10:/category/01603.html<p>Особенность архитектуры отечественных ЭКВМ — регистры стека (X, Y, Z, T и X1) хранят 14 десятичных знаков «мантиссы», а десятичные регистры (R0…R999) — только 12. Применив технологию <em>плотной упаковки</em> десятичных разрядов (DPD) можно сохранять в регистрах все 14 разрядов, размещая их в том же, или меньшем объёме памяти.</p>
<p>Сейчас новосибирские «Электроника …</p><p>Особенность архитектуры отечественных ЭКВМ — регистры стека (X, Y, Z, T и X1) хранят 14 десятичных знаков «мантиссы», а десятичные регистры (R0…R999) — только 12. Применив технологию <em>плотной упаковки</em> десятичных разрядов (DPD) можно сохранять в регистрах все 14 разрядов, размещая их в том же, или меньшем объёме памяти.</p>
<p>Сейчас новосибирские «Электроника МК-152» и «Электроника МК-161» последовательно используют <a href="https://ru.wikipedia.org/wiki/Двоично-десятичный_код">двоично-десятичный код</a> (BCD), в том числе для хранения в регистрах десятичных чисел. Во второй половине XX века двоично-десятичный код действительно широко применяли, например в советских ПМК и ЕС ЭВМ. В упакованном BCD-коде каждая десятичная цифра занимает 4 бита. Для хранения 12 разрядов «мантиссы» в так называемом «внутреннем формате» отведены 12×4=48 бит, то есть 6 байт. Применив более современные достижения компьютерных наук, в эти шесть байт относительно несложно записать не 12, а все 14 разрядов десятичных чисел и даже знак «мантиссы» — сэкономив по байту на каждом десятичном регистре ЭКВМ!</p>
<p><strong>Плотная</strong> упаковка основана на том простом факте, что 2<sup>10</sup>=1024 чуть больше 1000. Этот факт позволяет, например, измерять память в килобайтах — в 1 Килобайте 1024 байт, что довольно близко к привычным 1000 граммам в 1 килограмме. Итого для хранения трёх десятичных знаков (чисел от 000 до 999) вполне достаточно 10 бит, хотя в упакованном BCD они займут 3×4=12 бит, на 2 бита больше необходимого.</p>
<p>Революционная технология DPD (впервые опубликована <a href="https://en.wikipedia.org/wiki/Mike_Cowlishaw">Mike Cowlishaw</a> из IBM в 2002 году, англ.) позволяет <em>упаковать три десятичных знака в 10 бит</em> и распаковать их обратно гораздо быстрее, чем перевод чисел от 0 до 999 в двоичную систему счисления. Плотная упаковка посложнее упакованного BCD, но также не использует умножения и деления, ограничиваясь быстрыми двоичными сдвигами. При плотной упаковке биты трёх BCD-закодированных десятичных цифр хитро перетасовываются, чтобы уложиться в 10 бит после нескольких проверок, помогающих сэкономить память. Подробности, с примерами, см. в английской Википедии, статья «Densely packed decimal» (<a href="https://en.wikipedia.org/wiki/Densely_packed_decimal">англ.</a>). Вот снимок основной таблицы этой статьи — слева «плотные» 10 бит DPD (b9…b0), справа старые добрые 3×4=12 бит BCD (тетрады d2, d1 и d0). Если возникнут языковые или другие трудности в понимании этих материалов, можем обсудить тонкости DPD-кода в комментариях.</p>
<p><img alt="DPD, англ." src="https://pmk.arbinada.com/files/dpd_encoding_rules.jpg"></p>
<p>12 десятичных знаков можно разбить на <em>четыре группы по три знака</em>, которые в плотной упаковке займут 4×10=40 бит, то есть 5 байт. Освободившийся шестой байт легко использовать для хранения 2 оставшихся десятичных знаков, пусть даже в BCD. Если же последовательно придерживаться стандарта DPD (при d2=0abc=0000), один бит шестого байта остаётся свободным. Действительно, раз в 7 бит можно записать 2<sup>7</sup>=128 разных состояний, их вполне достаточно для хранения двух разрядов (чисел от 00 до 99). Свободный бит шестого байта можно задействовать, как знаковый — вместо первого из восьми байт «внутреннего формата», высвобождение которого принесёт [экономию в 1000 байт] на тысячу десятичных регистров «Электроники» и позволяет [добавить 9360 записей] (2340 групп) в усовершенствованный «электронный блокнот».</p>
<p>Конечно, это усовершенствование потребует доработки регистров функций. Можно либо документировать изменение «внутреннего формата», либо добавить функции для перевода чисел из нового формата в старый и обратно. Будучи частью международного стандарта ISO/IEC 60559:2020 (и более старого ISO/IEC 60559:2011, <a href="https://en.wikipedia.org/wiki/IEEE_754">англ.</a>), технология DPD не должна иметь ограничений в использовании и сложностей в реализации — было бы у производителя ЭКВМ (кто имеет законный доступ к прошивке) умение и желание улучшать свои не самые дешёвые устройства.</p>Новости ЕГГОГологии2021-08-24T14:16:00+02:002021-08-24T14:16:00+02:00site_editortag:pmk.arbinada.com,2021-08-24:/category/01522.html<p>Новые открытия в глубинах числового океана</p><h1>Чеклист анти-Тьмы</h1>
<p>Предлагаю подготовить список испытаний для «волшебной кнопки», избавляющей римейк МК-61 от «Тьмы» и других «неизлечимых» глюков, обнаруженных в советских ПМК. Пожалуйста, добавляйте, от чего ещё вам хотелось бы наконец-то получить палочку-выручалочку (и примеры-тесты, где их пока нет):</p>
<ol>
<li>Каноничная Тьма, тест 1а: 1 ВП 70 Fx2 «ЕГГOГ» Fx2 «3ГГOГ» Fx2. Тоже самое при вычислениях по программе, тест 1б: Cx 70 F10x Fx2 Fx2 Fx2 КНОП Cx С/П.</li>
<li>Тьма в мире хвостов 0С-оборотней (оборотни первого порядка от 1 ВП 450 до 9,9999999 ВП 469 и оборотни второго порядка от 1 ВП 445 до 9,9999999 ВП 446), включая захваченные ею смежные искажённые этажи С-EГГ0Г’ов. Восемь тестов этой серии, разбитых на две группы по 4 теста, см. в комментариях.</li>
<li>Недокументированная команда с кодом 5F, вызывающая зависание процессора ввода/вывода К745ИК1302-2 (Тьму).</li>
<li>Зависание математического процессора К745ИК1303-2, опубликованное Сергеем Фроловым: 55 В↑ К ИНВ К {x} ВП 1 К [x] ÷ (не совсем Тьма, но все функции начинают выдавать EГГ0Г).</li>
<li>«Пустышка» F в старшем разряде мантиссы регистра X. ПМК не зависает, но начинает глючить. Похоже, что от возникновения фальшивой метки (или даже нескольких) стек, регистры и шаги программы начинают непоследовательно записываться и считываться из разнообразных областей кольца, включая обычно недоступную область Ms. Разработка кнопки «сброс Тьмы» позволит проверить этот диагноз и вылечивать ПМК после «пустышки» без его выключения.</li>
<li>Грубейшая ошибка при поимке чудовища 4 этажа: Сx ВП 50 Fx2 Fx2 FВx × С/П ↔ F АВТ. Чудовище переводит ПМК в режим счёта, оно же останавливает счёт на команде с кодом F0 (недокументированный аналог КНОП), но будучи на экране в автоматическом режиме, снова запускает программу и так далее. Кнопка безопасности должна уметь диагностировать эту проблему (незамаскированное чудовище 4 этажа в регистре X) и выводить ПМК из бесконечного цикла, способов много. Лучший из простых это F ПРГ. Чуть похуже Cx, самый еггогологичный — устроить EГГ0Г (сработает ли К- в канале связи?), замаскировав им дикое чудовище (точно также можно «ловить» и Тьму).</li>
<li>Переход в режим программирования по «неправильному» адресу, оканчивающемуся на цифры A–F. Тест 7: БП 1 , F ПРГ</li>
<li>Вызвать C-EГГ0Г («сверхчисла» от 1 ВП 600 до 9,9999999 ВП 699) из регистра C. В принципе, вторая серия тестирует похожие «хвосты», но не помешает отдельно проверить зависание и на классических C-EГГ0Г’ах, не связанных с 0C-оборотнями.</li>
</ol>
<p>Автор: AtH</p>
<h1>С-ЕГГ0Г в ручном режиме!</h1>
<p>Сегодня мне совершенно случайно удалось забраться на 7 этаж со стороны "длинных монстров". Проверено как на оригинальном МК-52, так и на андроидном эмуляторе. Последовательность действий довольно сложная, но вполне логичная, кроме последних команд.</p>
<p>А. Надо подобраться как можно ближе к порядку 700. Например, так:</p>
<ol>
<li>Включаем или перезапускаем аппарат (чтобы вся память была чистой).</li>
<li>Переключатель единиц углов на градусы.</li>
<li>0.01 ВП 99 x^2 (всем известный "монстр").</li>
<li>F АВТ F CF (чтобы не сработало К).</li>
<li>tg tg tg... пока не получим "1.......... 0" (вместо точек какие-то цифры, первая и последняя цифры должны быть строго такими). Ни единым шагом больше - будет тьма.</li>
<li>F АВТ F CF x-П А. В регистре А должно оказаться число с порядком 700 и с мантиссой меньше единицы. Дальше пошла магия.</li>
<li>К П-x А. Тут, судя по всему, срабатывает недокументированная особенность косвенных команд с нецелыми числами.</li>
<li>Cx (F АВТ при необходимости).</li>
<li>П-x A F АВТ (должно быть что-то вроде 7000000020 0) tg. Если всё правильно, весь дисплей должен засветиться нулями. Могут высветиться и другие цифры, если что-то было до того в регистрах, но обязательно должны быть три нуля в разрядах порядка.</li>
<li>X-п А.</li>
</ol>
<p>Проверяем: 1 X-п C Cx П-x A. При вызове из А должно вызываться из С, как и положено С-ЕГГ0Г оборотням.</p>
<p>Автор: siealex</p>