Autorisation : Membre
Nb de messages : 5
Inscrit le : Sam 06 Fév 2016, 17:41
Posté le : Dim 07 Fév 2016, 20:59
J'ai fait un algorithme pour donner pour tous les groupes caractéristique d'une molécules (de base, je ne suis qu'en terminale). L'algorithme marche très bien mais problème je ne peux mettre que 6 groupes et j'en ai 9.
Voici l'algorithme de base (avec seulement 6 groupe), où "A." équivaut à "ACIDE":
Code
Menu("GROUPE","ALCANE",A,"ALDEHYDE",B,"CETONE",C,"A.CARBOXYLIQUE",D,"ESTER",E,"AMINE",F,"AMIDE",G)
Lbl A
Disp "ALCANE","CHAINE CARBONEE","EX:CH3-CH2-CH3","PROPANE"
Goto Z
Lbl B
Disp "ALDEHYDE","=O EXTERIEUR","EX:CH3-CH2-CH3=O","PROPANAL"
Goto Z
Lbl C
Disp "CETONE","=O CENTRE","EX:CH3-CO-CH3","PROPAN-2-ONE"
Goto Z
Lbl D
Disp "A.CARBOXYLIQUE","COOH","EX:CH2-COOH","A.ETHANOIQUE"
Goto Z
Lbl E
Disp "ESTER","O=C-O","EX:CH3-CO-O-CH2-CH3","ETHANOATE D'ETHYLE"
GotoZ
Lbl F
Disp "AMINE","NH2,NH,N","EX:CH3-CH2-NH2"
Goto Z
Lbl G
Disp "AMIDE","O=C-NH(2)","CH3-CO-NH-CH3","N-METHYLETHANAMIDE"
Lbl Z
Je voudrais pouvoir avoir mes 9 choix mais ce n'est pas possible de simplement les ajouter après la calculatrice me dit "erreur". J'ai donc pensé à deux options: soit je fait un deuxième algo pour les autres, soit je fait une page deux comme suit, mais je ne sais pas si ça va marcher et comme j'ai prix beaucoup de temps pour faire l'algo j'aimerais avoir un avis exterieur avant de faire de la merde et mon prof de math est (avec tout le respect possible)une buse en algo.
Code
Menu("GROUPE PAGE 1","ALCANE",A,"ALDEHYDE",B,"CETONE",C,"A.CARBOXYLIQUE",D,"ESTER",E,"AMINE",F,"PAGE 2",G)
Lbl A
Disp "ALCANE","CHAINE CARBONEE","EX:CH3-CH2-CH3","PROPANE"
Goto Z
Lbl B
Disp "ALDEHYDE","=O EXTERIEUR","EX:CH3-CH2-CH3=O","PROPANAL"
Goto Z
Lbl C
Disp "CETONE","=O CENTRE","EX:CH3-CO-CH3","PROPAN-2-ONE"
Goto Z
Lbl D
Disp "A.CARBOXYLIQUE","COOH","EX:CH2-COOH","A.ETHANOIQUE"
Goto Z
Lbl E
Disp "ESTER","O=C-O","EX:CH3-CO-O-CH2-CH3","ETHANOATE D'ETHYLE"
GotoZ
Lbl F
Disp "AMINE","NH2,NH,N","EX:CH3-CH2-NH2"
Goto Z
Lbl G
Menu("GROUPE PAGE 2","AMIDE",H,"ALCOOL",I,"ALCENE",J)
Lbl H
Disp "AMIDE","O=C-NH(2)","CH3-CO-NH-CH3","N-METHYLETHANAMIDE"
Lbl I
Disp "ALCOOL","GROUPE -OH","CH3-CH2-CH2-OH","PROPAN-1-OL"
Goto Z
Lbl J
Disp "ALCENE","CHAINE R + C=C", "...","3-ETHYL-4-METHYLHEX-3-ENE"
Goto Z
Lbl Z
Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Dim 07 Fév 2016, 21:43
Pour ton deuxième code, tu as oublié un Goto pour l'amide. Ta technique pour la page 2 est tout à fait valable, c'est celle qu'on utilise généralement. Ajoute un retour vers la page 1 en revanche, ca sera plus pratique si on a mal lu.
Les Goto son un truc plutôt indigeste en codage, en général on essaie de les éviter au maximum. Dans un code à menus, je comprends que ce soit compliqué (inévitable en fait ). Mais est-on obligé de fair un code à menu, surtout pour si peu de contenu ?
Je te propose de travailler sur u affichage de toutes ces données sur une seule page graphique, avec la commande Texte(ligne,colonne,[ton affichage]). Comme l'écran est graphique est plus spacieux, tu pourras même caser les infos de chaque fondtion sur un ligne si tu te débrouilles bien
Autorisation : Membre
Nb de messages : 5
Inscrit le : Sam 06 Fév 2016, 17:41
Posté le : Dim 07 Fév 2016, 22:01
Par ailleurs à part les boucle tant que et les compteur N+1->N je ne savais pas faire grand chose, j'ai appris l’existence des commandes Lbl et Goto en faisant cette algo !