Tout 82
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Connexion

Récupérer mon mot de passe

Chatbox externe


Derniers sujets
» [JEU] Mon voisin du dessous
Absorption et Emission de photons EmptyDim 16 Oct 2022 - 21:11 par Wistaro

» Bonne année 2018!
Absorption et Emission de photons EmptyVen 2 Nov 2018 - 19:42 par Ti64CLi++

» Lancement du TI-Concours 2017 !
Absorption et Emission de photons EmptySam 20 Mai 2017 - 0:27 par Paulo1026

» Chaînes Youtube des membres
Absorption et Emission de photons EmptyVen 19 Mai 2017 - 22:41 par Wistaro

» cacul du taux d'intêret
Absorption et Emission de photons EmptyVen 24 Mar 2017 - 21:50 par m@thieu41

» [Projet] Un mario by tout82
Absorption et Emission de photons EmptyDim 29 Jan 2017 - 14:09 par Wistaro

» Cherche documentation assembleur TI82stat
Absorption et Emission de photons EmptyMer 25 Jan 2017 - 12:29 par Ti64CLi++

» Probleme Ti-82 Stats fr
Absorption et Emission de photons EmptyJeu 12 Jan 2017 - 13:56 par Ti64CLi++

» ROM 82 stats.fr
Absorption et Emission de photons EmptyJeu 15 Déc 2016 - 10:24 par Ti64CLi++

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

-40%
Le deal à ne pas rater :
(CDAV) Machine à pâtes Philips 7000 series HR2665/96 à 148,99€
148.88 € 249.99 €
Voir le deal

Absorption et Emission de photons

3 participants

Page 1 sur 3 1, 2, 3  Suivant

Aller en bas

Absorption et Emission de photons Empty Absorption et Emission de photons

Message par pito2901 Mar 3 Déc 2013 - 22:03

Salut ! What a Face 

Voici un programme qui permet de calculer l'énergie en électron-volt et lambda en nm l'absorption ou l'émission d'un photon par un atome,
il suffit de rentrer les différents états excités de l'atome, choisissez de quel état à quel état vous voulez le calcul, et le programme fait le reste. (Jusqu'à 6 états mais possible d'en rajouter beaucoup plus !)

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:",J
Else
Disp "TROP !"
Stop
End
Lbl A
EffEcr
Disp "POUR CHOISIR","L'ETAT 1, TAPEZ 1"
Input "1ER ETAT:",G
If G=0:A->G
If G=1:B->G
If G=2:C->G
If G=3:D->G
If G=4:E->G
If G=5:F->G
If G=6:J->G
Input "2EME ETAT:",H
If H=0:A->H
If H=1:B->H
If H=2:C->H
If H=3:D->H
If H=4:E->H
If H=5:F->H
If H=6:J->G
abs(G-H)->X
(1,989*10^-25)/(X*1.60*10^-19)*10^9->I
Disp "E(eV)=",X
Disp "LAMBDA(NM)=",I
Pause
Goto A
Bonne continuité !

