Avatar billede jhjorsal Mester
24. maj 2005 - 22:17 Der er 4 kommentarer og
1 løsning

HP calculatores kode

Jeg har en HP 40g Calculators med et program i der ser ud som flg:

HP39AscD 6 AKKORD
INPUT A;"L\198NGDE";"I METER";"DELELIG MED 3";
0:INPUT B;"H\O/JDE";"I METER";"DELELIG MED 2";
0:INPUT C;"KONSOLLER";"ANTAL ";"";
0:INPUT D;"TOPSK\198RM ";" 0 ELLER 1";"0=NEJ  1=JA";
0:INPUT E;"DRAGERE";"ANTAL M ";"ANTAL METER";
0:INPUT F; "R\O/R";"ANTAL M";"ANTAL METER";
0:INPUT G;"KOBLINGER";"ANTAL ";"";
0:INPUT H;"D\198K";"ANTAL";"D\198K SOM GULV";
0:INPUT I;"HJ\O/RNE";"ANTAL";"";
0:INPUT J;"HJ\O/NE BLINDRUM";"ANTAL";"";
0:INPUT K;"TRANSPORT";"ANTAL";"";
0:A/3+1\|>L:B/2\|>M:A/3\|>Q:Q*M\|>N:L*M\
|>O:L*8.70+6\|>X:X+M*12.85\|>X:X+N*5.60\
|>X:X+O*9.10\|>X:X+(B+N)*1.50\|>X:X+C*9.60\
|>X:X+D*Q*12\|>X:X+E*7.60\|>X:X+F*1.25\
|>X:X+G*2.85\|>X:X+H*4.20\|>X:X+I*M*14.60\
|>X:X+J*M*26.40\|>X:X*1.1\|>X:K*X*0.0933\
|>P:X+P\|>Y:Y*1.5*1.05\|>R:R/\Gh\|>S:S*Z\
|>T:T+R\|>U:O*2+L\|>V:ERASE:DISP 1;
"AKKORD OP:    "X:DISP 2;
"AKKORD OP+TR.:"Y:DISP 3;
"AKKORD O+N+TR:"R:DISP 4;
"DYRTIDSTIMER:  "S:DISP 5;
"DYRTID I KR.:  "T:DISP 6;
"R\198KKEMETER:    "V:DISP 7;
"AKKORD M.D-TID:"U:FREEZE

Jeg kan godt regne ud at INPUT kommandoerene ligger en værdi i en variabel og at det hele bliver skrevet ud til sidst, men hvordan får jeg en mening ud af selve beregningen, altså:

0:A/3+1\|>L:B/2\|>M:A/3\|>Q:Q*M\|>N:L*M\
|>O:L*8.70+6\|>X:X+M*12.85\|>X:X+N*5.60\
|>X:X+O*9.10\|>X:X+(B+N)*1.50\|>X:X+C*9.60\
|>X:X+D*Q*12\|>X:X+E*7.60\|>X:X+F*1.25\
|>X:X+G*2.85\|>X:X+H*4.20\|>X:X+I*M*14.60\
|>X:X+J*M*26.40\|>X:X*1.1\|>X:K*X*0.0933\
|>P:X+P\|>Y:Y*1.5*1.05\|>R:R/\Gh\|>S:S*Z\
|>T:T+R\|>U:O*2+L\|>V:ERASE:DISP 1;

findes der et sted hvor jeg kan finde en forklaring på syntaxen, for jeg kan umiddelbart ikke finde noget i manualen.
mvh
Johnny
Avatar billede roenving Novice
25. maj 2005 - 00:13 #1
Har ikke set den slags syntaks før, men det er jo til at gennemskue at:

0: må betyde en basal variabel, som kan være uidentificeret
\xxx eller \X/ betyder en tegn-kode i en streng
; er afslutning af en kommando-linje

\ er afslutning på en kommando blandt flere i en kommando-linje og at
|> er næste kommando i samme linje

X: er en tildeling til variablen X

-- og at DISP x må være vis som linje x i resultat ...

-- men hvodden dælen Q kan have en værdi i første beregningslinje (udtrykket |>Q:Q*M\ ) fatter jeg ikke ,-(

-- ligeledes med første forekomst af X og Z ...
Avatar billede jhjorsal Mester
25. maj 2005 - 20:40 #2
Det gir da lidt mening, der ligger iøvrigt et andet program med nogle konstanter der bruges til beregningerene i dette program:

HP39AscD 10 KONSTANTERMSGBOX "ADVARSEL!
\198NDRING AF V\198RDIERNE VIL \198NDRE RESULTATER":
INPUT Z;" DYRTIDSTIME ";"NYT TAL";"DYRTIDSTIME ER NU: "Z;Z:INPUT \Gh;"REN AKKORD";"NYT TAL";"REN AKKORD ER NU: "\Gh;\Gh:MSGBOX "D.T TIME: "Z"AKKORD:  "\Gh

så der ligger Z formentlig begravet men X og Q kan jeg ikke se får tildelt en værdi
nogen steder og der er ikke flere programmer i hp'en

Jeg har lige sat det lidt pænere op hvis nogen skulle få mere ud af det:

0:A/3+1\
|>L:B/2\
|>M:A/3\
|>Q:Q*M\
|>N:L*M\
|>O:L*8.70+6\
|>X:X+M*12.85\
|>X:X+N*5.60\
|>X:X+O*9.10\
|>X:X+(B+N)*1.50\
|>X:X+C*9.60\
|>X:X+D*Q*12\
|>X:X+E*7.60\
|>X:X+F*1.25\
|>X:X+G*2.85\
|>X:X+H*4.20\
|>X:X+I*M*14.60\
|>X:X+J*M*26.40\
|>X:X*1.1\
|>X:K*X*0.0933\
|>P:X+P\
|>Y:Y*1.5*1.05\
|>R:R/\Gh\
|>S:S*Z\
|>T:T+R\
|>U:O*2+L\
|>V:ERASE:DISP 1;

Det undre mig iøvrigt at man ikke kan finde en forklaring på syntaxen hos HP, for det skulle jo være meningen at man kunne programmere den selv.

mvh
Johnny
Avatar billede jhjorsal Mester
13. juli 2005 - 18:26 #3
Hej roenving
Dit forslag var ikke helt rigtigt, første tildeling lyder som så: A/3+1\|>L osv. med de andre beregninger, men dit forslag fik mig pludselig til at gennemskue det.
Så lig et svar, og tak for hjælpen.
Avatar billede roenving Novice
14. juli 2005 - 06:12 #4
Velbekomme '-)
Avatar billede roenving Novice
16. juli 2005 - 10:31 #5
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester