Salut tout le monde, je viens de faire mon premier programme (ne me demandez pas l'utilité il est en rapport avec ce que je suis en train de faire en physique, y'a des conversions de temps desfois
) donc c'est un programme où on fait une conversion de temps (ca va de nano seconde à année) en entrant la valeur, l'unité de départ et de fin !
Voilà c'est mon premier programme mon but n'est pas l'optimisation de l'espace, il fait 3803 octets
Voici le code :
:ClrHome
:Lbl AA
:Menu("QUELLE UNITE ?","NANO-SECONDES",N,"MICRO-SECONDES",U,"MILLI-SEC
ONDES",M,"SECONDES",S,"MINUTES",M,"PLUS",P
:Lbl P
:ClrHome
:Menu("QUELLE UNITE ?","HEURES",H,"JOURS",J,"ANNEES",A
:Lbl N
:ClrHome
:Input "COMBIEN ?",S
:ClrHome
:Menu("EN QUOI ?","MICRO-SECONDES",NU,"MILLI-SECONDES",NL,"SECOND
ES",NS,"MINUTES",NM,"HEURES",NH,"JOURS",NJ,"ANNEES
",NA
:Lbl NU
:ClrHome
:S/10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl NL
:ClrHome
:S/10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl NS
:ClrHome
:S/10^9→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl NM
:ClrHome
:S/(60*10^9)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl NH
:ClrHome
:S/(3600*10^9)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl NJ
:ClrHome
:S/(86400*10^9)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl NA
:ClrHome
:S/(31557600*10^9)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl U
:ClrHome
:Input "COMBIEN ?",S
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",UN,"MILLI-SECONDES",UM,"SECONDE
S",US,"MINUTES",UM,"HEURES",UH,"JOURS",UJ,"ANNEES"
,UA
:Lbl UN
:ClrHome
:S*10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl UM
:ClrHome
:S/10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl US
:ClrHome
:S/10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl UM
:ClrHome
:S/(60*10^6)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl UH
:ClrHome
:S/(3600*10^6)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl UJ
:ClrHome
:S/(86400*10^6)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl UA
:ClrHome
:S/(31557600*10^6)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl M
:ClrHome
:Input "COMBIEN ?",S
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",MN,"MICRO-SECONDES",MU,"SECONDE
S",MS,"MINUTES",MM,"HEURES",MH,"JOURS",MJ,"ANNEES"
,MA
:Lbl MN
:ClrHome
:S*10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MU
:ClrHome
:S*10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MS
:ClrHome
:S/10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MM
:ClrHome
:S/(60*10^3)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MH
:ClrHome
:S/(3600*10^3)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MJ
:ClrHome
:S/(86400*10^3)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MA
:ClrHome
:S/(31557600*10^3)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl S
:ClrHome
:Input "COMBIEN ?",S
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",SN,"MICRO-SECONDES",SU,"MILLI-S
ECONDES",SL,"MINUTES",SM,"HEURES",SH,"JOURS",SJ,"A
NNEES",SA
:Lbl SN
:ClrHome
:S*10^9→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl SU
:ClrHome
:S*10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl SL
:ClrHome
:S*10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl SM
:ClrHome
:S/60→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl SH
:ClrHome
:S/3600→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl SJ
:ClrHome
:S/86400→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl SZ
:ClrHome
:S/31557600→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl M
:Input "COMBIEN ?",M
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",MN,"MICRO-SECONDES",MU,"MILLI-S
ECONDES",MM,"SECONDES",MS,"HEURES",MH,"JOURS",MJ,"
ANNEES",MA
:Lbl MN
:ClrHome
:M*60000000000→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MU
:ClrHome
:M*60000000→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MM
:ClrHome
:M*60000→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MS
:ClrHome
:M*60→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MH
:ClrHome
:M/60→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MJ
:ClrHome
:M/1440→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MA
:ClrHome
:M/525960→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl H
:ClrHome
:Input "COMBIEN ?",H
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",HN,"MICRO-SECONDES",HU,"MILLI-S
ECONDES",HM,"SECONDES",HS,"MINUTES",HM,"JOURS",HJ,
"ANNEES",HA
:Lbl HN
:ClrHome
:H*3600*10^9→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl HU
:ClrHome
:H*3600*10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl HM
:ClrHome
:H*3600*10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl HS
:ClrHome
:H*3600
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl HM
:ClrHome
:H*60
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl HJ
:ClrHome
:H/24
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl HA
:ClrHome
:H/8772→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl J
:ClrHome
:Input "COMBIEN ?",J
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",JN,"MICRO-SECONDES",JU,"MILLI-S
ECONDES",JM,"SECONDES",JS,"MINUTES",JM,"HEURES",JH
,"ANNEES",JA
:Lbl JN
:ClrHome
:J*86400*10^9→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl JU
:ClrHome
:J*86400*10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl JM
:ClrHome
:J*86400*10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl JS
:ClrHome
:J*86400
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl JM
:ClrHome
:J*1440
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl JH
:ClrHome
:J*24
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl JA
:ClrHome
:J/365,25→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl A
:ClrHome
:Input "COMBIEN ?",Z
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",AN,"MICRO-SECONDES",AU,"MILLI-S
ECONDES",AM,"SECONDES",AS,"MINUTES",AM,"HEURES",AH
,"JOURS",AJ
:Lbl AN
:ClrHome
:Z*31557600*10^9→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl AU
:ClrHome
:Z*31557600*10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl AM
:ClrHome
:Z*31557600*10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl AS
:ClrHome
:Z*31557600→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl AM
:ClrHome
:Z*525960→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl AH
:ClrHome
:Z*8766
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl AJ
:ClrHome
:Z*365,25→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl Z
:Menu("RECOMMENCER ?","OUI",AA,"NON",ZZ
:Lbl ZZ
:Stop
Enjoy ![]()
Si vous avez des erreurs/suggestions ou autre merci de me les faire parvenir ![]()
Je viens de voir une erreur dans le code !
Ce n'est pas 365,25 mais 365.25 !
La correction
:ClrHome
:Lbl AA
:Menu("QUELLE UNITE ?","NANO-SECONDES",N,"MICRO-SECONDES",U,"MILLI-SEC
ONDES",M,"SECONDES",S,"MINUTES",M,"PLUS",P
:Lbl P
:ClrHome
:Menu("QUELLE UNITE ?","HEURES",H,"JOURS",J,"ANNEES",A
:Lbl N
:ClrHome
:Input "COMBIEN ?",S
:ClrHome
:Menu("EN QUOI ?","MICRO-SECONDES",NU,"MILLI-SECONDES",NL,"SECOND
ES",NS,"MINUTES",NM,"HEURES",NH,"JOURS",NJ,"ANNEES
",NA
:Lbl NU
:ClrHome
:S/10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl NL
:ClrHome
:S/10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl NS
:ClrHome
:S/10^9→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl NM
:ClrHome
:S/(60*10^9)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl NH
:ClrHome
:S/(3600*10^9)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl NJ
:ClrHome
:S/(86400*10^9)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl NA
:ClrHome
:S/(31557600*10^9)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl U
:ClrHome
:Input "COMBIEN ?",S
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",UN,"MILLI-SECONDES",UM,"SECONDE
S",US,"MINUTES",UM,"HEURES",UH,"JOURS",UJ,"ANNEES"
,UA
:Lbl UN
:ClrHome
:S*10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl UM
:ClrHome
:S/10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl US
:ClrHome
:S/10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl UM
:ClrHome
:S/(60*10^6)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl UH
:ClrHome
:S/(3600*10^6)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl UJ
:ClrHome
:S/(86400*10^6)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl UA
:ClrHome
:S/(31557600*10^6)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl M
:ClrHome
:Input "COMBIEN ?",S
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",MN,"MICRO-SECONDES",MU,"SECONDE
S",MS,"MINUTES",MM,"HEURES",MH,"JOURS",MJ,"ANNEES"
,MA
:Lbl MN
:ClrHome
:S*10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MU
:ClrHome
:S*10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MS
:ClrHome
:S/10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MM
:ClrHome
:S/(60*10^3)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MH
:ClrHome
:S/(3600*10^3)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MJ
:ClrHome
:S/(86400*10^3)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MA
:ClrHome
:S/(31557600*10^3)→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl S
:ClrHome
:Input "COMBIEN ?",S
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",SN,"MICRO-SECONDES",SU,"MILLI-S
ECONDES",SL,"MINUTES",SM,"HEURES",SH,"JOURS",SJ,"A
NNEES",SA
:Lbl SN
:ClrHome
:S*10^9→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl SU
:ClrHome
:S*10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl SL
:ClrHome
:S*10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl SM
:ClrHome
:S/60→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl SH
:ClrHome
:S/3600→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl SJ
:ClrHome
:S/86400→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl SZ
:ClrHome
:S/31557600→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl M
:Input "COMBIEN ?",M
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",MN,"MICRO-SECONDES",MU,"MILLI-S
ECONDES",MM,"SECONDES",MS,"HEURES",MH,"JOURS",MJ,"
ANNEES",MA
:Lbl MN
:ClrHome
:M*60000000000→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MU
:ClrHome
:M*60000000→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MM
:ClrHome
:M*60000→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MS
:ClrHome
:M*60→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MH
:ClrHome
:M/60→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MJ
:ClrHome
:M/1440→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl MA
:ClrHome
:M/525960→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl H
:ClrHome
:Input "COMBIEN ?",H
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",HN,"MICRO-SECONDES",HU,"MILLI-S
ECONDES",HM,"SECONDES",HS,"MINUTES",HM,"JOURS",HJ,
"ANNEES",HA
:Lbl HN
:ClrHome
:H*3600*10^9→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl HU
:ClrHome
:H*3600*10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl HM
:ClrHome
:H*3600*10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl HS
:ClrHome
:H*3600
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl HM
:ClrHome
:H*60
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl HJ
:ClrHome
:H/24
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl HA
:ClrHome
:H/8772→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl J
:ClrHome
:Input "COMBIEN ?",J
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",JN,"MICRO-SECONDES",JU,"MILLI-S
ECONDES",JM,"SECONDES",JS,"MINUTES",JM,"HEURES",JH
,"ANNEES",JA
:Lbl JN
:ClrHome
:J*86400*10^9→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl JU
:ClrHome
:J*86400*10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl JM
:ClrHome
:J*86400*10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl JS
:ClrHome
:J*86400
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl JM
:ClrHome
:J*1440
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl JH
:ClrHome
:J*24
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl JA
:ClrHome
:J/365.25→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl A
:ClrHome
:Input "COMBIEN ?",Z
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",AN,"MICRO-SECONDES",AU,"MILLI-S
ECONDES",AM,"SECONDES",AS,"MINUTES",AM,"HEURES",AH
,"JOURS",AJ
:Lbl AN
:ClrHome
:Z*31557600*10^9→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl AU
:ClrHome
:Z*31557600*10^6→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl AM
:ClrHome
:Z*31557600*10^3→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl AS
:ClrHome
:Z*31557600→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl AM
:ClrHome
:Z*525960→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl AH
:ClrHome
:Z*8766
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl AJ
:ClrHome
:Z*365.25→A
:Disp "LE RESULTAT EST",A
:Pause
:Goto Z
:Lbl Z
:Menu("RECOMMENCER ?","OUI",AA,"NON",ZZ
:Lbl ZZ
:Stop
Je n'ai pas de TI, si tu as le courage tu peux essayer ça, c'est une version optimisée, donc si ça marche tu peux essayer de la comprendre.
Au passage tu attribuais 2 fois l'étiquette M : aux millisecondes et aux minutes!
:Lbl ZA
:ST→0
:ClrHome
:Input "COMBIEN ?",T
:Goto ZR
:Lbl ZR
:ClrHome
:Menu("QUELLE UNITE ?","NANO-SECONDES",NS,"MICRO-SECONDES",US,"MILLI-S
ECONDES",MS,"SECONDES",S,"MINUTES",M,"PLUS",ZP
:Lbl ZP
:ClrHome
:Menu("QUELLE UNITE ?","HEURES",H,"JOURS",J,"ANNEES",A,"RETOUR",ZR
:Lbl NS
:10^-9→F
:Goto ZB
:Lbl US
:10^-6→F
:Goto ZB
:Lbl MS
:10^-3→F
:Goto ZB
:Lbl S
:1→F
:Goto ZB
:Lbl M
:60→F
:Goto ZB
:Lbl H
:3600→F
:Goto ZB
:Lbl J
:3600*24→F
:Goto ZB
:Lbl A
:3600*24*365.25→F
:Goto ZB
:Lbl ZB
:If ST = 0
:Then
:T*F→T
:1→ST
:Goto YR
:Else
:T/F→T
:ClrHome
:Disp "LE RESULTAT EST",T
:Pause
:ClrHome
:Menu("RECOMMENCER ?","OUI",ZA,"NON",ZZ
:End
:Lbl YR
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",NS,"MICRO-SECONDES",US,"MILLI-S
ECONDES",MS,"SECONDES",S,"MINUTES",M,"PLUS",YP
:Lbl YP
:ClrHome
:Menu("EN QUOI ?","HEURES",H,"JOURS",J,"ANNEES",A,"RETOUR",YR
:Lbl ZZ
:Stop
Ah oui merci !
As-tu vu d'autres fautes ?
Et pour ton truc avant de le faire j'aimerai le comprendre, donc j'en suis ou tu mets "If ST=0 (condition toujours vraie vu que tu mets au début que ST = 0, tu m'explique l'utilité ?
) et après tu mets T*F->T donc que tu remplace T par T*F or d'où sort F ?
J'attends ta réponse pour continuer, merci ![]()
Ca serait super sympa si tu m'expliquais le déroulement de ton convertisseur car je risque de ne pas comprendre d'autres trucs
![]()
Ah et quand y'a 2 étiquettes similaires c'est celle le plus haut qui es prise quand on fait un Goto ou bien ?
Aucune idée pour cette question, je vais te détailler ce que j'ai fait. Mais comme je suis crevé, que je n'ai pas de TI à porté de main et que ça fait des années que je n'ai pas touché ce langage je peux me foirer.
Super merci ![]()
Et je pense que c'est le plus haut qui est pris en premier, après à voir si ca enchaine sur le deuxieme... ![]()
Je viens de tester, et ca memet Erreur de syntax pour
ST->0
Mais vaut mieux l'enlever non ? a moins qu'il puisse être changé quelque part
Ah je viens de voir c'est parce que une fonction ne peut avoir qu'une lettre/chiffre !
Donc c'est 0->S (et non pas S->0
)
et je remplace ST par S ![]()
Voilà j'ai réctifié et y'a une petite erreur de saut de ligne aussi réctifiée, je retoast ![]()
Ca marche nickel maintenant ![]()
Je te remets le bon code :
:Lbl ZA
:0→S
:ClrHome
:Input "COMBIEN ?",T
:Goto ZR
:Lbl ZR
:ClrHome
:Menu("QUELLE UNITE ?","NANO-SECONDES",NS,"MICRO-SECONDES",US,"MILLI-S
ECONDES",MS,"SECONDES",S,"MINUTES",M,"PLUS",ZP
:Lbl ZP
:ClrHome
:Menu("QUELLE UNITE ?","HEURES",H,"JOURS",J,"ANNEES",A,"RETOUR",ZR
:Lbl NS
:10^-9→F
:Goto ZB
:Lbl US
:10^-6→F
:Goto ZB
:Lbl MS
:10^-3→F
:Goto ZB
:Lbl S
:1→F
:Goto ZB
:Lbl M
:60→F
:Goto ZB
:Lbl H
:3600→F
:Goto ZB
:Lbl J
:3600*24→F
:Goto ZB
:Lbl A
:3600*24*365.25→F
:Goto ZB
:Lbl ZB
:If S=0
:Then
:T*F→T
:1→S
:Goto YR
:Else
:T/F→T
:ClrHome
:Disp "LE RESULTAT EST",T
:Pause
:ClrHome
:Menu("RECOMMENCER ?","OUI",ZA,"NON",ZZ
:End
:Lbl YR
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",NS,"MICRO-SECONDES",US,"MILLI-S
ECONDES",MS,"SECONDES",S,"MINUTES",M,"PLUS",YP
:Lbl YP
:ClrHome
:Menu("EN QUOI ?","HEURES",H,"JOURS",J,"ANNEES",A,"RETOUR",YR
:Lbl ZZ
:Stop
Voilà donc ca marche super merci tu me fais gagner aux alentours de 3 ko
Maintenant tu peux m'expliquer ? ![]()
:ST→0 //cette variable est un statut pour l'étiquette ZB, en effet on va aller à cette étiquette 2 fois, et je veux pouvoir distinguer quand on ne sera pas encore passé et quand on sera passé une fois, on l'initialise à 0 et dans l'étiquette ZB on va l’élever à la valeur 1 indiquant ainsi qu'on n'est déjà passé par là.
Bon maintenant le plus simple c'est de prendre un exemple :
:Lbl ZA
:ST→0
:ClrHome
:Input "COMBIEN ?",T //T=10
:Goto ZR //on va à ZR
:Lbl ZR //on y est
:ClrHome
:Menu("QUELLE UNITE ?","NANO-SECONDES",NS,"MICRO-SECONDES",US,"MILLI-S
ECONDES",MS,"SECONDES",S,"MINUTES",M,"PLUS",ZP //on choisit MILLI-SECONDES donc on va à l'étiquette MS
:Lbl MS //on y est
:10^-3→F //j'indique que le facteur (F) pour passer des millisecondes à des secondes est de 10^-3
:Goto ZB //on va à ZB
:Lbl ZB //on y est
:If ST = 0 //est-on déjà passé par là? Non car ST = 0
:Then //donc on fait :
:T*F→T //Notre valeur rentrée (T) fois le facteur (F) donc on se retrouve avec un résultat en secondes
:1→ST //on change la valeur de ST pour indiquer qu'on est passé ici
:Goto YR //on va à YR
:Lbl YR //on y est
:ClrHome
:Menu("EN QUOI ?","NANO-SECONDES",NS,"MICRO-SECONDES",US,"MILLI-S
ECONDES",MS,"SECONDES",S,"MINUTES",M,"PLUS",YP //on demande en quoi l'utilisateur veut convertir sa valeur, on prend des minutes et donc on va à M
:Lbl M //on y est
:60→F //on indique que le facteur pour passer des secondes à des minutes est F=60
:Goto ZB //on va à ZB
:Lbl ZB //on y est
:If ST = 0 //Est-ce que ST égale à 0? Non puisqu'il est égale à 1 depuis qu'on l'a changé
:Then //du coup on ne fait pas ça
:T*F→T //du coup on ne fait pas ça
:1→ST //du coup on ne fait pas ça
:Goto YR //du coup on ne fait pas ça
:Else //par contre on fait :
:T/F→T //notre valeur T (transformée en secondes depuis le premier passage à cette étiquette) divisée par notre facteur (F=60) et donc on passe T en minutes
:ClrHome
:Disp "LE RESULTAT EST",T
:Pause
:ClrHome
:Menu("RECOMMENCER ?","OUI",ZA,"NON",ZZ
:End
Ah et regarde :
:Lbl ZA
:0→S
:ClrHome
:Input "COMBIEN ?",T
:Goto ZR
:
:Lbl ZR
:ClrHome
:Menu("QUELLE UNITE ?","NANO-SECONDES",NS,"MICRO-SECONDES",US,"MILLI-S
ECONDES",MS,"SECONDES",S,"MINUTES",M,"PLUS",ZP
Je pense remplacer par :
:Lbl ZA
:0→S
:ClrHome
:Input "COMBIEN ?",T
:Lbl ZR
:ClrHome
:Menu("QUELLE UNITE ?","NANO-SECONDES",NS,"MICRO-SECONDES",US,"MILLI-S
ECONDES",MS,"SECONDES",S,"MINUTES",M,"PLUS",ZP
t'en pense quoi ? ![]()
Ah super j'ai compris ![]()
Donc en gros t'as condensé en convertissant d'abord en secondes, puis des secondes avoir des formules prêtes pour aller direct à la valeur voulue et t'as ajouté des If/Else pour ne pas avoir a faire deux fois la même commande ? ![]()
Ah oui en fait bien vu pour le ST→0 c'est bien 0→ST (ou 0→S si on ne peut mettre qu'un caractère).
Et oui tu peux remplacer, j'avais au début pensé réutiliser le label ZR pour demander dans quel unité on convertit mais en fait ça faisait un code plus lourd que celui que je t'ai proposé. Mais j'ai oublié de virer l'étiquette.
Oui je convertit la valeur rentrée par l'utilisateur en secondes puis après dans l'unité qu'il demande.
J'ai rajouté un If/else pour pouvoir réutiliser les formules de conversion, car dans un premier temps on veut multiplier (pour passer en secondes) puis dans un deuxième temps on veut diviser (pour passer dans l'unité demandée).
Le problème étant qu'une fois qu'on a définit le facteur de conversion (F) on est obligé de retourner à la même étiquette qu'on veuille diviser ou multiplier.
Ok ![]()
Donc si on regarde le code :
(on saute quelques trucs peu importants)
Ca demande la valeur de départ, suivant ce qu'on met ca nous envoie un endroit ou ca met a F la valeur pour transmettre en seconde, puis on arrive à ZB où ca met notre valeur en secondes, puis ca renvoit à YR qui demande en quoi on veut, YR va rediriger vers ce qu'on veut pour affecter F afin de transférer les secondes en l'unité voulue, puis ca divisera par F et ca donnera le résultat ?
C'est bien ca non ?
En tout cas merci beaucoup ![]()
Ah et petit truc as-tu des idées de programmes que je pourrai faire pour m'entrainer (pourquoi pas en me donnant 2-3 pistrs
) je ne souhaite pas faire de jeux, je suis en seconde, pourquoi pas faire des trucs pour simplifier les calculs, je sais pas encore ce que je vais faire en maths du coup je dois attendre le déroulement du programme (quand en maths on va commencer à programmer je vais m'emmerder a un point
), je pensais faire Pythagore (easy) et Thalès (faut que je réfléchisse) puis les calculs de volume, mais quoi d'autre ? ![]()
Voilà j'ai mis le programme sur ma calculette en enlevant tous les trucs inutiles histoire de grapiller quelques octets (tout en gardant un txt avec le code) ![]()