Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Mar 02 Déc 2008, 20:19
On peut raccourcir la taille de ce programme.
De plus, certains goto sont inutiles car ils sont précédés d'une instruction STOP.
Enfin, il est encore plus raccourcissable mais voici ma version:
Code
:Clrhome
:Menu("--FORCE PISTON--","SORTIE DE TIGE",1,"RENTRE DE TIGE",2
:Pause
:Lbl 1
:Input "PRESSION(BAR):",p
:Input "DIAMETRE(CM);",D
:p[pi]D²/4[sto]F
:f10[sto]N
:Clrhome
:Output(2,2,"LA FORCE EST DE:
:Output(3,2,F
:Output(3,14,"DAN
:Output(5,1,"SOIT:
:Output(5,6,N
:Output(6,1,"NEWTON
:Goto 1
:Lbl 2
:Clrhome
:Input "PRESSION(BAR):",P
:Input "DIAM TIGE(CM):",Z
:Input "DIAM PISTON(CM):",Y
:P[pi](Y²/Z²)/4[sto]F
:F10[sto]N
:Clrhome
:Output(2,2,"LA FORCE EST DE:
:Output(3,2,F
:Output(3,14,"DAN
:Output(5,1,"SOIT:
:Output(5,6,N
:Output(6,1,"NEWTON
:Clrhome
:Goto 1
Autorisation : Membre
Nb de messages : 879
Inscrit le : Sam 16 Jui 2007, 13:37
Posté le : Mer 03 Déc 2008, 10:38
je suis d'accord avec toi. Mais c'est toujours agréable de pouvoir vérifier.
Rien que faire le programme fait qu'on se souvient de la formule généralement.
Autorisation : Membre
Nb de messages : 6
Inscrit le : Mar 25 Nov 2008, 15:46
Posté le : Mer 03 Déc 2008, 17:18
Salut
et merci sangohan38 pour les réctification. c'est mon premier programme avec un menu et des goto donc je savait presque pas les utiliser (je me suis inspirer de beaucoup d'autre programmes pour comprendre ). je vais essayer de les utilisé plus exactement maintenant.
Mais j'ai une question??POURQUOI,en ayant recopier ta correction, quand je fait sortie de tige, je rentre les données et a la place du résultat je passe à la parti sortie de tige,sans avoir le résulta!!! !!!
Et comment revenir directement au menu dés que le résultat a été écrit,si c'est possible???
@+ et merci de corrigé.
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Jeu 04 Déc 2008, 20:19
Effectivement je me suis un peu tromper dans mon code car je pensait que le goto 1 renvoyait au menu.
La je n'ai pas le temps mais ce week-end, je posterais la version la plus courte possible et avecv un retour au menu.
Autorisation : Membre
Nb de messages : 6
Inscrit le : Mar 25 Nov 2008, 15:46
Posté le : Jeu 11 Déc 2008, 18:31
a propos de le nouvelle version j'ai rajouter une fonction dans le menu pour aussi calculer le diamètre du piston en fonction de la pression et de la force.J'ai aussi changer les goto des fin par goto A et Lbl A au début.
Code
Texte en sous-format code
:Clrhome
/lBL a
:Menu("--FORCE PISTON--","SORTIE DE TIGE",1,"RENTRE DE TIGE",2,"DIAMÈTRE",3
:Pause
:Lbl 1
:Input "PRESSION(BAR):",p
:Input "DIAMÈTRE(CM);",D
:p*([pi]*D²/4)[sto]F
:f*10[sto]N
:Clrhome
:Output(2,2,"LA FORCE EST DE:
:Output(3,2,F
:Output(3,14,"DAN
:Output(5,1,"SOIT:
:Output(5,6,N
:Output(6,1,"NEWTON
:Pause
:Clrhome
:Goto A
:Lbl 2
:Input "PRESSION(BAR):",P
:Input "DIAM TIGE(CM):",Z
:Input "DIAM PISTON(CM):",Y
:P*([pi](Y²/Z²)/4)[sto]F
:F*10[sto]N
:Clrhome
:Output(2,2,"LA FORCE EST DE:
:Output(3,2,F
:Output(3,14,"DAN
:Output(5,1,"SOIT:
:Output(5,6,N
:Output(6,1,"NEWTON
:Pause
:Goto A
:Lbl 3
:Input "PRESSION(BAR°/3?p
:Input "FORCE(DAN):",F
:F/(P*[pi]/4)[sto]B
:[racine carré de]B[sto]B
:Clrhome
:Output(2,1,"LE DIAM EST DE:
:Output(3,2,D
:Output(4,3,"CM
:Pause
:Clrhome
:Goto A
:Stop
J'ai aussi crée un autre menu avec le calcul du couple d'un moteur.
Code
Texte en sous-format code
:Clrhome
:Lbl A
:Menu("FORCE";"COUPLEMOTEUR",1,"F PISTON",2
:Pause
:Lbl 1
:Clrhome
:Input "DIAMETRE(MM):,L
:Input "POIDS LEVER(KG):",P
:Clrhome
:(L/2)*10[puissance - ]3[sto]D
:P*10[sto]F
:D*F[sto]C
:Clrhome
:Output(2,1,"LE COUPLE EST DE:
:Output(3,2,C
:Output(4,3,NEWTON MÈTRE
:Pause
:Clrhome
:Goto A
:Lbl 2
:Lbl B
:Menu("--FORCE PISTON--","SORTIE DE TIGE",4,"RENTRE DE TIGE",5,"DIAMÈTRE",6
:Pause
:Lbl 4
:Input "PRESSION(BAR):",p
:Input "DIAMÈTRE(CM);",D
:p*([pi]*D²/4)[sto]F
:f*10[sto]N
:Clrhome
:Output(2,2,"LA FORCE EST DE:
:Output(3,2,F
:Output(3,14,"DAN
:Output(5,1,"SOIT:
:Output(5,6,N
:Output(6,1,"NEWTON
:Pause
:Clrhome
:Goto B
:Lbl 5
:Input "PRESSION(BAR):",P
:Input "DIAM TIGE(CM):",Z
:Input "DIAM PISTON(CM):",Y
:P*([pi](Y²/Z²)/4)[sto]F
:F*10[sto]N
:Clrhome
:Output(2,2,"LA FORCE EST DE:
:Output(3,2,F
:Output(3,14,"DAN
:Output(5,1,"SOIT:
:Output(5,6,N
:Output(6,1,"NEWTON
:Pause
:Clrhome
:Goto B
:Lbl 6
:Input "PRESSION(BAR°/3?p
:Input "FORCE(DAN):",F
:F/(P*[pi]/4)[sto]B
:[racine carré de]B[sto]B
:Clrhome
:Output(2,1,"LE DIAM EST DE:
:Output(3,2,D
:Output(4,3,"CM
:Pause
:Clrhome
:Goto B
:Goto A
:Stop
Voila j'espère que ça va vous aider et qu'il fonctionne très bien. Si vous avez d'autres idées pour le rendre plus rapide et/ou plus pratique
@+
Autorisation : Membre
Nb de messages : 81
Inscrit le : Lun 15 Sep 2008, 17:13
Posté le : Jeu 11 Déc 2008, 18:44
salut, je me suis dit que l'on pouvait gagner quelques octects en changant les "clrhome" de place.
Le "stop" à la fin ne sert plus à rien depuis qui ya les goto A et le "pause" après le menu n'est pas utile.
j'ai donc enlever tout ça, voici le résultat (rien de trasandent je vous rassure... ) :
Code
:Clrhome
:lbl A
:clrhome
:Menu("--FORCE PISTON--","SORTIE DE TIGE",1,"RENTRE DE TIGE",2,"DIAMÈTRE",3,"QUITTER",B
:Lbl 1
:Input "PRESSION(BAR):",p
:Input "DIAMÈTRE(CM);",D
:p*([pi]*D²/4)[sto]F
:f*10[sto]N
:Clrhome
:Output(2,2,"LA FORCE EST DE:
:Output(3,2,F
:Output(3,14,"DAN
:Output(5,1,"SOIT:
:Output(5,6,N
:Output(6,1,"NEWTON
:Pause
:Goto A
:Lbl 2
:Input "PRESSION(BAR):",P
:Input "DIAM TIGE(CM):",Z
:Input "DIAM PISTON(CM):",Y
:P*([pi](Y²/Z²)/4)[sto]F
:F*10[sto]N
:Clrhome
:Output(2,2,"LA FORCE EST DE:
:Output(3,2,F
:Output(3,14,"DAN
:Output(5,1,"SOIT:
:Output(5,6,N
:Output(6,1,"NEWTON
:Pause
:Goto A
:Lbl 3
:Input "PRESSION(BAR°/3?p
:Input "FORCE(DAN):",F
:F/(P*[pi]/4)[sto]B
:[racine carré de]B[sto]B
:Clrhome
:Output(2,1,"LE DIAM EST DE:
:Output(3,2,D
:Output(4,3,"CM
:Pause
:Goto A
:lbl B
:clrhome
j'ai fait la même chose pour le deuxième :
Code
:lbl A
:Clrhome
:Menu("FORCE";"COUPLEMOTEUR",1,"F PISTON",2,"QUITTER",B
:Lbl 1
:Input "DIAMETRE(MM):,L
:Input "POIDS LEVER(KG):",P
:(L/2)*10[puissance - ]3[sto]D
:P*10[sto]F
:D*F[sto]C
:Clrhome
:Output(2,1,"LE COUPLE EST DE:
:Output(3,2,C
:Output(4,3,NEWTON MÈTRE
:Pause
:Goto A
:Lbl 2
:Menu("--FORCE PISTON--","SORTIE DE TIGE",4,"RENTRE DE TIGE",5,"DIAMÈTRE",6,"RETOUR AU MENU",A
:Lbl 4
:Input "PRESSION(BAR):",p
:Input "DIAMÈTRE(CM);",D
:p*([pi]*D²/4)[sto]F
:f*10[sto]N
:Clrhome
:Output(2,2,"LA FORCE EST DE:
:Output(3,2,F
:Output(3,14,"DAN
:Output(5,1,"SOIT:
:Output(5,6,N
:Output(6,1,"NEWTON
:Clrhome
:Goto 2
:Lbl 5
:Input "PRESSION(BAR):",P
:Input "DIAM TIGE(CM):",Z
:Input "DIAM PISTON(CM):",Y
:P*([pi](Y²/Z²)/4)[sto]F
:F*10[sto]N
:Clrhome
:Output(2,2,"LA FORCE EST DE:
:Output(3,2,F
:Output(3,14,"DAN
:Output(5,1,"SOIT:
:Output(5,6,N
:Output(6,1,"NEWTON
:Pause
:Goto 2
:Lbl 6
:Input "PRESSION(BAR°/3?p
:Input "FORCE(DAN):",F
:F/(P*[pi]/4)[sto]B
:[racine carré de]B[sto]B
:Clrhome
:Output(2,1,"LE DIAM EST DE:
:Output(3,2,D
:Output(4,3,"CM
:Pause
:Goto 2
P.S. : j'ai aussi rajouté de quoi quitter et revenir au menu.