Rechercher
Connexion
Chatbox externe
Derniers sujets
Partenaires
TI-Planet | Espace-TI : Forum |
Faire un don à Tout-82...
Où va cet argent ?
Membres donateurs:- Persalteas (10€)
- Wistaro (5€)
- jo2geek (22€)
Les posteurs les plus actifs du mois
Aucun utilisateur |
Programme calcul de résistances
3 participants
Page 1 sur 1
Programme calcul de résistances
Bon, avant tout, j'explique la situation :
Je fais actuellement un programme (sur ma TI 83+) qui calcule une résistance quand on donne les couleurs.
J'ai donc pensé à le faire marcher avec des menus. Le premier problème est là : pas plus de 7 étiquettes, et il en faut 10. Bon, je pense que c'est dépassante; notamment en proposant un autre menu dans le menu...
Après, en fonction du choix, je stocke un nombre dans une liste en fonction du choix. par exemple, si le choix est "VERT", je stocke 5 dans l1(1), et de même 3 fois de suite avec une boucle For(.
Pas de problème à ce niveau là, si ce n'est que je n'arrive pas à stopper mes labels. Je m'explique :
Voilà la situation. Je suis un peu bloqué, je recherche avec quelques tests, sans succès.. Donc merci d'avance !
Je fais actuellement un programme (sur ma TI 83+) qui calcule une résistance quand on donne les couleurs.
J'ai donc pensé à le faire marcher avec des menus. Le premier problème est là : pas plus de 7 étiquettes, et il en faut 10. Bon, je pense que c'est dépassante; notamment en proposant un autre menu dans le menu...
Après, en fonction du choix, je stocke un nombre dans une liste en fonction du choix. par exemple, si le choix est "VERT", je stocke 5 dans l1(1), et de même 3 fois de suite avec une boucle For(.
Pas de problème à ce niveau là, si ce n'est que je n'arrive pas à stopper mes labels. Je m'explique :
- Code:
: Lbl 0
: 0->l1(1)
: Lbl 1
: 1-> l1(1)
Voilà la situation. Je suis un peu bloqué, je recherche avec quelques tests, sans succès.. Donc merci d'avance !
Dernière édition par Mingerton le Sam 15 Nov 2014 - 20:54, édité 2 fois
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
Salut,
Pourquoi ne pas simplement laisser l'utilisateur entrer les données dans l1? En lui indiquant bien à quel valeur correspond une couleurs, et répéter ceci 3 fois.
Voici ce que sa donnerais:
Voila un code qui fonctionne, a priori. Il est bien sûr optimisable, mais il est important que tu comprenne le principe
Pourquoi ne pas simplement laisser l'utilisateur entrer les données dans l1? En lui indiquant bien à quel valeur correspond une couleurs, et répéter ceci 3 fois.
Voici ce que sa donnerais:
- Code:
:ClrHome:ClrDraw
:For(A,1,3
//On affiche l'aide pour les couleurs
:Txt(0,0,"argent=",-2
:Txt(7,0,"or=",-1
:Txt(14,0,"noir=",0
:Txt(21,0,"marron=",1
:Txt(28,0,"rouge=",2
:Txt(35,0,"orange=",3
:Txt(42,0,"jaune=",4
:Txt(49,0,"vert=",5
:Txt(56,0,"bleu=",6
:Txt(0,40,"violet=",7
:Txt(7,40,"gris=",8
:Txt(14,40,"blanc=",9
:Pause
:OutPut(2,1,A
:Output(2,2,"e couleur"
:Input "-2 - 9",B
:If max(B={-2,-1,1,2,3,4,5,6,7,8,9
:Then
:B->L1(A)
:Else
:Stop
:End
:End
://Valeurs des couleurs sont dans l1(1), l1(2) et l1(3)
://Traitement pour afficher la valeur de la résistance
Voila un code qui fonctionne, a priori. Il est bien sûr optimisable, mais il est important que tu comprenne le principe
Re: Programme calcul de résistances
Ouais, ça devrait marcher. le problème venait du menu en fait, c'est plus clair.
Edit : C'est normal qu'il ne demande que la première valeur et s'arrête ?
Edit : C'est normal qu'il ne demande que la première valeur et s'arrête ?
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
Voici une version du code un peu mieux:
Chez moi, il ne génère pas d'erreur, tu n'as pas oublié les End?
- Code:
:ClrHome:ClrDraw:AxsOff
:For(A,1,3
//On affiche l'aide pour les couleurs
:Txt(0,0,"argent=",-2
:Txt(7,0,"or=",-1
:Txt(14,0,"noir=",0
:Txt(21,0,"marron=",1
:Txt(28,0,"rouge=",2
:Txt(35,0,"orange=",3
:Txt(42,0,"jaune=",4
:Txt(49,0,"vert=",5
:Txt(56,0,"bleu=",6
:Txt(0,40,"violet=",7
:Txt(7,40,"gris=",8
:Txt(14,40,"blanc=",9
:Pause :ClrHome
:OutPut(2,1,A
:Output(2,2,"e couleur"
:Input "valeur: ",B
:If max(B={-2,-1,1,2,3,4,5,6,7,8,9
:Then
:B->L1(A)
:Else
:Stop
:End
:End
Chez moi, il ne génère pas d'erreur, tu n'as pas oublié les End?
Re: Programme calcul de résistances
Ah oui ! Au temps pour moi.
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
Du coup, sa marche?
Et comment tu compte t'y prendre pour afficher la valeur finale de la résistance?
Et comment tu compte t'y prendre pour afficher la valeur finale de la résistance?
Re: Programme calcul de résistances
Ca marche parfaitement, merci !
Ba là je vais poster mon programme pour donner les chiffres significatifs de la résistance, pour montrer ce que ça donne.
Sinon, je pensais, dans la logique de mon programme, donner un quatrième et 5e menu pour la tolérance et le coefficient de température, et afficher le résultat total avec un Output.
Edit : plus un menu pour le multiplicateur, le plus important...
Ba là je vais poster mon programme pour donner les chiffres significatifs de la résistance, pour montrer ce que ça donne.
Sinon, je pensais, dans la logique de mon programme, donner un quatrième et 5e menu pour la tolérance et le coefficient de température, et afficher le résultat total avec un Output.
Edit : plus un menu pour le multiplicateur, le plus important...
Dernière édition par Mingerton le Ven 25 Avr 2014 - 19:35, édité 1 fois
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
Suffit que tu rajoutes des valeurs au menu.
j'ai également oublié, il faut que tu mettes ceci au début du programme:
j'ai également oublié, il faut que tu mettes ceci au début du programme:
- Code:
:DelVarL15->Dim(L1
Re: Programme calcul de résistances
Le coeur du programme, celui avec les menus : il affiche les chiffres significatifs dans L1, plus un zéro (pourquoi ?...) :
Je posterai le complet d'ici peu, mais comme je me posais des questions sur ce fameux zéro, je poste déjà ce morceau
- Code:
: 0->C
: Lbl M
: If C=3
: Then
: Goto A
: End
: C+1->C
: Menu("Couleur?","Noir",0,"Marron",1,"Rouge",2,"Orange",3,"Jaune",4,"Vert",5,"Autres",S
: Lbl S
: Menu("Couleur?","Bleu",6,"Violet",7,"Gris",8,"Blanc",9
: Lbl 0
: 0->L1(C
: Goto M
: Lbl 1
: 1->L1(C
: Goto M
: Lbl 2
: 2->L1(C
: Goto M
: Lbl 3
: 3->L1(C
: Goto M
: Lbl 4
: 4->L1(C
: Goto M
: Lbl 5
: 5->L1(C
: Goto M
: Lbl 6
: 6->L1(C
: Goto M
: Lbl 7
: 7->L1(C
: Goto M
: Lbl 8
: 8->L1(C
: Goto M
: Lbl 9
: 9->L1(C
: Goto M
: Lbl A
: Disp L1
Je posterai le complet d'ici peu, mais comme je me posais des questions sur ce fameux zéro, je poste déjà ce morceau
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
C'est faisable, mais ils impliqueront les mêmes couleurs qui n'auront pas les mêmes significations. Par exemple, pour la tolérance, noir ne voudra plus dire 0 mais 20% de tolérance.
J'ai oublié de le dire, mais il y aura aussi un menu pour la multiplicateur, et là encore, il implique les mêmes couleurs sans la même signification.
J'ai oublié de le dire, mais il y aura aussi un menu pour la multiplicateur, et là encore, il implique les mêmes couleurs sans la même signification.
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
Pourquoi tu ne te sers pas de mon programme?
Essais, dans la mesure du possible, de ne pas abuser des labels/goto
Essais, dans la mesure du possible, de ne pas abuser des labels/goto
Re: Programme calcul de résistances
C'est le principal défaut de ce programme, mais à partir du monument où je me lançai dans les menus par souci esthétique, je pouvais dire adieu à un programme correct dans ce domaine.
J'ai pas pensé à modifier ton programme en effet ! Ba je vais évoluer sur les deux en même temps.
J'ai pas pensé à modifier ton programme en effet ! Ba je vais évoluer sur les deux en même temps.
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
Moi je propose simplement des menus de TI-Basic dans une boucle For et éventuellement des variables d'état. J'optimise le code de génération des valeur. Il n'y a absolument pas de problème à placer des Goto dans une boucle tant que le Label est lui aussi dans la boucle. Si tu veux sortir tout-de-même brutalement, affecte une variable pour forcer le programme à quitter la boucle puis va à un label juste avant la fin de la boucle.
Une partie de mes optimisations peut s'appliquer aussi au programme graphique de Wistaro.
Pas besoin d'initialiser la taille de la liste tant qu'on écrit du début à la fin, sauf si des termes en trop te gènent.
Précédente édition (2ème) par Linkakro le Ven 25 Avr 2014 - 20:27
EDIT 27Avr:
Je signale que je suppose l'anneau numéro 3 comme le nombre de zéros, alors que les programmes qui me précédaient ne géraient pas ces zéros mais seulement les trois anneaux comme trois chiffres. Par ailleurs une valeur fausse permet au programme de Wistaro de quitter avant la fin.
Une partie de mes optimisations peut s'appliquer aussi au programme graphique de Wistaro.
Pas besoin d'initialiser la taille de la liste tant qu'on écrit du début à la fin, sauf si des termes en trop te gènent.
- Code:
For(C,1,3
:Lbl M
:0
:Menu("Couleur?","0 Noir",0,"1 Marron",1,"2 Rouge",2,"3 Orange",3,"4 Jaune",4,"5 Vert",5,"Autres",S
:Lbl S
:Menu("Couleur?","6 Bleu",6,"7 Violet",7,"8 Gris",8,"9 Blanc",9,"Retour",M
:Lbl 9
:Ans+1
:Lbl 8
:Ans+1
:Lbl 7
:Ans+1
:Lbl 6
:Ans+1
:Lbl 5
:Ans+1
:Lbl 4
:Ans+1
:Lbl 3
:Ans+1
:Lbl 2
:Ans+1
:Lbl 1
:Ans+1
:Lbl 0
:Ans->L1(C
:End
:3->dim(L1
:Disp L1
:L1(3->A
:2->dim(L1
:augment(L1,seq(0,C,1,A
Précédente édition (2ème) par Linkakro le Ven 25 Avr 2014 - 20:27
EDIT 27Avr:
Je signale que je suppose l'anneau numéro 3 comme le nombre de zéros, alors que les programmes qui me précédaient ne géraient pas ces zéros mais seulement les trois anneaux comme trois chiffres. Par ailleurs une valeur fausse permet au programme de Wistaro de quitter avant la fin.
Dernière édition par Linkakro le Dim 27 Avr 2014 - 16:32, édité 3 fois
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Programme calcul de résistances
En effet c'est plus lisible !
A quoi sert le 0 de la 3e ligne ?
A quoi sert le 0 de la 3e ligne ?
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
Cela stocke le zéro dans la variable dernière réponse Ans.
Même sans mon optimisation du menu, la boucle aurait pu contenir de la même manière le menu. L'optimisation du menu n'est qu'esthétique pour celui qui saisit le code.
Même sans mon optimisation du menu, la boucle aurait pu contenir de la même manière le menu. L'optimisation du menu n'est qu'esthétique pour celui qui saisit le code.
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Programme calcul de résistances
En fait c'est la boucle que je souhaitais garder, donc du coup c'est parfait
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
J'ai fini le code pour les 6 bandes de la résistances, je vais le poster d'ici peu. Il sera peut être pas optimisé comme celui de Linkakro, mais il sera complet.
Edit : Le voilà :
Edit : Le voilà :
- Code:
: Sci
: 0->C
: Lbl M
: If C=3
: Then
: Goto A
: End
: C+1->C
: Menu("Couleur?","Noir",0,"Marron",1,"Rouge",2,"Orange",3,"Jaune",4,"Vert",5,"Autres",S
: Lbl S
: Menu("Couleur?","Bleu",6,"Violet",7,"Gris",8,"Blanc",9
: Lbl 0
: 0->L1(C
: Goto M
: Lbl 1
: 1->L1(C
: Goto M
: Lbl 2
: 2->L1(C
: Goto M
: Lbl 3
: 3->L1(C
: Goto M
: Lbl 4
: 4->L1(C
: Goto M
: Lbl 5
: 5->L1(C
: Goto M
: Lbl 6
: 6->L1(C
: Goto M
: Lbl 7
: 7->L1(C
: Goto M
: Lbl 8
: 8->L1(C
: Goto M
: Lbl 9
: 9->L1(C
: Goto M
: Lbl A
:Menu("Couleur?","Argent",10,"Or",11,"Noir",12,"Marron",13,"Rouge",14,"Orange",15,"Autres",T
: Lbl T
: Menu("Couleur?","Jaune",16,"Vert",17,"Bleu",18,"Violet",19
: Lbl 10
: .01->M
: Goto B
: Lbl 11
: .1->M
: Goto B
: Lbl 12
: 1->M
: Goto B
: Lbl 13
: 10->M
: Goto B
: Lbl 14
: 100->M
: Goto B
: Lbl 15
: 1000->M
: Goto B
: Lbl 16
: 10^4->M
: Goto B
: Lbl 17
: 10^5->M
: Goto B
: Lbl 18
: 10^6->M
: Goto B
: Lbl 19
: 10^7->M
: Goto B
: Lbl B
: ClrHome
: Output(1,1,L1(1
: Output(1,2,L1(2
: Output(1,3,L1(3
: Output(1,5,M
: Pause
: Normal
: Menu("6 bandes?","Oui",20,"Non",21
: Lbl 20
:Menu("Couleur?","Marron",22,"Rouge",23,"Orange",24,"Jaune",25,"Bleu",26,"Violet",27,"Blanc",28
: Lbl 22
: 100->Z
: Goto Z
: Lbl 23
: 50->Z
: Goto Z
: Lbl 24
: 15->Z
: Goto Z
: Lbl 25
: 25->Z
: Goto Z
: Lbl 26
: 10->Z
: Goto Z
: Lbl 27
: 5->Z
: Goto Z
: Lbl 28
: 1->Z
: Goto Z
: Lbl Z
: ClrHome
: Output(1,5,"PPM/°C
: Output(1,1,Z
: Lbl 21
: Return
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
Bien joué, Linkakro.
Mingeton:
Ton
Ton
Mingeton:
Ton
- Code:
: Lbl 21
: Return
- Code:
Sci:0->C
- Code:
DelvarCSci
Ton
- Code:
If C=3
: Then
: Goto A
: End
- Code:
If C=3:Goto A
Re: Programme calcul de résistances
Ceci n'est même plus une question d'optimisation mais une aberration pour ce langage. Soit tu cherches une solution sans Goto telle que mon For soit tu enlèves les Then/End pour éviter le risque de bug par la suite.
Je te propose ceci.
il ne fallait pas : 10^(M)sum(seq(L1(C)10^(3-C),C,1,3
mais il fallait : Msum(seq(L1(C)10^(3-C),C,1,3
Car M n'est pas l'exposant mais la valeur élevée à l'exposant.
- Code:
: If C=3
: Then
: Goto A
: End
Je te propose ceci.
- Code:
For(C,1,3
:Lbl M
:0
:Menu("Couleur?","0 Noir",0,"1 Marron",1,"2 Rouge",2,"3 Orange",3,"4 Jaune",4,"5 Vert",5,"Autres",S
:Lbl S
:Menu("Couleur?","6 Bleu",6,"7 Violet",7,"8 Gris",8,"9 Blanc",9,"Retour",M
:Lbl 9
:Ans+1
:Lbl 8
:Ans+1
:Lbl 7
:Ans+1
:Lbl 6
:Ans+1
:Lbl 5
:Ans+1
:Lbl 4
:Ans+1
:Lbl 3
:Ans+1
:Lbl 2
:Ans+1
:Lbl 1
:Ans+1
:Lbl 0
:Ans->L1(C
:End
:Lbl A
:.01
:Menu("Couleur?","Argent",10,"Or",11,"Noir",12,"Marron",13,"Rouge",14,"Orange",15,"Autres",T
:Lbl T
:Menu("Couleur?","Jaune",16,"Vert",17,"Bleu",18,"Violet",19;"Retour",A
:Lbl 19
:10Ans
:Lbl 18
:10Ans
:Lbl 17
:10Ans
:Lbl 16
:10Ans
:Lbl 15
:10Ans
:Lbl 14
:10Ans
:Lbl 13
:10Ans
:Lbl 12
:10Ans
:Lbl 11
:10Ans
:Lbl 10
:Ans->M
:ClrHome
/* //// choisir entre ces output...
:Output(1,1,L1(1
:Output(1,2,L1(2
:Output(1,3,L1(3
:Output(1,5,M
*/ //// ...et cette pause
:Sci
:Pause Msum(seq(L1(C)10^(3-C),C,1,3 // ligne corrigée depuis 10^(M)sum(seq(L1(C)10^(3-C),C,1,3
:Normal
////
:Menu("6 bandes?","Oui",20,"Non",21
:Lbl 20
:7
:Menu("Couleur?","Marron",22,"Rouge",23,"Orange",24,"Jaune",25,"Bleu",26,"Violet",27,"Blanc",28
:Lbl 22
:Ans-1
:Lbl 23
:Ans-1
:Lbl 24
:Ans-1
:Lbl 25
:Ans-1
:Lbl 26
:Ans-1
:Lbl 27
:Ans-1
:Lbl 28
:Ans->Z
:{100,50,15,25,10,5,1 // ordre corrigé
:Ans(Z->Z
:ClrHome
:Output(1,5,"PPM/°C
:Output(1,1,Z
:Lbl 21
il ne fallait pas : 10^(M)sum(seq(L1(C)10^(3-C),C,1,3
mais il fallait : Msum(seq(L1(C)10^(3-C),C,1,3
Car M n'est pas l'exposant mais la valeur élevée à l'exposant.
Dernière édition par Linkakro le Dim 4 Mai 2014 - 15:21, édité 2 fois
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Programme calcul de résistances
Bon, du coup il ne manque plus que la tolérance à ajouter. Je tiens à préciser que l'ordre des valeurs doit bien être de : 100,50,15,25,10,5,1 et non 100,50,25,15,10,5,1.
En tout cas merci beaucoup c'est d'une grande aide !
Je publie le programme final d'ici peu !
En tout cas merci beaucoup c'est d'une grande aide !
Je publie le programme final d'ici peu !
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
Malheureusement, à moins que j'aie une erreur de recopie, je crois qu'il ne fonctionne pas. Si je teste les couleurs d'une résistance d'1kΩ, c'est à dire Noir (pour le zéro, car il n'y a que 4 bandes)-Marron-Noir-Rouge, avec le programme de Linkakro j'obtiens 1,0232929...Ω.
J'ai remarqué que la variable M dans cette ligne :
EDIT : En fait il fonctionne avec une "Err:Overflow" à ladite ligne :
J'ai remarqué que la variable M dans cette ligne :
- Code:
:Pause 10^(M)sum(seq(L1(C)10^(3-C),C,1,3
EDIT : En fait il fonctionne avec une "Err:Overflow" à ladite ligne :
- Code:
:Pause 10^(M)sum(seq(L1(C)10^(3-C),C,1,3
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
J'ai oublié un stockage dans M après le menu du nombre de zéro. Je modifie. Je change aussi l'ordre des sorties du menu, comme ça il y a des "10Ans" et "0.01" au lieu de "0.1Ans" et "E7".
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Programme calcul de résistances
Le programme final, désolé pour le retard. Il est buggé, mais peut être qu'une vue d'ensemble aiderait à mieux repérer le(s) problème(s) :
Ce qui a changé :
- Les labels ont changé de nom : on économise des octets !
- Le calcul de la tolérance a été ajouté : peut être est-ce là le bug ? en tout cas le calcul de la tolérance fonctionne
Pour ce qui est des bugs : il me met encore une erreur overflow à la ligne que j'ai déjà pointée plus tôt dans le topic, et l'affichage alterne entre Sci ou Normal selon quand je le démarre...
Note : le petit carré que j'ai reproduit comme j'ai pu est un caractère que vous retrouverez dans le catalogue. Pour les TI antérieures à la 82stats, j'ai beau chercher je ne le trouve pas. Bon, c'est pour faire le signe %, donc tout le monde trouvera bien une solution je pense
@Linkakro : je n'ai pas compris la signification de ton annotation sur plusieurs lignes là :
@Wistaro : Je n'ai pas encore eu le temps de développer le tien, je tenais à déjà finir ce qui est commencé
EDIT : le programme a été corrigé : ce code est fonctionnel maintenant
- Code:
:For(X,1,3
:Lbl A
:0
:Menu("Couleur?","Noir",0,"Marron",1,"Rouge",2,"Orange",3,"Jaune",4,"Vert",5,"Autres",X
:Lbl X
:Menu("Couleur?","Bleu",6,"Violet",7,"Gris",8,"Blanc",9,"Retour",A
:Lbl 9
:Ans+1
:Lbl 8
:Ans+1
:Lbl 7
:Ans+1
:Lbl 6
:Ans+1
:Lbl 5
:Ans+1
:Lbl 4
:Ans+1
:Lbl 3
:Ans+1
:Lbl 2
:Ans+1
:Lbl 1
:Ans+1
:Lbl 0
:Ans->L1(X
:End
:Lbl B
:.01
:Menu("Couleur?","Argent",E,"Or",F,"Noir",G,"Marron",H,"Rouge",I,"Orange",J,"Autres",Y
:Lbl Y
:Menu("Couleur?","Jaune",K,"Vert",L,"Bleu",M,"Violet",N,"Retour",B
:Lbl N
:10Ans
:Lbl M
:10Ans
:Lbl L
:10Ans
:Lbl K
:10Ans
:Lbl J
:10Ans
:Lbl I
:10Ans
:Lbl H
:10Ans
:Lbl G
:10Ans
:Lbl F
:10Ans
:Lbl E
:Ans->M
:Lbl C
:9
:Menu("Couleur?","Argent",O,"Or",P,"Noir",Q,"Marron",R,"Rouge",S,"Vert",T,"Autres",Z
:Lbl Z
:Menu("Couleur?","Bleu",U,"Violet",V,"Gris",W,"Retour",C
:Lbl O
:Ans-1
:Lbl P
:Ans-1
:Lbl Q
:Ans-1
:Lbl R
:Ans-1
:Lbl S
:Ans-1
:Lbl T
:Ans-1
:Lbl U
:Ans-1
:Lbl V
:Ans-1
:Lbl W
:Ans->Θ
:{10,5,20,1,2,.5,.25,.1,.05
:Ans(Θ->Θ
:ClrHome
:Output(3,4,"I%
:Output(3,1,Θ
:Sci
:Pause Msum(seq(L1(X)10^(3-X),X,1,3
:Normal
:Menu("6 bandes?","Oui",D,"Non",16
:Lbl D
:7
:Menu("Couleur?","Marron",10,"Rouge",11,"Orange",12,"Jaune",13,"Bleu",14,"Violet",15,"Blanc",[Θ]
:Lbl 10
:Ans-1
:Lbl 11
:Ans-1
:Lbl 12
:Ans-1
:Lbl 13
:Ans-1
:Lbl 14
:Ans-1
:Lbl 15
:Ans-1
:Lbl Θ
:Ans->Z
:{100,50,15,25,10,5,1
:Ans(Z->Z
:ClrHome
:Output(1,5,"PPM/°C
:Output(1,1,Z
:Lbl 16
Ce qui a changé :
- Les labels ont changé de nom : on économise des octets !
- Le calcul de la tolérance a été ajouté : peut être est-ce là le bug ? en tout cas le calcul de la tolérance fonctionne
Pour ce qui est des bugs : il me met encore une erreur overflow à la ligne que j'ai déjà pointée plus tôt dans le topic, et l'affichage alterne entre Sci ou Normal selon quand je le démarre...
Note : le petit carré que j'ai reproduit comme j'ai pu est un caractère que vous retrouverez dans le catalogue. Pour les TI antérieures à la 82stats, j'ai beau chercher je ne le trouve pas. Bon, c'est pour faire le signe %, donc tout le monde trouvera bien une solution je pense
@Linkakro : je n'ai pas compris la signification de ton annotation sur plusieurs lignes là :
- Code:
/*
:Output(1,1,L1(1
:Output(1,2,L1(2
:Output(1,3,L1(3
:Output(1,5,M
*/
@Wistaro : Je n'ai pas encore eu le temps de développer le tien, je tenais à déjà finir ce qui est commencé
EDIT : le programme a été corrigé : ce code est fonctionnel maintenant
Dernière édition par Mingerton le Sam 20 Sep 2014 - 12:00, édité 5 fois
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
J'ai écris ça comme un commentaire de langage C pour montrer le rapport entre mon calcul et l'affichage rudimentaire de ce que tu avais écris précédemment. Retire cela du programme si l'affichage, en nombre complet qui vient juste après, te convient.
Quand il y a un problème, décris ce qui se passe, le type d'erreur et son emplacement s'il y en a une. S'il y a un bug on le trouverait plus vite avec ta description.
Le carré que tu décris est un token permettant de désigner le curseur de point graphique semblable dans la configuration des graphiques statistiques.
Il se trouve dans le menu GraphStats/StatPlots et à la condition que l'éditeur de programme soit actif, pour le saisir dans un programme.
Sur une TI82 sans le catalogue ni chaîne, je crois impossible de l'obtenir hors d'un programme.
Un caractère pourcent est inclus dans le token du nom de la variable I% du solveur financier dès la 82stats.
[2nde]+[math(finance)]+[droite]+[1].
Le catalogue de Tout82 (réalisé par Persalteas et moi) donne tous les emplacements.
http://www.tout82.org/t151-catalogue-du-ti-basic-z80
Quand il y a un problème, décris ce qui se passe, le type d'erreur et son emplacement s'il y en a une. S'il y a un bug on le trouverait plus vite avec ta description.
Le carré que tu décris est un token permettant de désigner le curseur de point graphique semblable dans la configuration des graphiques statistiques.
Il se trouve dans le menu GraphStats/StatPlots et à la condition que l'éditeur de programme soit actif, pour le saisir dans un programme.
Sur une TI82 sans le catalogue ni chaîne, je crois impossible de l'obtenir hors d'un programme.
Un caractère pourcent est inclus dans le token du nom de la variable I% du solveur financier dès la 82stats.
[2nde]+[math(finance)]+[droite]+[1].
Le catalogue de Tout82 (réalisé par Persalteas et moi) donne tous les emplacements.
http://www.tout82.org/t151-catalogue-du-ti-basic-z80
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Programme calcul de résistances
Ok. Donc je décris l'erreur : c'est une "Err:Overflow" qui pointe donc sur ladite ligne, plus précisément sur le sum(. Le programme s'arrête directement, et l'affichage si je teste ma résistance de 1k est :
"010E1E2
5E0%"
ou alternativement, pour je ne sais quelle raison :
"010 100
5 %"
Les nombres sont donc bien là, mais ils ne sont pas multipliés. Le calcul de la tolérance fonctionne, et celui du coefficient de température aussi, mais il n'a pas le temps de fonctionner tel qu'est le programme.
Voilà, j'espère que ceci vous aidera, mais moi je ne peut rien en faire !
"010E1E2
5E0%"
ou alternativement, pour je ne sais quelle raison :
"010 100
5 %"
Les nombres sont donc bien là, mais ils ne sont pas multipliés. Le calcul de la tolérance fonctionne, et celui du coefficient de température aussi, mais il n'a pas le temps de fonctionner tel qu'est le programme.
Voilà, j'espère que ceci vous aidera, mais moi je ne peut rien en faire !
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
Overflow signifie que le résultat dépasse la capacité de la calculatrice avec un exposant supérieur à 99. Reste encore à savoir pourquoi cela dépasse.
Vérifie la valeur de M qui représente le nombre de zéros finaux de l'anneau 4. (consulte la juste après l'erreur)
Vérifie que tu as un seul affichage du nombre, que tu n'as pas simultanément tes Output et ma Pause. C'est à choisir entre l'un et l'autre, ou s'assurer qu'il n'y ait pas de conflit. Sinon tu peux avoir une superposition et on ne comprend plus rien.
Vérifie la valeur de M qui représente le nombre de zéros finaux de l'anneau 4. (consulte la juste après l'erreur)
Vérifie que tu as un seul affichage du nombre, que tu n'as pas simultanément tes Output et ma Pause. C'est à choisir entre l'un et l'autre, ou s'assurer qu'il n'y ait pas de conflit. Sinon tu peux avoir une superposition et on ne comprend plus rien.
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Programme calcul de résistances
Très bien ! Donc le problème est réglé : il résidait dans le 10^ qui en fait est inutile : c'est M la valeur que l'on recherche. J'édite le programme dans mon précédent message, il est entièrement fonctionnel maintenant ! En tout cas merci à tous pour votre aide !
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Re: Programme calcul de résistances
J'ai reporté dans mon post l'erreur de programme que tu as signalé.
Je voie une description de l'erreur overflow dans le message de ton code, alors que je n'en avais pas remarqué de potable lorsque je te répondis.
Le programme peut toujours être retouché en utilisant I% pour le symbole pourcent.
Je voie une description de l'erreur overflow dans le message de ton code, alors que je n'en avais pas remarqué de potable lorsque je te répondis.
Le programme peut toujours être retouché en utilisant I% pour le symbole pourcent.
Linkakro- ----------------------
- Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Programme calcul de résistances
Oui excuse moi, je pensais que le symbole % serait assez clair pour ceux qui lisent le code. J'édite ça tout de suite.
Mingerton- ----------------------
- Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande
Sujets similaires
» Programme de Cryptographie
» Priorités de calcul Axe Parser
» Problème calcul avec listes
» un gros programme de troll
» Programme "DROITES"
» Priorités de calcul Axe Parser
» Problème calcul avec listes
» un gros programme de troll
» Programme "DROITES"
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Dim 16 Oct 2022 - 21:11 par Wistaro
» Bonne année 2018!
Ven 2 Nov 2018 - 19:42 par Ti64CLi++
» Lancement du TI-Concours 2017 !
Sam 20 Mai 2017 - 0:27 par Paulo1026
» Chaînes Youtube des membres
Ven 19 Mai 2017 - 22:41 par Wistaro
» cacul du taux d'intêret
Ven 24 Mar 2017 - 21:50 par m@thieu41
» [Projet] Un mario by tout82
Dim 29 Jan 2017 - 14:09 par Wistaro
» Cherche documentation assembleur TI82stat
Mer 25 Jan 2017 - 12:29 par Ti64CLi++
» Probleme Ti-82 Stats fr
Jeu 12 Jan 2017 - 13:56 par Ti64CLi++
» ROM 82 stats.fr
Jeu 15 Déc 2016 - 10:24 par Ti64CLi++