1

Bonjour, j'ai une autre erreur de programme qui me met : Erreur de dimension
Le curseur pour l'erreur se met à la fin de cette ligne : Text mm&" (g) : valeur approchee"

massemol()
Prgm
Local e,n,f,mm,m,mmp,mp
0->mm
0->mmp
Lbl debut
Dialog
Title "Masse molaire moleculaire."
DropDown "Elément : ",{"H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr"},e
Request "Nombre d'atomes ",n
DropDown "Action : ",{"Continuer","Fin"},f
EndDlog

expr(n)->n
If n="" Then
0->n
EndIf

mmm[e,1]->m
m*n+mm->mm

mmm[e,2]->mp
mp*n+mmp->mmp

If f=1 Then
Goto debut
EndIf
If f=2 Then
Goto fin
EndIf
Lbl fin
string(mm)->mm
string(mmp)->mmp
Dialog
Text mm&" (g) : valeur approchee"
Text mmp&" (g) : valeur exacte"
EndDlog
EndPrgm

2

Alors si t'es variable s'appelaient autrement que m, mm, mmm, on arriverait déjà plus à t'aider cheeky Et utilise les balises [pre]ton code[/pre]

3

Ta chaîne mm est probablement trop longue. Quand la longueur de la chaîne passée en argument à Text est trop importante, on a une erreur de dimension gni

Utilise approx pour une valeur approchée, ou arrondi au dixième wink
Et fais pareil pour mmp, tu fais partEnt() [je ne sais plus comme se nomme la fonction en anglais]

Une autre solution consiste à ne pas utiliser des Dialog mais plutot quelque chose comme ceci :
ClrIO
Disp "Valeur approchée (g)"
Pause mmm
Disp "Valeur exacte (g)
Pause mmp"

Et il n'est même pas nécéssaire de transformer mmp et mmm en chaînes.

Folco (./2) :
t'es variable

fou fou eeek

tes variables

T'as mal dormi ou bien ? ^^

4

ou une simple faute de frappe, mais en effet, la faute est belle grin

ps -> le e et ' sont à côté

5

Mouais, avec une faute de conjugaison ? gni
[EDIT] Moué, le verbe est bon, Jean Pierre accepte ^^

6

Merci pour votre aide, mais, je débute en programmation et ce programme est un prog que j'ai recopié d'internet, je ne comprends pas trop ce que vous m'avez expliqué, pourriez vous être plus précis ou me montrer ce qu'il faut changer ? sad

7

Je t'ai conseillé de préciser un peu tes noms de variables : m, mm et mmm ne sont absolument pas explicites, on ne comprends pas ce que ça veut dire.

Des variables portant des noms tels que "list", "tabeau", "matrice", "resultat" etc... aident de beaucoup à comprendre un programme.

Essaye donc de voir ce que fait ton programme, essaye de renommer les variables en fonction de ce que tu comprends. Et quand tu buteras sur un problème précis, présente-le nous. smile

8

Folco (./7) :
Des variables portant des noms tels que "list", "tabeau", "matrice", "resultat" etc... aident de beaucoup à comprendre un programme.

résultat OK, mais liste, tableau et matrice sont plus des noms de types que des noms explicites quand même tongue

9

Essaye ça gni
script
massemol()
Prgm
Local e,n,f,mm,m,mmp,mp
0->mm
0->mmp
Lbl debut
Dialog
Title "Masse molaire moleculaire."
DropDown "Elément : ",{"H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr"},e
Request "Nombre d'atomes ",n
DropDown "Action : ",{"Continuer","Fin"},f
EndDlog

expr(n)->n
If n="" Then
0->n
EndIf

mmm[e,1]->m
m*n+mm->mm

mmm[e,2]->mp
mp*n+mmp->mmp

If f=1 Then
Goto debut
EndIf
If f=2 Then
Goto fin
EndIf
Lbl fin
ClrIO 
Disp "Valeur approchée (g)" 
Pause mmm 
Disp "Valeur exacte (g)"
Pause mmp
EndPrgm 

10

oué, sauf si ça se rapporte à la seule que tu manipules dans ton programme etc... embarrassed

11

J'ai essayé de rentrer ton code FireHunter, il n'y a plus d'erreur sauf que ca m'affiche des résultats très bizarre ^^
du style quand j'ai mis 2 H et 1 O atome, le résultat donné est :
valeur approchée (g)
mmm
valeur exacte (g)
mmm[7,2]+2.mmm[1,2]

12

Normal, manque un bout dans la source, il semble que MMM soit une matrice, pas de ma faute s'il te manque des bouts smile

13

tampis alors le concepteur a mal fait le prog ^^

14

mmm doit etre la matrice qui contient les masses molaires de chaque element. peut etre qu'elle se trouve aussi sur internet (a cote du programme que tu as trouve?)
avatar
I'm on a boat motherfucker, don't you ever forget