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
Annonceindlæg fra gavdi
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 ...
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
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.