Прогулка по лунолётам. 2 - User RPL и динамика

На предыдущей прогулке мы выразили почтение авторам классической программы и получили достаточно простую и понятную модель симулятора полёта вблизи лишенных атмосферы планет. Однако, статичность расчетов делала симулятор похожим скорее на учебный пример, чем реалистичную игру. Попробуем добавить динамики с помощью HP-50g и встроенного в него языка RPL.

Прежде всего, немного изменим ввод. Вместо двух рычагов расхода и времени манёвра оставим только один - ускорение. Примем интервал в 1 секунду для дискретизации каждого шага расчетов. Пока обойдёмся без графики, нужно отработать модель на нашем динамическом симуляторе, а движущимися картинками можно будет заняться на одной из следующих прогулок.

Добавим немного сервиса по вводу начальных параметров. Пока используем те же значения, что и у Перепёлкина.

Время пошло (ресурс жизнеобеспечения в первой строке), лунолёт пока стоит на старте. Чтобы сдвинуть его, придадим ускорение, используя стрелку вверх. 1 м/с2... 1,5 м/с2... 2 м/с2... Поехали!

Теперь наберем высоту, сбросим ускорение (стрелка вниз) до нуля или даже придадим отрицательное и будем пробовать плавно прилуниться. Горизонтальные стрелки (вправо и влево) изменяют соответственно на 0,1 м/с2 шаг приращения ускорения вертикальными стрелками, который по умолчанию равен 0,5 м/с2. То есть, нажав стрелку вправо и после стрелку вверх получим приращение уже на 0,6 м/с2

При достижении поверхности компьютер выбросит транспарант "Landing".

Чтобы возобновить полет (дозаправка не предусмотрена), нажмите на кнопку меню "New".

Кнопка "Quit" позволяет в любой момент завершить полёт.

Ниже прикреплен файл с исходный текстом первого варианта программы "Лунолет-1" (расчетный блок, пригоден и для "Лунолет-2"), который можно взять за основу. Как уже упоминалось, язык User RPL позволяет нам манипулировать графическими образами. На следующей прогулке мы попробуем наблюдать траекторию полёта в динамике...

В помощь разработчику и испытателю

Для разработки и тестирования программ очень удобна среда "Debug4x" (http://www.debug4x.com/). Даже если у вас пока нет ПМК типа HP-48/49/50, вы можете прогонять все примеры в этой среде.

File attachments: 
Прикрепленный файлРазмер
Binary Data lunar_ship_01.s3.51 KB
Метки публикаций: 

Комментарии

Придушить учебную курву #1. Сергей, как запустить эту User-RPL программу (lunar_ship_01.s)? Как скопировать ее на SD-карточку, я сам разобрался :)

Я уже не помню. По-моему, заливал через шнурок по Connext4x. А может, на карточке... Для HP программа - это строка, которую он пихает в переменную, а потом надо запустить эту переменную.

Вот здесь есть инструкции: http://pmk.arbinada.com/node/1004

Не, в мк-161 учебная курва значительно меньше :)

Язык. Тут уже не кривая, а целый бастион. Взять который далеко не каждый русофоб и враг отечественного производства может. :-)

В первую очередь для HP 50g надо освоить английский язык. И это ещё самая простая часть работы. Потом прочитать, точнее изучить несколько суровых 1000-страничных томиков на английском. Поэкспериментировав с HP 50g, в конце концов, обнаружишь себя способным на вычисления, но в ужасном отрыве от соотечественников. Даже среди иностранцев владеют этими ПМК очень и очень немногие.

На мой взгляд, развитие МК-161 до ЭКВМ 2.0 (с бесконечным стеком, типами данных, идентификаторами, структурным программированием и т.д.) проще и осмысленней. Больше пользы приносит и себе, и людям.

С английским не проблема. Проблема, как всегда, со временем.
На мой взгляд, развитие МК-161 до ЭКВМ 2.0 (с бесконечным стеком, типами данных, идентификаторами, структурным программированием и т.д.) проще и осмысленней. Больше пользы приносит и себе, и людям.
Согласен на все 100%, но, если ЭКВМ для производителя это не основной бизнес, а, скажем, хобби, то вряд ли мы доживем до ЭКВМ 2.0. Разве что какой хобби проект вдруг вырастет до этого

Англ. Так английский и даёт коэффициент при времени. Можешь сравнить, за сколько ты прочитываешь лист A4 с русским и за сколько с английским текстом — да так, чтобы каждое слово понимать. Результат сильно удивит.

Видимо, раз МК-152 удалось выпустить, ЭКВМ 2.0 тоже получится. Правда наше участие в этом, увы, пока минимально. Разве что немного поможем деньгами, когда модель в серию пойдёт. Возможно, конечно, что проект потянет Сергей Фролов. Если его обошли на старте — не факт, что так продолжится всегда.

Если лист А4 с IT-техническим текстом - то почти столько же времени. Если с медицинским или строительным - то гораздо дольше :)

Сергей Ф.? Не могу даже представить, зачем ему нужно таким заниматься.

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

Технический текст на А4 предпочту на языке оригинала, скорее всего это будет именно английский.

В русском языке большинство терминов, относящихся к ИТ заимствованы из английского. Но те, кто об этом честно говорит и отрицает, что Россия - родина слонов, вне сомнения подкуплены ГосДепом для разрушения отечественного производства ;)

Но те, кто об Но те, кто об этом честно говорит и отрицает, что Россия - родина слонов, вне сомнения подкуплены ГосДепом для разрушения отечественного производства
вне сомнения! :)

Объективно - больше как раз для МК. Меньше кажется за счет того, что обучение прошло в детстве.

Да, команды ПМК в нашем ДНК :)

Сергей, а SD-карточку всегда таскаешь в HP50g?

На КЛК в форуме написали, что при любом нажатии на клавишу HP50g лезет к карточке и, по крайней мере, считывает корневой каталог. Поэтому лучше в корне иметь всегда одну папку, и делать ее корневой для всего остального.

Я к вопросу расхода батарей

Не таскаю совсем, только для переноса файлов использовал, чтобы со шнурками и программкой соединения не возиться.