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 |
Absorption et Emission de photons
3 participants
Page 3 sur 3
Page 3 sur 3 • 1, 2, 3
Re: Absorption et Emission de photons
J'ai relu et comparé caractère par caractère le code sur le forum et sur la calculatrice, je ne trouve aucune différence cette fois. Et le test sur calculatrice fonctionne tel que mes deux exemples.
If 0.001 > Ans
Une erreur et un bug d'affichage du forum corrigé.
EDIT 2 : j'ajoute ça pour aider quelqu'un qui passerait plus tard et aurait les mêmes difficultés que Pito2901.
EDIT 1 :
- code de test SEULEMENT l'absorption:
- 5->Z
{-10.44,-5.77,-5.55,-4.98,-3.73->L1
Input"LAMBDA(NM)=",L
1241,5285520433/L->E
Disp E
For(B,1,Z-1
For(C,B+1,Z
Pause L1(C)-L1(B)
Pause abs(1-E/abs(L1(C)-L1(B)))
If 0.001 > Ans
Pause {B-1,C-1
End
End
If 0.001 > Ans
Une erreur et un bug d'affichage du forum corrigé.
EDIT 2 : j'ajoute ça pour aider quelqu'un qui passerait plus tard et aurait les mêmes difficultés que Pito2901.
- affs:
- exemple pour la saisie 266
4.67
5.566227856e-4
{0,1}
4.89
.0455213555
5.46
.1451647305
6.71
.3044112412
.22
20.21545714
.79
4.908101989
2.04
1.287941457
.57
7.188422055
1.82
1.564505809
1.25
2.733910457
EDIT 1 :
- résultat:
- les écarts sont
4.67
4.89
5.46
6.71
.22
.79
2.04
.57
1.82
1.25
je tape 267 etc puis obtient les résultats suivants avec les paires
267 : 4.649919671 non
266 : 4.667400572 et 4.67 et {0,1}
265 : 4.685013404 et 4.67 et {0,1}
264 : 4.702759667 non
607 : 2.045351816 non
608 : 2.04198775 et 2.04 et {1,4}
609 : 2.038634732 et 2.04 et {1,4}
610 : 2.035292708 non
2175 : .5708177251 non
2176 : .5705554008 et .57 et {2,3}
2177 : .5702933174 et .57 et {2,3}
2178 : .5700314748 et .57 et {2,3}
2179 : .5697698724 et .57 et {2,3}
2180 : .5695085101 et .57 et {2,3}
2181 : .5692473875 non
Lorsque je tape 266, j'obtien comme série de 1-E/abs(...)
5.566227856e-4
.0455213555
.1451647305
.3044112412
20.21545714
4.908101989
1.287941457
7.188422055
1.564505809
2.733910457
Dernière édition par Linkakro le Dim 15 Déc 2013 - 15:01, édité 4 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: Absorption et Emission de photons
Pourquoi "seulement l'absorption, de toute façon le résultat reste le même, et même avec ce bout de code le problème persiste...
(j'ai recopié le programme en entier 3 fois...)
(j'ai recopié le programme en entier 3 fois...)
Re: Absorption et Emission de photons
Ce bout de code aurais dû permettre de chercher une erreur dans la zone concernée au lieu de scruter d'autres parties du programme qui ne sont pas en cause.
J'ajoute avec le programme test de l'absorption quelques tests montrant toutes les valeurs, en espérant cibler l'origine du problème.
J'ajoute avec le programme test de l'absorption quelques tests montrant toutes les valeurs, en espérant cibler l'origine du problème.
Dernière édition par Linkakro le Sam 14 Déc 2013 - 23:19, édité 1 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: Absorption et Emission de photons
avec 266, j'obtiens:
Avec 609:
Voilà, qu'est ce qu'on peut faire avec ça ???
EDIT: En fait je viens de m'apercevoir que j'obtiens les mêmes résultats, comment faire pour afficher juste le résultat voulu maintenant ?
- Résultats:
- 4.667400572
4.67
5.566227856E-4
{0 1}
4.89
0.0455213555
{0 2}
5.46
.1451647305
{0 3}
6.71
.3044112412
{0 4}
.22
20.21545714
{1 2}
.79
4.908101989
{1 3}
2.04
1.287941457
{1 4}
.57
7.188422055
{2 3}
1.82
1.564505809
{2 4}
1.25
2.733920457
{3 4}
Fait
Avec 609:
- Résultats:
- 2.038634732
4.67
.5634615134
{0 1}
4.89
.5831012817
{0 2}
5.46
.6266236754
{0 3}
6.71
.6961796226
{0 4}
.22
8.266521511
{1 2}
.79
1.580550294
{1 3}
2.04
6.692488141E-4
{1 4}
.57
2.576552162
{2 3}
1.82
.1201289739
{2 4}
1.25
.6309077859
{3 4}
Fait.
Voilà, qu'est ce qu'on peut faire avec ça ???
EDIT: En fait je viens de m'apercevoir que j'obtiens les mêmes résultats, comment faire pour afficher juste le résultat voulu maintenant ?
Re: Absorption et Emission de photons
La première valeur: 4.667400572 correspond à celle recherchée.
Ensuite il y a:
4.67 //La valeur en eV dans ce cas
5.566227856E-4 //Plus cette valeur est proche de 0 et plus le résultat est probable.
{0 1} //Le cas en question
Donc tu as 2 solutions: soit tu compares les résultats, soit tu cherche la plus petite valeur avant l'affichage du cas (ici il s'agit de 5.566227856E-4 donc du cas {0 1}).
Pour 609 il s'agit de 6.692488141E-4, soit le cas {1 4}
Pour afficher juste le cas voulu il faut revenir aux algo précédents, avec juste l'affichage de L2-1 à la fin.
Ensuite il y a:
4.67 //La valeur en eV dans ce cas
5.566227856E-4 //Plus cette valeur est proche de 0 et plus le résultat est probable.
{0 1} //Le cas en question
Donc tu as 2 solutions: soit tu compares les résultats, soit tu cherche la plus petite valeur avant l'affichage du cas (ici il s'agit de 5.566227856E-4 donc du cas {0 1}).
Pour 609 il s'agit de 6.692488141E-4, soit le cas {1 4}
Pour afficher juste le cas voulu il faut revenir aux algo précédents, avec juste l'affichage de L2-1 à la fin.
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Absorption et Emission de photons
Dac, et donc que faut-il changer dans le dernier bout de code de Linka pour obtenir le L2-1 ?
Re: Absorption et Emission de photons
Essaye donc:
Tu peux aussi changer le 0.001 par la valeur qui te convient pour faire une recherche plus ou moins sélective.
Ca devrait marcher non?
- Code:
1241,5285520433/L->E
For(B,1,Z-1
For(C,B+1,Z
If 0.001>abs(1-E/abs(L1(C)-L1(B
Pause {B-1,C-1
End
End
Tu peux aussi changer le 0.001 par la valeur qui te convient pour faire une recherche plus ou moins sélective.
Ca devrait marcher non?
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Absorption et Emission de photons
Par contre je viens de le réadapter sur le code initial, et ben pour 609, il m'affiche rien ! ! ! HHHAAAAA ! ! ! !
J'ai ce code là, avec 266 et 2177 ça marche mais pour 608.59... NON ! ! !
J'ai ce code là, avec 266 et 2177 ça marche mais pour 608.59... NON ! ! !
- Code:
EffEcr
Input "NB ETATS EXC:",Z
If Z<6
Then
If Z>=1
Input "ETAT 0:",A
Input "ETAT 1:",B
If Z>=2
Input "ETAT 2:",C
If Z>=3
Input "ETAT 3:",D
If Z>=4
Input "ETAT 4:",E
If Z>=5
Input "ETAT 5:",F
If Z>=6
Input "ETAT 6:",G
Else
Disp "TROP !"
Stop
End
{A,B,C,D,E,F,G->L1
Lbl M
Menu("LAMBDA","CALCUL",A,"DEMANDER",B
Lbl A
EffEcr
Disp "POUR CHOISIR","L'ETAT 1, TAPEZ 1"
Input "1ER ETAT:",G
Input "2EME ETAT:",H
abs(L1(G+1)-L1(H+1->E
1241,5285520433/E->L
Disp "E(eV)=",E
Disp "LAMBDA(NM)=",L
Pause
Goto M
Lbl B
Input"LAMBDA(NM)=",L
1241,5285520433/L->E
Disp E
For(B,1,Z-1
For(C,B+1,Z
If .001>abs(1-E/abs(L1(C)-L1(B))
Pause {B-1,C-1
End
End
Pause
Goto M
Dernière édition par pito2901 le Dim 15 Déc 2013 - 15:05, édité 1 fois
Re: Absorption et Emission de photons
Je viens de faire des essais, j'ai fais les calculs avec:
état 1 vers état 4 → 608.5924275
2 vers 4 → 682.1585451
3 vers 4 → 993.2228416
0 vers 4 → 185.0266098
Et quand je rentre les valeurs dans le input Lambda du lbl B, et bien ça ne marche pas, donc j'en conclus que dès que c'est un calcul vers l'état 4 (soit dans ce cas, c'est le dernier état excité) et bien ça ne marche pas.
EDIT: chose bizarre, il y a aussi de 0 vers 3, qui donne 227.3861817.
état 1 vers état 4 → 608.5924275
2 vers 4 → 682.1585451
3 vers 4 → 993.2228416
0 vers 4 → 185.0266098
Et quand je rentre les valeurs dans le input Lambda du lbl B, et bien ça ne marche pas, donc j'en conclus que dès que c'est un calcul vers l'état 4 (soit dans ce cas, c'est le dernier état excité) et bien ça ne marche pas.
EDIT: chose bizarre, il y a aussi de 0 vers 3, qui donne 227.3861817.
Re: Absorption et Emission de photons
Tu n'as pas pris le bon code...
Remplace cette ligne:
If .001>abs(E-L1(C)+L1(B))
par:
If .001>abs(1-E/abs(L1(C)-L1(B
Ca devrait marcher...
(PS: Évites le triple post par contre.)
Remplace cette ligne:
If .001>abs(E-L1(C)+L1(B))
par:
If .001>abs(1-E/abs(L1(C)-L1(B
Ca devrait marcher...
(PS: Évites le triple post par contre.)
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Absorption et Emission de photons
Désolé faute de recopiage (j'édite), j'ai bien mis ça dans ma Ti...
PS: Désolé...
PS: Désolé...
Re: Absorption et Emission de photons
Et ça marche du coup ou pas?
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Absorption et Emission de photons
Rajoute cette ligne qu'on puisse voir ce qui ne va pas (parce que ça devrait marcher je ne comprends pas...).
- Code:
For(B,1,Z-1
For(C,B+1,Z
Pause abs(1-E/abs(L1(C)-L1(B //Ligne de test
If .001>abs(1-E/abs(L1(C)-L1(B
Pause {B-1,C-1
End
End
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Absorption et Emission de photons
Ok donc voici les résultats:
état 1 vers état 4 → 608.5924275
.5631691649
.5828220859
.6263736264
8.272727272
1.582278481
2.578947368
2 vers 4 → 682.1585451
.6102783726
.627811861
.6666666667
7.272727272
1.303797468
2.192982456
3 vers 4 → 993.2228416
.7323340471
.7443762781
.7710622711
4.681818182
.5822784811
1.192982456
0 vers 4 → 185.0266098
.4368308354
.3721881394
.2289377292
29.50000001
7.493670888
10.77192983
0 vers 3 → 227.3861817 (quand je le mets en entier ça marche mais quand je rentre 227, non)
.1711539134
.1184639623
.0017012409
23.86040353
5.923150349
8.595243466
Voilà...
état 1 vers état 4 → 608.5924275
.5631691649
.5828220859
.6263736264
8.272727272
1.582278481
2.578947368
2 vers 4 → 682.1585451
.6102783726
.627811861
.6666666667
7.272727272
1.303797468
2.192982456
3 vers 4 → 993.2228416
.7323340471
.7443762781
.7710622711
4.681818182
.5822784811
1.192982456
0 vers 4 → 185.0266098
.4368308354
.3721881394
.2289377292
29.50000001
7.493670888
10.77192983
0 vers 3 → 227.3861817 (quand je le mets en entier ça marche mais quand je rentre 227, non)
.1711539134
.1184639623
.0017012409
23.86040353
5.923150349
8.595243466
Voilà...
Re: Absorption et Emission de photons
Mais il manque des valeurs dans ta liste d'affichages !
Test : Ajoute un affichage systématique de la paire. Pour ne pas perturber la lecture de tout le reste, je propose de le placer en haut à gauche de l'écran avec un Output.
Puis tu verras si toutes les paires sont analysées. (en tout il doit y en avoir 10)
Pense à affecter Z, car ce sont les paires d'indices finissant par 4 qui te manquent
=========
J'avais préparé un pavé sur les tolérances, mais comme il semble y avoir un autre problème, je le poserai plus tard.
=========
Confusion entre les types de comparaison...
Je résume les différentes opérations de comparaison pour ne plus les confondre :
Test : Ajoute un affichage systématique de la paire. Pour ne pas perturber la lecture de tout le reste, je propose de le placer en haut à gauche de l'écran avec un Output.
Puis tu verras si toutes les paires sont analysées. (en tout il doit y en avoir 10)
Pense à affecter Z, car ce sont les paires d'indices finissant par 4 qui te manquent
- code test:
- //L1 déjà remplie
5->Z
For(B,1,Z-1
For(C,B+1,Z
Output(2,1,{B-1,C-1 // Ligne de test
Pause abs(1-E/abs(L1(C)-L1(B //Ligne de test
If .001>abs(1-E/abs(L1(C)-L1(B
Pause {B-1,C-1
End
End
=========
J'avais préparé un pavé sur les tolérances, mais comme il semble y avoir un autre problème, je le poserai plus tard.
=========
Confusion entre les types de comparaison...
Je résume les différentes opérations de comparaison pour ne plus les confondre :
- Spoiler:
- Ici je suis dans la boucle
For(B,1,Z-1
For(C,B+1,Z
// comparaison de L1(C), L1(B) et E
End
End
Voici maintenant les variantes de test de comparaison des sauts d'énergie à celle du photon.
Je tiens compte de la liste, du type de comparaison, et je suppose que E est positif puisque c'est un photon.
égalité brute, liste nécessairement croissante
If E=L1(C)-L1(B)
égalité brute, liste quelconque
If E=abs(L1(C)-L1(B))
comparaison avec tolérance sans échelle, liste croissante
Tolérance à la première décimale
If 0.1>abs(E-L1(C)+L1(B))
comparaison avec tolérance et avec échelle, liste croissante
Tolérance troisième chiffre
If 0.001>abs(1-E/(L1(C)-L1(B)))
comparaison avec tolérance et avec échelle, liste quelconque
Tolérance troisième chiffre
If 0.001>abs(1-E/abs(L1(C)-L1(B)))
- ah les bugs:
- Parfois je ne sais pas ce que tu changes pour dire soudainement que ça marche, alors que je ne trouve pas de différence avec des codes passés.
Est-ce à cause de mes erreurs de copie à répétition ?
Bien que je modifie des messages pour corriger après coup, je les signale par la suite quand ce n'est pas trop tard, et lorsque je signale cela devrait avertir qu'il y a des choses à relire et corriger.
Dernière édition par Linkakro le Dim 15 Déc 2013 - 16:54, édité 1 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: Absorption et Emission de photons
état 1 vers état 4 → 608.5924275
.5631691649
.5828220859
.6263736264
.695976155
8.272727272
1.582278481
4.569E-11
{1 4}
Puis 2.578947368 avec en haut à gauche : {2,3}
Puis .1208791208 avec en haut à gauche : {2,4}
Puis .6319999999 avec en haut à gauche : {3,4}
Tout ça juste pour 608.5924275
Est-ce que je fais les autres ?
.5631691649
.5828220859
.6263736264
.695976155
8.272727272
1.582278481
4.569E-11
{1 4}
Puis 2.578947368 avec en haut à gauche : {2,3}
Puis .1208791208 avec en haut à gauche : {2,4}
Puis .6319999999 avec en haut à gauche : {3,4}
Tout ça juste pour 608.5924275
Est-ce que je fais les autres ?
Re: Absorption et Emission de photons
Comment se fait-il que tu ais les output seulement à la fin ???
Si le problème venait de la boucle et non du test, ce ne serait pas la peine de refaire ce test pour d'autres valeurs de L.
Si le problème venait de la boucle et non du test, ce ne serait pas la peine de refaire ce test pour d'autres valeurs de L.
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: Absorption et Emission de photons
Non tu as toutes les valeurs, maintenant essayes d'enlever les lignes de test:
Edit: J'ai saisis le problème:
Donc corrige:
- Code:
5->Z
For(B,1,Z-1
For(C,B+1,Z
If .001>abs(1-E/abs(L1(C)-L1(B
Pause {B-1,C-1
End
End
Edit: J'ai saisis le problème:
- Code:
If Z>=1
Input "ETAT 0:",A
Input "ETAT 1:",B
If Z>=2
Input "ETAT 2:",C
If Z>=3
Input "ETAT 3:",D
If Z>=4
Input "ETAT 4:",E
If Z>=5
Input "ETAT 5:",F
If Z>=6
Input "ETAT 6:",G
Else
Donc corrige:
- Code:
//Enlève le 5->Z
For(B,1,Z //Ici enlève le -1
For(C,B+1,Z+1 //Et ici rajoute le +1
If .001>abs(1-E/abs(L1(C)-L1(B
Pause {B-1,C-1
End
End
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Absorption et Emission de photons
T'es un boss ! Tu as enfin résolu le problème. Félicitations à vous deux ! ! !
Sinon j'ai toujours le problème de 0 à 3 quand je mets seulement 227, si j'écris en entier le problème cesse. cela doit donc venir du 0.001 que dois je mettre pour qu'il soit plus large ?
EDIT: J'ai mis 0.01 et ça marche ! Youpi !
MERCI MERCI MERCI BEAUCOUP ! ! !
Sinon j'ai toujours le problème de 0 à 3 quand je mets seulement 227, si j'écris en entier le problème cesse. cela doit donc venir du 0.001 que dois je mettre pour qu'il soit plus large ?
EDIT: J'ai mis 0.01 et ça marche ! Youpi !
MERCI MERCI MERCI BEAUCOUP ! ! !
Re: Absorption et Emission de photons
petite rétrospective : tu as eu à la fois :
-variable N au lieu de Z
-tolérance inadaptée
-mes erreurs dans les formules de tolérance
-la valeur Z inadaptée
Maintenant je sais pourquoi mes test du programme complet fonctionnaient et pas les tiens : je ne saisissais pas avec les Input A,B,C ... c'est de ma faute.
Toutefois j'avais signalé le problème de la saisie au tout début, et l'absence de réponse à ce propos, l'a faite tomber dans l'oubli.
============
Quant à la tolérance à choisir, je signale que dans certaines situations la tolérance sera trop grande devant les données, dans d'autres elle sera trop petite.
Il n'existe pas de valeur miracle de tolérance.
Si la longueur d'onde est un résultat de calcul, et que tu veux l'inclure dans le programme, tu as intérêt à stocker le résultat dans une variable directement, et saisir son nom dans l'input "LAMDA(NM):" lors de l'exécution de programme.
Et si tu as calculé la longueur d'onde avec l'émission dans le programme, tu peux simplement saisir "L" dans le champ Lamda de l'absorption.
Ce sont les chiffres significatifs qui comptent, pas le nombre de décimales, donc tu n'as pas forcément besoin de saisir tout ce que tu vois.
Je poste des corrections complètes (ou je l'espère), et en adaptant Z lors de la saisie plutôt que dans la boucle de recherche.
Il manque quelques cas mais je fais confiance à ceux qui pourraient le lire, ils recouperont les cas pour adapter chaque morceau.
début : variables VS liste
début et fin : Z est SOIT le nombre d'états, SOIT l'indice maximal
fin : automatique VS comparaison manuelle
-variable N au lieu de Z
-tolérance inadaptée
-mes erreurs dans les formules de tolérance
-la valeur Z inadaptée
Maintenant je sais pourquoi mes test du programme complet fonctionnaient et pas les tiens : je ne saisissais pas avec les Input A,B,C ... c'est de ma faute.
Toutefois j'avais signalé le problème de la saisie au tout début, et l'absence de réponse à ce propos, l'a faite tomber dans l'oubli.
============
Quant à la tolérance à choisir, je signale que dans certaines situations la tolérance sera trop grande devant les données, dans d'autres elle sera trop petite.
Il n'existe pas de valeur miracle de tolérance.
Si la longueur d'onde est un résultat de calcul, et que tu veux l'inclure dans le programme, tu as intérêt à stocker le résultat dans une variable directement, et saisir son nom dans l'input "LAMDA(NM):" lors de l'exécution de programme.
Et si tu as calculé la longueur d'onde avec l'émission dans le programme, tu peux simplement saisir "L" dans le champ Lamda de l'absorption.
Ce sont les chiffres significatifs qui comptent, pas le nombre de décimales, donc tu n'as pas forcément besoin de saisir tout ce que tu vois.
- incertitudes et abandon de l'automate:
- Pour que le système fonctionne, il faudrait trouver un ensemble acceptable entre :
-les différentes valeurs de niveau d'énergie
-la tolérance
-l'incertitude des données du calcul // le plus énervant
-l'incertitude de la saisie
-la capacité de la calculatrice
-???
Traiter précisément l'ensemble n'est pas aisé.
Je pense qu'il serait plus sage d'afficher les paires et les sauts d'énergie avec une tolérance très grande, et laisser l'utilisateur juger de la marge d'erreur lui-même dans les cas mitigieux.
Ainsi le programme remplira les calculs laborieux de soustraction, et la validité de l'absorption sera jugée par l'utilisateur.
Cela peut se faire avec :- Code:
Input L
1241.5285520433/L->E
Disp E
For(B,1,Z-1
For(C,B+1,Z
If 0.1>abs(1-E/abs(L1(C)-L1(B)))
Then
Disp L1(C)-L1(B)
Pause {B-1,C-1}
End
End
End
Je poste des corrections complètes (ou je l'espère), et en adaptant Z lors de la saisie plutôt que dans la boucle de recherche.
Il manque quelques cas mais je fais confiance à ceux qui pourraient le lire, ils recouperont les cas pour adapter chaque morceau.
début : variables VS liste
début et fin : Z est SOIT le nombre d'états, SOIT l'indice maximal
fin : automatique VS comparaison manuelle
- variables, nombre_etats, auto:
- // saisie variables (influe sur le début)
// Z est le nombre d'états (influe sur tout le début, et les Z à la fin)
// la fin automatique
EffEcr
Input "NB ETATS:",Z
If Z<8
Then
Input "ETAT 0:",A
If Z>=2
Input "ETAT 1:",B
If Z>=3
Input "ETAT 2:",C
If Z>=4
Input "ETAT 3:",D
If Z>=5
Input "ETAT 4:",E
If Z>=6
Input "ETAT 5:",F
If Z>=7
Input "ETAT 6:",G
Else
Disp "TROP !"
Stop
End
{A,B,C,D,E,F,G->L1
Lbl M
Menu("LAMBDA","CALCUL",A,"DEMANDER",B
Lbl A
EffEcr
Disp "POUR CHOISIR","L'ETAT 1, TAPEZ 1"
Input "1ER ETAT:",G
Input "2EME ETAT:",H
abs(L1(G+1)-L1(H+1->E
1241.5285520433/E->L
Disp "E(eV)=",E
Disp "LAMBDA(NM)=",L
Pause
Goto M
Lbl B
Input"LAMBDA(NM)=",L
1241.5285520433/L->E
Disp E
For(B,1,Z-1
For(C,B+1,Z
If 0.01>abs(1-E/abs(L1(C)-L1(B)))
Pause {B-1,C-1
End
End
Pause "FIN
Goto M
- variables, indice_max, auto:
- // saisie variables (influe sur le début)
// Z est le maximum d'indice (influe sur tout le début, et les Z à la fin)
// la fin automatique
EffEcr
Input "ETATS DE 0 A:",Z
If Z<6
Then
Input "ETAT 0:",A
If Z>=1
Input "ETAT 1:",B
If Z>=2
Input "ETAT 2:",C
If Z>=3
Input "ETAT 3:",D
If Z>=4
Input "ETAT 4:",E
If Z>=5
Input "ETAT 5:",F
If Z>=6
Input "ETAT 6:",G
Else
Disp "TROP !"
Stop
End
{A,B,C,D,E,F,G->L1
Lbl M
Menu("LAMBDA","CALCUL",A,"DEMANDER",B
Lbl A
EffEcr
Disp "POUR CHOISIR","L'ETAT 1, TAPEZ 1"
Input "1ER ETAT:",G
Input "2EME ETAT:",H
abs(L1(G+1)-L1(H+1->E
1241.5285520433/E->L
Disp "E(eV)=",E
Disp "LAMBDA(NM)=",L
Pause
Goto M
Lbl B
Input"LAMBDA(NM)=",L
1241.5285520433/L->E
Disp E
For(B,1,Z
For(C,B+1,Z+1
If 0.01>abs(1-E/abs(L1(C)-L1(B)))
Pause {B-1,C-1
End
End
Pause "FIN
Goto M
- liste, nombre_etats, auto:
- // saisie liste (influe sur le début)
// Z est le nombre d'états (influe sur le début, et les Z à la fin)
// la fin automatique
EffEcr
Input "NB ETATS:",Z
EffEcr
For(A,1,Z
// Output(1,14,A-1 \\ soit vous écrivez ça, soit vous remplacez TOUT avec le tout premier message de m@thieu41
Input "ETAT:",X \\
X->L1(A
End
Lbl M
Menu("LAMBDA","CALCUL",A,"DEMANDER",B
Lbl A
EffEcr
Disp "POUR CHOISIR","L'ETAT 1, TAPEZ 1"
Input "1ER ETAT:",G
Input "2EME ETAT:",H
abs(L1(G+1)-L1(H+1->E
1241.5285520433/E->L
Disp "E(eV)=",E
Disp "LAMBDA(NM)=",L
Pause
Goto M
Lbl B
Input"LAMBDA(NM)=",L
1241.5285520433/L->E
Disp E
For(B,1,Z-1
For(C,B+1,Z
If 0.01>abs(1-E/abs(L1(C)-L1(B)))
Pause {B-1,C-1
End
End
Pause "FIN
Goto M
- liste, indice_max, auto:
- // saisie liste (influe sur le début)
// Z est le nombre d'états (influe sur le début, et les Z à la fin)
// la fin automatique
EffEcr
Input "ETATS 0 A",Z
EffEcr
For(A,1,Z+1
// Output(1,14,A-1 \\ soit vous écrivez ça, soit vous remplacez TOUT CECI avec le tout premier message de m@thieu41
Input "ETAT:",X \\
X->L1(A
End
Lbl M
Menu("LAMBDA","CALCUL",A,"DEMANDER",B
Lbl A
EffEcr
Disp "POUR CHOISIR","L'ETAT 1, TAPEZ 1"
Input "1ER ETAT:",G
Input "2EME ETAT:",H
abs(L1(G+1)-L1(H+1->E
1241.5285520433/E->L
Disp "E(eV)=",E
Disp "LAMBDA(NM)=",L
Pause
Goto M
Lbl B
Input"LAMBDA(NM)=",L
1241.5285520433/L->E
Disp E
For(B,1,Z
For(C,B+1,Z+1
If 0.01>abs(1-E/abs(L1(C)-L1(B)))
Pause {B-1,C-1
End
End
Pause "FIN
Goto M
- liste, nombre_etat, manuel:
- // saisie liste (influe sur le début)
// Z est le nombre d'états (influe sur le début, et les Z à la fin)
\\ la fin est manuelle (l'utilisateur compare lui-même l'énergie des sauts à celle du photon), mais elle scrute tous les calculs
EffEcr
Input "NB ETATS:",Z
EffEcr
For(A,1,Z
// Output(1,14,A-1 \\ soit vous écrivez ça, soit vous remplacez TOUT avec le tout premier message de m@thieu41
Input "ETAT:",X \\
X->L1(A
End
Lbl M
Menu("LAMBDA","CALCUL",A,"DEMANDER",B
Lbl A
EffEcr
Disp "POUR CHOISIR","L'ETAT 1, TAPEZ 1"
Input "1ER ETAT:",G
Input "2EME ETAT:",H
abs(L1(G+1)-L1(H+1->E
1241.5285520433/E->L
Disp "E(eV)=",E
Disp "LAMBDA(NM)=",L
Pause
Goto M
Lbl B
Input"LAMBDA(NM)=",L
1241.5285520433/L->E
Disp E
For(B,1,Z-1
For(C,B+1,Z
Output(2,1,{B-1,C-1
Pause L1(C)-L1(B)
End
End
Pause "FIN
Goto M
Dernière édition par Linkakro le Dim 15 Déc 2013 - 20:25, é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: Absorption et Emission de photons
Je crois que tu t'es trompé sur les 2 premiers codes:
Le premier il faut prendre
For(B,1,Z
For(C,B+1,Z+1
Et le second
For(B,1,Z-1
For(C,B+1,Z
(tu as fait l'inverse)
Le premier il faut prendre
For(B,1,Z
For(C,B+1,Z+1
Et le second
For(B,1,Z-1
For(C,B+1,Z
(tu as fait l'inverse)
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Absorption et Emission de photons
Euh... j'ai un problème mais pas celui là. Ou bien on ne compte pas la même chose. Je regarde encore ça.
Je voulais adapter le début et donner un sens à Z.
EDIT: maintenant ce devrais être mieux. Je teste.
En revanche j'avais mal étiqueté le premier spoiler, il s'agit d'une saisie de variables, pas d'une liste. Modifié.
Je voulais adapter le début et donner un sens à Z.
EDIT: maintenant ce devrais être mieux. Je teste.
En revanche j'avais mal étiqueté le premier spoiler, il s'agit d'une saisie de variables, pas d'une liste. Modifié.
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: Absorption et Emission de photons
Sinon, à un moment j'ai évoqué si on pouvait rendre l'affichage de {0 1} par:
ETAT 0 à ETAT 1 ?
et s'il n'y a rien, on afficherai: PAS DE TRANSLATION
ETAT 0 à ETAT 1 ?
et s'il n'y a rien, on afficherai: PAS DE TRANSLATION
Re: Absorption et Emission de photons
Maintenant que tu as édité c'est bon.
Pour afficher état 0 à etat 1:
Au lieu de
Pour afficher état 0 à etat 1:
Au lieu de
- Code:
Pause {B-1,C-1
- Code:
//Avant les 2 for:
0->I
//Après le If (à la place du pause actuel):
Then
I+1->I
Output(I,1,"ETAT A ETAT //3 espaces entre ETAT et A
Output(I,6,B-1
Output(I,15,C-1
If I=8
Then
Pause
EffEcr
0->I
End
End
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: Absorption et Emission de photons
quand je mets 266 il affiche:
ETAT 0 A ETAT61
En fait il faut mettre un espace après le 2ème ETAT
ETAT 0 A ETAT61
En fait il faut mettre un espace après le 2ème ETAT
Re: Absorption et Emission de photons
Il peut y avoir des caractères sur la 16ième colonne, et dans ce cas il serait préférable d'écrire 3 espaces après le second ETAT, ou bien d'effacer l'écran avant la boucle de recherche.
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
. :
Page 3 sur 3 • 1, 2, 3
Page 3 sur 3
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++