EDIT: Voici le nouveau code qui permet de faire les calculs et qui permet de trouver une absorption ou émission d'un état à un autre en entrant lambda. (Je posterai un screenshot plus tard)
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
EffEcr
Input"LAMBDA(NM)=",L
1241,5285520433/L→E
Disp E
For(B,1,Z
For(C,B+1,Z+1
If .01>abs(1-E/abs(L1(C)-L1(B
Disp {B-1,C-1
End
End
Pause
Goto M

Le screenshot.gif:
Absorption et Emission de photons Etatat10

Un grand merci à M@t et Linka !


Dernière édition par pito2901 le Dim 15 Déc 2013 - 17:52, édité 4 fois
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par m@thieu41 Mar 3 Déc 2013 - 22:36

Pas mal Wink

Mais il aurait été en fait plus judicieux d'utiliser la méthode que t'avais proposé Linka pour demander X propositions, et les stocker dans une liste, ç'aurait été plus optimisé:
Code:
EffEcr
EffListe L3
Input "NB ETATS=",A
For(K,1,A
{0,K-1→L2 //Puisqu'on commence à l'état 0
{0,1→L1
RégLin(ax+b) Y1
Equ►Chaîne(Y1,Chaîne1
sous-Chaîne(Chaîne1,1,longueur(Chaîne1)-3
Input "ETAT"+Rép+":",X
X->L3(K
End
Et ensuite tu récupère les états n°G et H en faisant:
Code:
L3(H+1->H
L3(G+1->G
m@thieu41
m@thieu41
----------------------
----------------------

Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par Linkakro Mar 3 Déc 2013 - 22:53

Hehe c'est intéressant de voir une conséquence d'un sujet d'aide.
https://tout82.forumactif.org/t143-mettre-un-certain-nombre-d-input

Il y a un problème dans les indices des états... je ne sais pas ce qu'il fallait mettre.
Code:
Input "NB ETATS EXC:",Z  // c'est quoi EXC ?
If Z<6
Then
If Z>=1  // à déplacer ???
Input "ETAT 0:",A
Input "ETAT 1:",B
If Z>=2 // à modifier ???
Input "ETAT 2:",C
Tu as intérêt à stocker dans une liste les valeurs.
Voici un changement.
Code:
//début : saisie , que je ne modifie pas pour l'instant
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:",J
Else
Disp "TROP !"
Stop
End

//milieu : traitement partiellement modifié
{A,B,C,D,E,F,J->L1
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->X

// fin inchangée
(1,989*10^-25)/(X*1.60*10^-19)*10^9->I
Disp "E(eV)=",X
Disp "LAMBDA(NM)=",I
Pause
Goto A
Par la suite tu peux reprendre la technique de saisie liste que j'avais utilisé dans l'aide afin que tout soit directement dans une liste.

Je t'invite aussi à revoir les différentes solutions à liste employées dans les programmes de conversion d'unité inspirés du mien, et postés dans ce forum dans un unique sujet suit à ta demande d'aide.

EDIT: m@thieu41 Pwned Linkakro !

EDIT: correction de G et H en G+1 et H+1
Linkakro
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

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par pito2901 Mer 4 Déc 2013 - 12:33

Merci beaucoup mais le programme était plus lent...
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par m@thieu41 Mer 4 Déc 2013 - 14:07

Certes, mais il est plus rapide à recopier, et plus souple surtout (il autorise un nombre inconnu d'états, sans limitation au niveau du nombre de valeurs à stocker (à moins de viser plus de 1000 états mais ça m'étonnerai Razz )
m@thieu41
m@thieu41
----------------------
----------------------

Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par pito2901 Jeu 12 Déc 2013 - 18:52

Sinon je ne vois pas comment faire pour demander lambda,
puis dire s'il correspond à l'un des états rentrés auparavant, sachant qu'il y a un certain nombre d'états...
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par m@thieu41 Jeu 12 Déc 2013 - 19:03

Ben en utilisant le code qu'on t'as proposé :P

Je n'ai pas bien compris ton problème: le code fais la même chose que le tiens mais en plus souple, pourquoi s'en priver (même si à la rigueur ça peut être un chouia plus long pour demander les valeurs)?
m@thieu41
m@thieu41
----------------------
----------------------

Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par pito2901 Jeu 12 Déc 2013 - 19:08

Non, mais genre je rentre les états excités, puis un lambda quelconque, ensuite l'algo me répond s'il correspond à un état rentré...
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par m@thieu41 Jeu 12 Déc 2013 - 19:15

Et bien tu peux le faire avec le code qu'on te propose aussi...
m@thieu41
m@thieu41
----------------------
----------------------

Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par pito2901 Jeu 12 Déc 2013 - 19:17

Je vais pas m'amuser à afficher tous les états sachant qu'avec six états j'ai un très grand nombre de possibilité...
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par Linkakro Jeu 12 Déc 2013 - 19:24

Je te propose dans ce cas de créer une boucle qui recherche la valeur saisie.

La manière d'accéder aux variables pour la recherche sera différente selon la méthode de stockage (variables numériques ou bien une liste).

### Veux-tu empêcher la saisie redondante (plusieurs fois un même état) ?

Exemple avec un stockage Liste. (je n'ai pas inclus l'affichage de l'indice)
Le dernier test est un peu compliqué pour être sûr de ne pas tester une case innexistante à la fin.
Code:
EffListe L1
Input "NB ETATS=",A
Input "ETAT:",X // la première fois
For(K,2,A
Input "ETAT:",X
1->J
While J<K and Ans  // tant que la fin n'est pas atteinte et X est absent
J+1->J
X-L1(J
End
If J=K and Ans // la fin est atteinte et différente de X donc X est absent de la liste
X->L3(K
End

### Veux-tu seulement détecter un X ?

Code:
// nb etat = A
Input "VALEUR:",X
1->J
While J<A and Ans  // tant que la fin n'est pas atteinte et X est absent
J+1->J
X-L1(J
End
If J=A and Ans // la fin est atteinte et différente de X donc X est absent de la liste
Disp "ABSENT
If not(Ans
Disp "INDICE",J-1  // donne l'indice de la première valeur trouvée (entre 0 et A-1)
End

### Autre manière de trouver un nombre dans une liste, seulement dans une liste, sans boucle.

Code:
// liste L1 contient A valeurs
max(X=L1  // vaut zéro si la valeur X est absente de L1, sinon 1
If not(Ans
Disp "ABSENT

Si tu as peu de variables numériques, tu peux les mentionner dans une liste en dur.
Code:
max(X={A,B,C,D,E,F  // vaut zéro si la valeur X est absente de la liste des variables, sinon 1
If not(Ans
Disp "ABSENT

Remarque : désormais je suppose les numérotations de position positives pour utiliser max()

Si tu veux trouver la dernière occurrence dans la liste :
Code:
// liste L1 contient A valeurs
max((X=L1)seq(J,J,1,A  // donne la dernière position ou bien zéro
If Ans
Disp Ans

Si tu veux trouver la dernière occurrence parmi des lettres et en plus optimiser sans seq() puisque tu connais le nombre de termes :
Code:
// liste L1 contient A valeurs
max((X={A,B,C,D,E,F}){1,2,3,4,5,6  // donne la dernière position ou bien zéro
If Ans
Disp Ans

Je ne parviens pas à déterminer la première occurrence sans boucle. Je recherche des sources.
http://tout82.free.fr/forum/sujet.php?sujet=3157

EDIT: problème résolu par m@thieu41 par la suite Bien Joué

EDIT: le message a été corrigé à plusieurs reprises, soit pour erreur soit pour cohérence


Dernière édition par Linkakro le Jeu 12 Déc 2013 - 21:41, édité 5 fois
Linkakro
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

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par pito2901 Jeu 12 Déc 2013 - 19:30

Dans mon contrôle j'avais:
E0=-10,44
E1=-5,77
E2=-5,55
E3=-4,98
E4=-3,73

Une des questions était:
A quelle transition correspond l'émission d'un photon de longueur d'onde dans le vide lambda = 227,5 nm ?

Étapes:
1 • Il faut prendre en compte que c'est une émission... (donc un menu (émission/absorption)
2 • Il faut calculer eV soit : hc/lambda qui donne 8,74•10-19J puis
3 • convertir qui donne 5,46eV
4 • ce qui équivaut à E3-E0

Donc je trouve que ce programme est assez complexe et je pense aussi qu'il me sera utile...

Mais j'avoues ne pas savoir comment m'y prendre...
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par m@thieu41 Jeu 12 Déc 2013 - 20:01

Pour la première occurrence je ferais:
Code:
// liste L1 contient A valeurs
max((X=L1)seq(J,J,A,1,-1  // donne la dernière position (mais en comptant à parir de la fin) ou bien zéro
If Ans
Disp A-Ans+1 //Calcul de l'indice par rapport au début
m@thieu41
m@thieu41
----------------------
----------------------

Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par Linkakro Jeu 12 Déc 2013 - 20:10

### pito :

Donc tu recherches les sauts d'énergie entre les états !

Je propose de parcourrir les états avec deux boucles imbriquées.
Et éventuellement une petite étude de combinaison pour savoir quand s'arrêter : A_nCr_2 pour calculer le nombre de parties à deux états dans l'ensemble des A états.

Je propose de calculer les sauts à l'intérieur de la double boucle de recherche.

Je ne comprend pas le lien entre la théorie et le calcul dans le programme. J'oublie quelque chose.

### m@thieu41 :

Bravo !  cheers 

Et pour simplifier le lien indice/valeur :
Code:
// liste L1 contient A valeurs
max((X=L1)seq(J,J,A,1,-1  // donne la dernière position (mais en partant de la fin) ou bien zéro
If Ans
Disp A-Ans+1 //Calcul de l'indice par rapport au début
Linkakro
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

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par m@thieu41 Jeu 12 Déc 2013 - 20:14

Tu m'as pris de cours, j'étais en train d'éditer pour proposer justement cette simplification Razz
m@thieu41
m@thieu41
----------------------
----------------------

Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par pito2901 Jeu 12 Déc 2013 - 21:06

Et le Input"LAMBDA", dans tout ça, que devient-il ?

Qu'est ce que ça donne sur le programme retravaillé:

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:",J
Else
Disp "TROP !"
Stop
End
{A,B,C,D,E,F,J->L1
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->X
(1,989*10^-25)/(X*1.60*10^-19)*10^9->I
Disp "E(eV)=",X
Disp "LAMBDA(NM)=",I
Pause
Goto A

Sinon merci, vous gérez à mort !
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par m@thieu41 Jeu 12 Déc 2013 - 21:27

Ben il faut que tu gères 2 cas différents à l'aide d'un menu j'imagine (Avant le Lbl A):
Si on veut calculer lambda
Si on veut demander lambda

Ensuite tu calcules la valeur en eV.

EDIT Linkakro : Retenons que dans le programme de Pito il y a Z états, pas N !

Et tu parcours la liste en imbriquant 2 boucles pour trouver la bonne valeur:
Soit E la valeur cherchée qui équivaut à l'écart entre 2 termes de la liste L1, et N le nombre de termes:
Code:
{-1,-1->L2
For(B,1,N-1 //On détermine l'écart entre les 2 indices
For(C,1,N-B //On parcours tous les premiers termes possibles
If E=L1(C+B)-L1(C //Edit: petit oubli de ma part
{C+B,C->L2
End
End
Et là normalement si je ne me suis pas trompé, tu as les 2 indices dans L2, et {-1,-1} si ce n'est pas possible.


Dernière édition par m@thieu41 le Jeu 12 Déc 2013 - 22:14, édité 1 fois
m@thieu41
m@thieu41
----------------------
----------------------

Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par pito2901 Jeu 12 Déc 2013 - 21:57

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:",J
Else
Disp "TROP !"
Stop
End
{A,B,C,D,E,F,J->L1
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->X
(1,989*10^-25)/(X*1.60*10^-19)*10^9->I
Disp "E(eV)=",X
Disp "LAMBDA(NM)=",I
Pause
Goto A
Lbl B
Input"LAMBDA=",L
//calcul ?
{-1,-1->L2
For(B,1,N-1 //On détermine l'écart entre les 2 indices
For(C,1,N-B //On parcours tous les premiers termes possibles
If L1(C+B)-L1(C
{C+B,C->L2
End
End
// Et là je mets quoi ?
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par m@thieu41 Jeu 12 Déc 2013 - 22:14

Déjà mets un Lbl M avant le menu, et change le goto A en goto M, comme ça on peut revenir au menu (et place y une option pour quitter ça fera plus propre).

Mon code n'était pas à copier coller tel quel Razz
Remplace N par Z+1

EDIT Linkakro : Retenons que dans le programme de Pito il y a Z états, pas N !

Entre Input "Lambda et {-1,-1->L2, il faut calculer la valeur en eV, et la stocker dans E.

Après le code, il faut que tu fasses ce que tu veux Razz
Tu sais que tu as:
Dans L2 les indices des 2 états (genre 3 et 0), donc tu peux les afficher (et renvoyer une erreur si L2={-1,-1

Aussi j'ai fais un petit oubli (j'édite):
Code:
If L1(C+B)-L1(C
devient
If E=L1(C+B)-L1(C

Aussi ça serait bien d’arrondir la valeur de E lors du calcul, ainsi que les valeurs de la liste L1 pour être sûr de ne pas louper la solution à cause d'arrondis différents... (tu peux faire arrondi(L1->L1 )
m@thieu41
m@thieu41
----------------------
----------------------

Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par Linkakro Jeu 12 Déc 2013 - 22:40

Le code de recherche :

L'organisation des paires testées est selon moi complètement désordonnée. J'ai testé sur émulateur pour constater que cela semble marcher.
Il aurait fallut utiliser B+C et B plutôt que B+C et C selon moi.

J'aime bien le parcourt partiel de la liste par la seconde boucle en fonction de la première.
Toutefois j'aurais aussi apprécié que la recherche s'arrête dès qu'une paire est validée. Mais pour 6 état on a à peine 15 paires, donc je ne poserai pas autre chose que For.

Je propose cette variante de la recherche.
J'inclus aussi le calcul énergétique et le verdict mentionné pour pito2901.
Je me contente comme vous de déterminer la dernière occurrence qui doit logiquement être la seule.
EDIT : Il fallait remplacer N par Z.
Code:
//Energie en electronVolt et lamda en nanometre // je crois
//lamda=(1.989*10^-25)/(Energie*1.60*10^-19)*10^9
//Energie=lamda*1.60*10^-19/(1.989*10^-25)/10^9

// EDIT : corrige : Energie=(1.989*10^-25)/(Lamda*1.60*10^-19)*10^9

Prompt L
L*1.60*10^-19/(1.989*10^-25)/10^9->E  // EDIT : corrige : (1.989*10^-25)/(L*1.60*10^-19)*10^9->E
{0,0->L2
For(B,1,N-1 // position premier état testé
For(C,B+1,N // position deuxième état testé
If E=L1(B)-L1(C
{B,C->L2
End
End
If L2(1)L2(2 // liste non nulle
Then
Disp L2
Else
Disp "PAS TROUVE
End
Je suis surpris que tu travailles un programme qui calcule des longueurs d'ondes à partir des sauts d'énergie mais que tu ne saches pas faire le contraire. Le calcul est au début de ma proposition de code de recherche.

--------
Je résume le plan du programme.
Avec ça tout doit devenir clair si on sait ce que fait chaque morceau de code.
saisie des etats // que tu as déjà de plusieurs manières
// avec éventuellement un filtre anti-redondance tel que le mien
menu emettre/absorber
:::: emettre  // que tu as déjà
saisie paire d'indices des états à comparer
calcul du saut d'énergie
calcul de lamda du photon
retour menu
:::: absorber // nouveau
saisie lamda photon
calcul energie photon
recherche paire d'états correspondante
verdict
retour menu

EDIT : vous postez en même temps que je modifie mon propre message à venir ! ... heureusement que je ne validais pas cette fois.
J'ai par exemple enlevé la remarque de "E=L1(C+B)-L1(C"


Dernière édition par Linkakro le Sam 14 Déc 2013 - 16:15, édité 4 fois
Linkakro
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

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par pito2901 Ven 13 Déc 2013 - 17:53

J'ai donc mis ça:

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:",J
Else
Disp "TROP !"
Stop
End
{A,B,C,D,E,F,J->
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->X
(1,989*10^-25)/(X*1.60*10^-19)*10^9->I
Disp "E(eV)=",X
Disp "LAMBDA(NM)=",I
Pause
Goto M
Lbl B
Input"LAMBDA=",L
L*1.60*10^-19/(1.989*10^-25)/10^9->E  // EDIT : corrige : (1.989*10^-25)/(L*1.60*10^-19)*10^9->E
{0,0->L2
For(B,1,N-1
For(C,B+1,N
If E=L1(B)-L1(C
{B,C->L2
End
End
If L2(1)L2(2
Then
Disp L2
Else
Disp "PAS TROUVE
End
Pause
Goto M

Mais quand je mets 266 en lambda, il me met rien alors qu'il devrait me mettre de E0 à E1.
Spoiler:
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par Linkakro Ven 13 Déc 2013 - 19:48

1-je teste et constate que mon calcul d'énergie est faux.
L=(1.989*10^-25)/(E*1.60*10^-19)*10^9
donc E=(1.989*10^-25)/(L*1.60*10^-19)*10^9
mais surtout pas L*1.60*10^-19/(1.989*10^-25)/10^9->E

Je corrige immédiatement les messages avec des commentaires.

2-je suppose qu'il serait bien d'admettre une tolérance de calcul dans la recherche
10^3>abs(E-L1(C)-L1(B

EDIT : corrigez 10^-3>abs(E-L1(C)+L1(B

3-je me demande si imposer la saisie des niveaux d'énergie dans l'ordre croissant est nécessaire, en tout cas cela influe sur le besoin de la boucle de recherche des sauts, par exemple il y aurait deux abs() un de chaque coté de l'égalité.
If abs(E)=abs(L1(C)-L1(B


Dernière édition par Linkakro le Sam 14 Déc 2013 - 12:14, édité 1 fois
Linkakro
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

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par pito2901 Sam 14 Déc 2013 - 10:44

Linkakro a écrit:2-je suppose qu'il serait bien d'admettre une tolérance de calcul dans la recherche
10^3>abs(E-L1(C)-L1(B

3-je me demande si imposer la saisie des niveaux d'énergie dans l'ordre croissant est nécessaire, en tout cas cela influe sur le besoin de la boucle de recherche des sauts, par exemple il y aurait deux abs() un de chaque coté de l'égalité.
If abs(E)=abs(L1(C)-L1(B

Merci mais, je mets ça où ?

Sinon j'ai remplacé:
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:",J
Else
Disp "TROP !"
Stop
End
{A,B,C,D,E,F,J->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->X
(1,989*10^-25)/(X*1.60*10^-19)*10^9->I
Disp "E(eV)=",X
Disp "LAMBDA(NM)=",I
Pause
Goto M
Lbl B
Input"LAMBDA=",L
(1.989*10^-25)/(L*1.60*10^-19)*10^9->E
{0,0->L2
For(B,1,N-1
For(C,B+1,N
If E=L1(B)-L1(C
{B,C->L2
End
End
If L2(1)L2(2
Then
Disp L2
Else
Disp "RIEN
End
Pause
Goto M
J'ai mis 266, et il m'affiche "RIEN" (PAS TROUVE)

EDIT Linkakro : Il fallait remplacer N par Z.
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par m@thieu41 Sam 14 Déc 2013 - 10:51

If E=L1(B)-L1(C
Devient:
If 10^-3>abs(E-L1(C)-L1(B //Tu peux changer 10^-3 en un autre nombre, il s'agit de la différence à partir de laquelle c'est considéré comme égal (genre si abs(E-L1(C)-L1(B)) vaut 0.0001, on peut considérer que E=L1(C)-L1(B

Tu n'avais pas oublié un moins d'ailleurs Linka (10^-3 et non pas 10^3 ?)
m@thieu41
m@thieu41
----------------------
----------------------

Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par pito2901 Sam 14 Déc 2013 - 10:56

J'ai remplacé:
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:",J
Else
Disp "TROP !"
Stop
End
{A,B,C,D,E,F,J->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->X
(1,989*10^-25)/(X*1.60*10^-19)*10^9->I
Disp "E(eV)=",X
Disp "LAMBDA(NM)=",I
Pause
Goto M
Lbl B
Input"LAMBDA=",L
(1.989*10^-25)/(L*1.60*10^-19)*10^9->E
{0,0->L2
For(B,1,N-1
For(C,B+1,N
If 10^-3>abs(E-L1(C)-L1(B   //EDIT: corrigez: 10^-3>abs(E-L1(C)+L1(B
{B,C->L2
End
End
If L2(1)L2(2
Then
Disp L2
Else
Disp "RIEN
End
Pause
Goto M
Il m'affiche toujours rien quand je mets 266.

EDIT: même quand je mets 266.1937901 (qui est la valeur la plus proche calculée par la calculatrice), il m'affiche rien alors qu'elle devrait sûrement me mettre de E0 à E1.
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par Linkakro Sam 14 Déc 2013 - 12:14

J'ai corrigé plusieurs choses.
quelques changements:
faux bug:


Dernière édition par Linkakro le Sam 14 Déc 2013 - 13:19, édité 1 fois
Linkakro
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

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par pito2901 Sam 14 Déc 2013 - 12:36

Heu et ça donne quoi au niveau du code ???
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par m@thieu41 Sam 14 Déc 2013 - 13:07

lambda = 227,5 nm
1 • Il faut prendre en compte que c'est une émission... (donc un menu (émission/absorption)
2 • Il faut calculer eV soit : hc/lambda qui donne 8,74•10-19J puis
3 • convertir qui donne 5,46eV
4 • ce qui équivaut à E3-E0

Sans arrondis intermédiaires, ça donne:
E = 299 792 458 * 6,62E-34/1,6E-19/227,5E-9 = 5,452 eV
Du coup je propose de considérer comme exact si la différence des valeurs est inférieure à 0,015 eV (pour être sûr de ne pas louper la solution).

Donc essayes avec:
Code:
1.24*10^-6/L->E //Avec L en m (ex: 227,5*10^-9 m)
{0,0->L2
For(B,1,N-1
For(C,B+1,N
If .015>abs(abs(E)-abs(L1(C)-L1(B)))
{B,C->L2
End
End

Est-ce que ça marche?

EDIT Linkakro : Il fallait remplacer N par Z.
m@thieu41
m@thieu41
----------------------
----------------------

Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par pito2901 Sam 14 Déc 2013 - 13:55

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:",J
Else
Disp "TROP !"
Stop
End
{A,B,C,D,E,F,J->
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->X
(1,989*10^-25)/(X*1.60*10^-19)*10^9->I
Disp "E(eV)=",X
Disp "LAMBDA(NM)=",I
Pause
Goto M
Lbl B
Input"LAMBDA=",L
1.24*10^-6/L->E //Avec L en m (ex: 227,5*10^-9 m)
{0,0->L2
For(B,1,N-1
For(C,B+1,N
If .015>abs(abs(E)-abs(L1(C)-L1(B)))
{B,C->L2
End
End
If L2(1)L2(2
Then
Disp L2
Else
Disp "RIEN
End
Pause
Goto M

Toujours pas, non...

EDIT Linkakro : Il fallait remplacer N par Z.
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par m@thieu41 Sam 14 Déc 2013 - 14:07

beum ! 
Rajoute:
Disp E après le calcul de E
Pause abs(abs(E)-abs(L1(C)-L1(B après For(C,B+1,N, et donnes moi toutes les valeurs qui s'affichent...
m@thieu41
m@thieu41
----------------------
----------------------

Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Absorption et Emission de photons Empty Re: Absorption et Emission de photons

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 3 1, 2, 3  Suivant

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum