Лунолёт-3 для CASIO CFX-9850G, fx-9860G, fx-7400G+ (с усовершенствованной математикой)

| рубрика «Программы» | автор basvic
Метки: , ,

Предлагается 5 вариантов:

  1. Классический, как у Пухова;
  2. Модель с переменным ускорением реактивного движения (рывком);
  3. Переменное ускорение реактивного движения вычисляется по точной формуле Циолковского;
  4. В модель 3 добавлено деление времени маневра на отрезки с целью более точно учесть остальные параметры полёта, типа ускорение Кориолиса и т.п. До 2-х секунд - 1 отрезок, до 4 - 2, до 8 - 3, до 16 - 4, ... до 256 - 8 , ... Теперь лучше рассчитывается и полёт с выключенным двигателем и полёт на участке разгона - торможения.
  5. Модель движения ещё более точная. Дополнительно к режиму 4 добавлен расчёт "рывка" для кориолиса и для гравитационно-центробежной равнодействующей

Программы:

  • LUNOLET3 - главная программа
  • PRN LUN3 - подпрограмма вывода результатов на экран
  • SUB LUN3 - подпрограмма расчёта параметров полёта оригинальная (алгоритм от Пухова)
  • SUB LUNA - подпрограмма по первому варианту уточнённого алгоритма (с фиксированным приращением реактивного ускорения - "рывком")
  • SUB LUNB - подпрограмма с точным алгоритмом ускорения реактивного движения
  • SUB LUNС - подпрограмма с точным алгоритмом ускорения реактивного движения и делением времени маневра на части.
  • SUB LUND - подпрограмма с точным алгоритмом ускорения реактивного движения и делением времени маневра на части, при этом на каждом элементарном отрезке времени для учёта изменения гравитационно-центробежного и кориолисова ускорений вычисляется "рывок", что значительно повысило точность модели полёта не только на участке разгона/торможения, но и на баллистическом участке.

Упрощённый последовательный вывод данных на экран для калькулятора для CASIO fx-7400G Plus. Дополнительно после приземления вычисляется расстояние в метрах от места старта до места посадки. Если перелёт, то положительное, если недолёт, то отрицательное. Также уточнил значение ускорения свободного падения для Луны во всех вариантах кроме первого. g = 1.62536 м/c2

