Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 3783
Réponses : 2
Type : discussion
Etat : réponses autorisées

La Mole

Lexa001 le 22/03/2008 à 23:24
Me revoilà après pas de temps d'absence avec un tout nouveau programme sur la mole avec tous les calculs que l'on trouve en seconde il est un peu long et bien sur il est possible de suprimmer la présentation pour plus de "légerté" au programme.

Code

:EffEcr
:Ouptput(3,6,"CALCUL")
:Ouptput(4,4,"DE LA MOLE")
:Ouptput(8,10,"BY LEXA")
:For(Z,1,800)
:End
:Lbl 0
:EffEcr
:Menu("MENU PRICINPAL","CALCULS",1,"CALCULS SUITE",2,"QUITTER",3)
:Lbl 1
:EffEcr
:Menu("CALCULS","QTE MATIERE",4,"NOMBRE ATOME",5,"MASSE OBJET",6,"MASSE VOLUMIQUE",7,"VOLUME CM^3",8,"VOLUME MOLAIRE,9,"RETOUR AU MENU",0)
:Lbl 2
:EffEcr
:Menu("CALCULS SUITE","VOLUME L",B,"CONCENTRAT° MO",C,"CONCENTRATION MA",D,"RETOUR AU MENU",0)
:Lbl 3
:EffEcr:Stop
:Lbl 4
:Menu("QTE MATIERE","AVC PN=N/NA",F,"AVC PN=PM/M",G,"AVC PN=V/VPM",H,"AVC PN=C*V",I,"RETOUR AU MENU",1)
:Lbl 5
:EffEcr
:Input "QTE MATIERE:",A
:(A)*(6.02*10^23)->B
:Disp "RESULTAT:",B
:Pause
:Goto 1
:Lbl 6
:EffEcr
:Menu("MASSE OBJET","AVC PM=PN*M",J,"AVC PM=RHO*V",K,"RETOUR AU MENU",1)
:Lbl 7
:EffEcr
:Input "MASSE:",A
:Input "VOLUME:",B
:(A)/(B)->C
:Disp "RESULTAT:",C
:Pause
:Goto 1
:Lbl 8
:EffEcr
:Input "QTE MATIERE:",A
:Input "MASSE VOL:",B
:A/B->C
:Disp "RESULTAT:",C
:Pause
:Goto 1
:Lbl 9
:EffEcr
:Input "QTE MATIERE:",A
:Input "VOULUME:",B
:(B)/(A)->C
:Disp "RESULTAT:",C
:Pause
:Goto 1
:Lbl A
:EffEcr:Goto 0
:Lbl B
:EffEcr
:Menu("VOLUME","AVC V=N*VM",L,"AVC V=N/C",M,"V=M/THO",N,"RETOUR AU MENU",2)
:Lbl C
:EffEcr
:Menu("CONCENTRAT° MOL","AVC C=N/V",O,"AVC C=THO/M",P,"RETOUR AU MENU",2)
:Lbl D
:EffEcr
:Menu("CONCENTRAT° MAS","AVC THO=PM/V",Q,"AVC THO=C*M",S,"RETOUR AU MENU",2)
:Lbl L
:EffEcr
:Input "QTE MATIERE:",A
:Input "VOLUMUNE MOLAIRE",B
:(A)/(B)->C
:Disp "RESULTAT:",C
:Pause
:Goto 2
:Lbl M
:EffEcr
:Input "QTE MATIERE:",A
:Input "CONCENTRAT° MO:",B
:(A)/(B)->
:Disp "RESULTAT:",C
:Pause
:Goto 2
:Lbl N
:Input "VOLUME:",A
:Input "CONCENTRAT° MA:",B
:(A)/(B)->C
:Disp "RESULTAT",C
:Pause
:Goto 2
:Lbl O
:EffEcr
:Input "QTE MATIERE:",A
:Input "VOLUME:",B
:(A)/(B)->C
:Disp "RESULTAT:",C
:Pause
:Goto 2
:Lbl P
:EffEcr
:Input "CONCENTRAT° MA:",A
:Input "MASSE MOL:",B
:(A)/(B)->C
:Disp "RESULTAT:",C
:Pause
:Goto 2
:Lbl Q
:Input "MASSE:",A
:Input "VOLUME:",B
:(A)/(B)->C
:Disp "RESULTAT:",C
:Pause
:Goto 2
:Lbl S
:EffEcr
:Input "CONCENTRAT° MOL",A
:Input "MASSE MOL:",B
:(A)/(B)->C
:Disp "RESULTAT",C
:Pause
:Goto 2
:Lbl F
:EffEcr
:Input "NOMBRE AT:",A
:(A)/(6.02*10^23)->B
:Disp "RESULTAT",C
:Pause
:Goto 1
:Lbl G
:EffEcr
:Input "MASSE:",A
:Input "MASSE MOL:",B
:(A)/(B)->C
:Disp "RESULTAT:",C
:Pause
:Goto 1
:Lbl H
:EffEcr
:Input "VOLUME:",A
:Input "VOLUME MOL:",B
:(A)/(B)->C
:Disp "RESULTAT:",C
:Pause
:Goto 1
:Lbl I
:EffEcr
:Input "CONCENTRAT° MOL:",A
:Input "VOLUME:",B
:(A)*(B)->C
:Disp "RESULTAT:",C
:Pause
:Goto 1
:Lbl J
:EffEcr
:Input "QTE MATIERE:",A
:Input "MASSE MOL:",B
:(A)/(B)->C
:Disp "RESULTAT:",C
:Pause
:Goto 1
:Lbl K
:EffEcr
:Input "RHO:",A
:Input "VOLUME:",B
:(A)*(B)->C
:Disp "RESULTAT:",C
:Pause
:Goto 1


Voilà il est un peu long comme prévu mais il vaut le coup je pense ! Pour toute réclamation ou bug faites-le moi savoir !!!
Sangohan38 le 23/03/2008 à 11:14
Je peux juste te dire qu'il y a pleins d'ereures de frappes dans ce programme.
Pour commencer, ce n'est pas Ouptut mais Output.
Ensuite, je ne vois pas à quoi correspond ton PN bien que je suppose que c'est la quantité de matière notée n.
De plus, je te conseillerais de mettre les unitées dans lesquels tu veux que l'on mette nos valeures.
Pour finir, il y a pleins de moyens d'alléger ce programme en enlevant notemment les parenthèses qui sont inutiles et en introduisant directement ton calcul dans disp ce qui aura pour effet d'alléger ton programme.

Voici la version que j'ai modifiée si l'on tient compte de toute mes remarques:

Code
:EffEcr
:Output(3,6,"CALCUL")
:Output(4,4,"DE LA MOLE")
:Output(8,10,"BY LEXA")
:For(Z,1,800)
:End
:Lbl 0
:EffEcr
:Menu("MENU PRICINPAL:","CALCULS",1,"CALCULS SUITE",2,"QUITTER",3
:Lbl 1
:EffEcr
:Menu("CALCULS:","N",4,"NOMBRE ATOME",5,"M",6,"M VOLUMIQUE",7,"VOLUME",8,"VM",9,"RETOUR AU MENU",0
:Lbl 2
:EffEcr
:Menu("CALCULS SUITE:","VOLUME",B,"C",C,"CM",D,"RETOUR AU MENU",0
:Lbl 3
:EffEcr
:Output(1,1,"   
:Stop
:Lbl 4
:Menu("N:","N=N ATOME/NA",F,"N=M/MM",G,"N=V/VM",H,"N=C*V",I,"RETOUR AU MENU",1
:Lbl 5
:EffEcr
:Input "N (MOL):",A6.02E23
:Disp "RESULTAT (ATOMES):",A
:Pause
:Goto 1
:Lbl 6
:EffEcr
:Menu("M:","M=N*MM",J,"M=RHO*V",K,"RETOUR AU MENU",1
:Lbl 7
:EffEcr
:Input "M (G):",A
:Input "V (L):",B
:Disp "RESULTAT (G/L):",A/B
:Pause
:Goto 1
:Lbl 8
:Input "N:",A
:Input "RHO:",B
:Disp "RESULTAT(L):",A/B
:Pause
:Goto 1
:Lbl 9
:Input "N (MOL):",A
:Input "V (L):",B
:Disp "RESULTAT (MOL/L):",B/A
:Pause
:Goto 1
:Lbl B
:EffEcr
:Menu("VOLUME","V=N*VM",L,"V=N/C",M,"V=M/THO",N,"RETOUR AU MENU",2
:Lbl C
:EffEcr
:Menu("C","C=N/V",O,"C=THO/M",P,"RETOUR AU MENU",2
:Lbl D
:EffEcr
:Menu("CM","THO=M/V",Q,"THO=C*MM",S,"RETOUR AU MENU",2
:Lbl L
:Input "N (MOL):",A
:Input "VM (L/MOL):",B
:Disp "RESULTAT (L):",A/B
:Pause
:Goto 2
:Lbl M
:Input "N (MOL):",A
:Input "C (MOL/L):",B
:Disp "RESULTAT (L):",A/B
:Pause
:Goto 2
:Lbl N
:Input "M (G):",A
:Input "T (G/L):",B
:Disp "RESULTAT (L)",A/B
:Pause
:Goto 2
:Lbl O
:Input "N (MOL):",A
:Input "V (L):",B
:Disp "RESULTAT (MOL/L):",A/B
:Pause
:Goto 2
:Lbl P
:Input "CM (G/L):",A
:Input "MM (G/MOL):",B
:Disp "RESULTAT (L/MOL):",A/B
:Pause
:Goto 2
:Lbl Q
:Input "M (G):",A
:Input "V (L):",B
:Disp "RESULTAT (G/L):",A/B
:Pause
:Goto 2
:Lbl S
:Input "C (MOL/L)",A
:Input "MM (G/MOL):",B
:Disp "RESULTAT (G/L)",AB
:Pause
:Goto 2
:Lbl F
:Input "NBR ATOME:",A
:Disp "RESULTAT (MOL):",A/6.02E23
:Pause
:Goto 1
:Lbl G
:Input "M (G):",A
:Input "MM (G/MOL):",B
:Disp "RESULTAT( MOL):",A/B
:Pause
:Goto 1
:Lbl H
:Input "V (L):",A
:Input "VM (L/MOL):",B
:Disp "RESULTAT (MOL):",A/B
:Pause
:Goto 1
:Lbl I
:Input "C (MOL/L):",A
:Input "V (L):",B
:Disp "RESULTAT (MOL):",AB
:Pause
:Goto 1
:Lbl J
:Input "N (MOL):",A
:Input "MM (G/MOL):",B
:Disp "RESULTAT (G):",AB
:Pause
:Goto 1
:Lbl K
:Input "RHO (G/L):",A
:Input "V (L):",B
:Disp "RESULTAT (G):",AB
:Pause
:Goto 1


Voila le lien badongo: http://www.badongo.com/file/8420974

Sangohan38
Lexa001 le 23/03/2008 à 16:38
Exact pour les fautes de frappes j'ai pas pris le temps de les vérifier mais pour les unités bonne idée j'y avais pas pensé ! laugh.gif