Bonjour à tous, je vous présente un de mes plus gros programme de seconde, la loi de léwis. Il donne le nombre de doublets liants, non liants, c'est utile pour vérifier ses resultats, car la chimie ne permet pas d'erreur (La suite de l'exercice et la représentation est fausse si les calculs ont foiré)
Voila, il fait 3000 Octets.
ü représente Sto
ù représente le -
| Code | EffEcr
Output(3,6,"LOI DE"
Output(4,6,"LEWIS
Output(5,2,"BY REINHART
Pause
Lbl 0
Menu("MENU PRINCIPAL","ATOME",1,"MOLECULE",2,"QUITTER",9
Lbl 1
EffEcr
Disp "ENTRER Z :"
Input "=",A
If A÷ 2 et Aø0
Then
Goto 3
Else
If Aù 6 et A÷ 10
Then
Goto 4
Else
If Aù 14 et A÷ 18
Then
Goto 5
Else
EffEcr
Output(4,4,"ERREUR")
Pause
Goto 0
Lbl 3
EffEcr
Disp "LIANT :",2-A
Disp "NON LIANT :",A-1
Pause
Goto 0
Lbl 4
EffEcr
Disp "LIANT(S) :",10-A
Disp "NON LIANT(S) :",A-6
Pause
Goto 0
Lbl 5
EffEcr
Disp "LIANT(S) :",18-A
Disp "NONú LIANT",A-14
Pause
Goto 0
Lbl 2
1ü H
4ü C
5ü N
6ü O
7ü F
(2/3)ü I
5ü P
6ü S
1.75ü L
EffEcr
Menu("NOMBRE D ATOME","2",21,"3",22,"4",23,"RETOUR AU MENU",0)
Lbl 21
Input "1ER ATOME :",B
Input "INDICE :",D
Input "2EME ATOME :",E
Input "INDICE :",G
EffEcr
Disp "ELEC. EXTERNE :",BD+EG
Disp "DOUBLETS :",(BD+EG)/2
Pause
EffEcr
If B=1 et E=1
Then
(ú B+2)ü J
(ú E+2)ü K
Disp "LIANT :",(JD+KG)/2
Disp "NONú LIANT :",(D(B-J)+G(E-K))/2
Pause
Goto 2
Else
If B=1 et Eù 4 et E÷ 7
Then
(ú B+2)ü J
(ú E+8)ü K
Disp "LIANT :",(JD+KG)/2
Disp "NONú LIANT :",(D(B-J)+G(E-K))/2
Pause
Goto 2
Else
If Bù 4 et B÷ 7 et E=1
Then
(ú B+8)ü J
(ú E+2)ü K
Disp "LIANT :",(JD+KG)/2
Disp "NONú LIANT :",(D(B-J)+G(E-K))/2
Pause
Goto 2
Else
If Bù 4 et B÷ 7 et Eù 4 et E÷ 7
Then
(ú B+8)ü J
(ú E+8)ü K
Disp "LIANT :",(JD+KG)/2
Disp "NONú LIANT :",(D(B-J)+G(E-K))/2
Pause
Goto 2
Lbl 22
Input "1ER ATOME :",B
Input "INDICE :",D
Input "2EME ATOME :",E
Input "INDICE :",G
Input "3EME ATOME :",M
Input "INDICE :",Q
EffEcr
Disp "ELEC. EXTERNES :",BD+EG+MQ
Disp "DOUBLETS :",(BD+EG+MQ)/2
Pause
EffEcr
If Bù 4 et B÷ 7 et Eù 4 et E÷ 7 et M=1
Then
(ú B+8)ü J
(ú E+8)ü K
(ú M+2)ü R
Disp "LIANTS :",(JD+KG+RQ)/2
Disp "NONú LIANTS :",(D(B-J)+G(E-K)+Q(M-R))/2
Pause
Goto 2
Else
If Bù 4 et B÷ 7 et E=1 et Mù 4 et M÷ 7
Then
(ú B+8)ü J
(ú E+2)ü K
(ú M+8)ü R
Disp "LIANTS :",(JD+KG+RQ)/2
Disp "NONú LIANTS :",(D(B-J)+G(E-K)+Q(M-R))/2
Pause
Goto 2
Else
If B=1 et Eù 4 et E÷ 7 et Mù 4 et M÷ 7
Then
(ú B+2)ü J
(ú E+8)ü K
(ú M+8)ü R
Disp "LIANTS :",(JD+KG+RQ)/2
Disp "NONú LIANTS :",(D(B-J)+G(E-K)+Q(M-R))/2
Pause
Goto 2
Else
If Bù 4 et B÷ 7 et Eù 4 et E÷ 7 et Mù 4 et M÷ 7
Then
(ú B+8)ü J
(ú E+8)ü K
(ú M+8)ü R
Disp "LIANTS :",(JD+KG+RQ)/2
Disp "NONú LIANTS :",(D(B-J)+G(E-K)+Q(M-R)
Pause
Goto 2
Lbl 23
EffEcr
Disp "ENTRER :"
Input "1ER ATOME :",B
Input "INDICE :",D
Input "2EME ATOME :",E
Input "INDICE :",G
Input "3EME ATOME :",M
Input "INDICE :",Q
Input "4EME ATOME :",T
Input "INDICE :",U
EffEcr
Disp "ELEC. EXTERNES :",BD+EG+MQ+TU
Disp "DOUBLET :",(BD+EG+MQ+TU)/2
Pause
EffEcr
If Bù 4 et B÷ 7 et Eù 4 et E÷ 7 et Mù 4 et M÷ 7 et T=1
Then
8-Bü J
8-Eü K
8-Mü R
2-Tü V
Disp "LIANTS :",(JD+KG+RQ+VU)/2
Disp "NONú LIANTS :",(D(B-J)+G(E-K)+Q(M-R)+U(T-V))/2
Pause
Goto 2
Else
If Bù 4 et B÷ 7 et Eù 4 et E÷ 7 et M=1 et Tù 4 et T÷ 7
Then
8-Bü J
8-Eü K
2-Mü R
8-Tü V
Disp "LIANTS :",(JD+KG+RQ+ÁU)/2
Disp "NONú LIANTS :",(D(B-J)+G(E-K)+Q(M-R)+U(T-V))/2
Pause
Goto 2
Else
If Bù 4 et B÷ 7 et E=1 et M÷ 7 et Mù 4 et T÷ 7 et Tù 4
Then
8-Bü J
2-Eü K
8-Mü R
8-Tü V
Disp "LIANTS :",(JD+KG+RQ+VU)/2
Disp "NONú LIANTS :",(D(B-J)+G(E-K)+Q(M-R)+U(T-V))/2
Pause
Goto 2
Else
If B=1 et Eù 4 et E÷ 7 et Mù 4 et M÷ 7 et Tù 4 et T÷ 7
Then
2-Bü J
8-Eü K
8-Mü Q
8-Tü V
Disp "LIANTS :",(JD+KG+RQ+VU)/2
Disp "NONú LIANTS :",(D(B-J)+G(E-K)+Q(M-R)+U(T-V))/2
Pause
Goto 2
Else
If Bù 4 et B÷ 7 et Eù 4 et E÷ 7 et Mù 4 et M÷ 7 et Tù 4 et T÷ 7
8-Bü J
8-Eü K
8-Mü R
8-Tü V
Disp "LIANTS :",(JD+KG+RQ+VU)/2
Disp "NONú LIANTS :",(D(B-J)+G(E-K)+R(M-Q)+U(T-V))/2
Pause
Goto 2
Lbl 9 |
---------------------- Eleve a Supinfo, programmeur C/C#/C++/Java/Assembleur
Delphi/et tout les langages Web.
Programmeur de Ti Basic sur demande, adresse msn : St3ph_daft@hotmail.fr |