%Header Record
Format:TXT
Communication SW:0
Data Type:PG
Capacity:723
File Name:LUNOLET3
Group Name:
Password:
Option1:NL
Option2:
Option3:
Option4:
%Data Record
\Deg
"1\(-)CLASSIC"
"2\(-)BETTER"
"3-BEST"
"4\(-)PRECISION"
"5-HI PRECISION"?\->O:0\->N
\If Z<6
\Then 1.62\->G
\Else 1.62536\->G
\IfEnd
3660\->W
1738000\->R
R\->S
2250\->M
3500\->F
0\->U:0\->V:0\->X
\Prog "PRN LUN3"
\Do
\If N<29.43
\Then "DEG"?\->K
"KG"?\->D
\Abs D\->D
"SEC"?\->T
\IfEnd
\If T\<>0
\Then \If D\<=F
\Then F-D\->F
\Else TF/D\->T:F\->D:0\->F
\IfEnd
D/T\->D
\If O=5
\Then \Prog "SUB LUND"
\IfEnd
\If O=4
\Then \Prog "SUB LUNC"
\IfEnd
\If O=3
\Then \Prog "SUB LUNB"
\IfEnd
\If O=2
\Then \Prog "SUB LUNA"
\IfEnd
\If O=1
\Then \Prog "SUB LUN3"
\IfEnd
WD/(M+F)\->N
\IfEnd
\If N>29.43
\Then "OVERLOAD=":N\Disp0\->K
0\->D
\Int (N-29.43)+1\->T
\IfEnd
\If X>400
\Then X-360\->X
\IfEnd
\Prog "PRN LUN3"
\LpWhile (S-R)>0
\While \Abs (R-S)>.001
(S-R)/\Abs U\->T
\If O=5
\Then \Prog "SUB LUND"
\IfEnd
\If O=4
\Then \Prog "SUB LUNC"
\IfEnd
\If O=3
\Then \Prog "SUB LUNB"
\IfEnd
\If O=2
\Then \Prog "SUB LUND"
\IfEnd
\If O=1
\Then \Prog "SUB LUN3"
\IfEnd
\WhileEnd
R\->S
\Prog "PRN LUN3"
\If \sqrt(U\x^2+V\x^2)<7
\Then "LANDING OK"
\Else "LANDING CRASH"
\IfEnd
"DISTANCE(M)"
(X-360)R\Pi/180\Disp\Stop
%End
%Header Record
Format:TXT
Communication SW:0
Data Type:PG
Capacity:115
File Name:PRN LUN3
Group Name:
Password:
Option1:NL
Option2:
Option3:
Option4:
%Data Record
\ClrText
S-R\->H
\sqrt(GR\x^2/S)\->Y
"H =":\Locate 5,1,H
"VN=":\Locate 5,2,U
"VT=":\Locate 5,3,V
"V1=":\Locate 5,4,Y
"\theta(D)=":\Locate 6,5,X
"MF(KG)=":\Locate 8,6,F
\Return
%End
%Header Record
Format:TXT
Communication SW:0
Data Type:PG
Capacity:102
File Name:SUB LUN3
Group Name:
Password:
Option1:NL
Option2:
Option3:
Option4:
%Data Record
WD/(M+F)\->A
A\sin (K)-VU/S\->B
A\cos (K)-G(R/S)\x^2+V\x^2/S\->C
S+T(U+CT/2)\->S
X+(T(V+BT/2))/R/\Pi*180\->X
U+CT\->U
V+BT\->V
\Return
%End
%Header Record
Format:TXT
Communication SW:0
Data Type:PG
Capacity:172
File Name:SUB LUNA
Group Name:
Password:
Option1:NL
Option2:
Option3:
Option4:
%Data Record
WD/(M+F+DT)\->A
WD/(M+F)\->Z
(Z-A)/T\->Z
K\->E
A\sin (E)-UV/S\->B
A\cos (E)-G(R/S)\x^2+V\x^2/S\->C
Z\sin (E)\->P
Z\cos (E)\->Q
S+T(U+CT/2+QT\x^2/6)\->S
X+(T(V+BT/2+PT\x^2/6))/R/\Pi*180\->X
U+T(C+QT/2)\->U
V+T(B+PT/2)\->V
\Return
%End
%Header Record
Format:TXT
Communication SW:0
Data Type:PG
Capacity:156
File Name:SUB LUNB
Group Name:
Password:
Option1:NL
Option2:
Option3:
Option4:
%Data Record
1+DT/(M+F)\->A
\(-)UV/S\->B
V\x^2/S-G(R/S)\x^2\->C
\If D\<>0
\Then W(((M+F)A\In A)/D-T)\->Z
\Else 0\->Z
\IfEnd
K\->E
Z\cos E+S+T(U+CT/2)\->S
X+(Z\sin E+T(V+BT/2))/R/\Pi*180\->X
U+CT+W\In A*\cos E\->U
V+BT+W\In A*\sin E\->V
\Return
%End
%Header Record
Format:TXT
Communication SW:0
Data Type:PG
Capacity:221
File Name:SUB LUNC
Group Name:
Password:
Option1:NL
Option2:
Option3:
Option4:
%Data Record
1\->Q
\If \Abs T\>=2
\Then \Int (\In \Abs T/\In 1.10)+1\->Q
\IfEnd
T/Q\->P
\For Q-1\->I \To 0 \Step \(-)1
1+DP/(M+F+DPI)\->A
\(-)UV/S\->B
V\x^2/S-G(R/S)\x^2\->C
\If D\<>0
\Then W(((M+F+DPI)A\In A)/D-P)\->Z
\Else 0\->Z
\IfEnd
K\->E
Z\cos E+S+P(U+CP/2)\->S
X+(Z\sin E+P(V+BP/2))/R/\Pi*180\->X
U+CP+W\In A*\cos E\->U
V+BP+W\In A*\sin E\->V
\Next
\Return
%End
%Header Record
Format:TXT
Communication SW:0
Data Type:PG
Capacity:324
File Name:SUB LUND
Group Name:
Password:
Option1:NL
Option2:
Option3:
Option4:
%Data Record
1\->Q
\If \Abs T\>=1
\Then \Int (\In \Abs T/\In 1.26)+1\->Q
\IfEnd
T/Q\->P
\For Q-1\->I \To 0 \Step \(-)1
1+DP/(M+F+DPI)\->A
\(-)UV/S\->B
V\x^2/S-G(R/S)\x^2\->C
\If D\<>0
\Then W(((M+F+DPI)A\In A)/D-P)\->Z
\Else 0\->Z
\IfEnd
Z\cos K+S+P(U+CP/2)\->H
U+CP+W\In A*\cos K\->E
V+BP+W\In A*\sin K\->J
(\(-)EJ/H-B)/P\->N
((J\x^2/H-G(R/H)\x^2)-C)/P\->Y
Z\cos K+S+P(U+CP/2+YP\x^2/6)\->S
X+(Z\sin K+P(V+BP/2+NP\x^2/6))/R/\Pi*180\->X
U+CP+YP\x^2/2+W\In A*\cos K\->U
V+BP+NP\x^2/2+W\In A*\sin K\->V
\Next
\Return
%End