10 PRINT "(C) G.OLIVE";:FOR 
N=1TO100:NEXT:CLS
   20 PRINT CHR$(9);"1)Pese 2)Sol 
3)Micro 4)Inte (5) 5)Retour 
6)Isoto 7)RMN 8)CI 9)P";
   30 A$=INKEY$:IF A$="" THEN 30
   40 A=VAL(A$)
   50 SET N
   60 ON A GOTO 1000,2000,3000, 
4000,5000,6000,7000,8000,9000
   70 IF A>0THEN 30
  900 ERASE A$,A,M$,M,B$,B
  999 END
---------------------------------
 1000 CLS
 1010 PRINT "(4)Determination par 
pesee"
 1020 INPUT "Masse molaire ",MMMX
 1030 INPUT "Coef ",Y
 1040 INPUT "Masse en g ",M
 1050 INPUT "Volume verse ",V
 1060 TX=(M/MMMX)*Y*(1000/V)
 1070 SET F4:PRINT "Le titre est 
";TX;"M"
 1080 GOTO 20
---------------------------------
 2000 CLS
 2010 PRINT "Determination du titre 
par sol. "
 2020 INPUT "Titre de la solution 
",TX
 2030 INPUT "Volume de depart Vx 
",VX
 2040 INPUT "Coef ",Y
 2050 INPUT "Volume verse ",V
 2060 T=((TX*V)/1000)*Y*(1000/VX)
 2070 SET F4:PRINT "Le titre est 
";T;"M"
 2080 GOTO 20
---------------------------------
 3000 CLS:PRINT"(10)MICRO ANALYSE"
 3010 INPUT "Donnez la masse du 
compose .....";MMM
 3020 INPUT "Donnez le nbre de 
constituant ..";NC
 3030 INPUT "Donnez le % de C ";C
 3040 PRINT C*MMM/1201.11;" de C"
 3050 S=C
 3060 INPUT "Donnez le % de H ";H
 3070 PRINT H*MMM/100.797;" de H"
 3080 S=S+H
 3090 FOR N=3TONC
 3100 PRINT "Donnez le % du n ";N;
 3110 INPUT " ";D
 3120 INPUT "Donnez sa masse 
atomique ";MA
 3130 S=S+D
 3140 PRINT D*MMM/(MA*100);" de ";N
 3150 NEXT
 3160 S=100-S
 3170 PRINT "%O=";S
 3180 PRINT S*MMM/1599.94;" de O" 
 3190 GOTO 20
---------------------------------
 4000 CLS:PRINT "(10)INTEGRATION"
 4010 INPUT "Nombre de massif ";NM
 4020 INPUT "Nombre de proton ";NP
 4030 ERASE A:DIM A(NM)
 4040 S=0
 4050 FOR N=1TONM
 4060 PRINT "Mesure du massif ";N;
 4070 INPUT " ";A(N)
 4080 S=S+A(N)
 4090 NEXT
 4100 H=S/NP
 4110 FOR N=1TONM
 4120 PRINT "Le massif ";N;" compte 
";A(N)/H;" protons"
 4130 NEXT
 4140 GOTO 20
---------------------------------
 5000 CLS
 5005 PRINT "(7)Dosage par retour"
 5010 INPUT "Donnez le titre de la 
solution(2)titrante ",TST
 5020 INPUT "Donnez le titre du 
reactif ",TR
 5030 INPUT "Donnez le volume de 
reactif ",VR
 5040 INPUT "Donnez le coef de la 
reaction(3)reactif-sol titrante 
(R=1) ",C1
 5050 INPUT "Donnez le coef de la 
reaction(3)reactif-inconnue (R=1) 
",C2
 5060 INPUT "Donnez le volume d' 
inconnu ",VX
 5070 INPUT "Donnez le vol. sol. 
titrante ",VST
 5080 NMR=VR*TR/1000
 5090 NMST=VST*TST/1000
 5100 NMRR=NMR-NMST/C1
 5110 NMI=NMRR*C2
 5120 TX=NMI*1000/VX
 5130 SET F4:PRINT "Le titre est 
";TX;"M"
 5140 GOTO 20
----------------------------------
 6000 CLS:RESTORE 6980
 6005 PRINT "(8) % PIC ISOTOPIQUE 
(8)";
 6010 ERASE A$,A:DIM A$(11),A(11,4)
 6020 FOR N=1TO11:READ A$(N),A(N,1)
,A(N,2),A(N,3),A(N,4):NEXT
 6030 INPUT "Formule brute ";FB$
 6040 NDC=0:FLAG=0
 6050 FOR N=1 TO LEN(FB$)
 6060 IF MID$(FB$,N,1)<"A" AND 
FLAG=0 THEN NDC=NDC+1:FLAG=1
 6070 IF MID$(FB$,N,1)>"9" AND 
FLAG=1 THEN FLAG=0
 6080 NEXT
 6090 ERASE M:DIM M(NDC,2)
 6100 AT$=LEFT$(FB$,1):FLAG=0:NDA=1
 6110 FOR N=2 TO LEN(FB$)
 6120 IF MID$(FB$,N,1)<"A" AND 
FLAG=0 THEN GOTO 6950
 6130 IF MID$(FB$,N,1)>"9" AND 
FLAG=1 THEN M(NDA,2)=VAL(AT$): 
FLAG=0:NDA=NDA+1:AT$=""
 6140 AT$=AT$+MID$(FB$,N,1)
 6150 NEXT N
 6160 IF FLAG=0 THEN PRINT 
"***ERREUR***":GOTO 20 ELSE 
M(NDA,2)=VAL(AT$)
 6170 MM=0:MMR=0
 6180 FOR N=1 TO NDC
 6190 MM=MM+M(N,2)*A(M(N,1),1)
 6195 MMR=MMR+M(N,2)*A(M(N,1),4)
 6200 NEXT
 6210 M1=0
 6220 FOR N=1 TO NDC
 6230 M1=M1+M(N,2)*A(M(N,1),2)
 6240 NEXT
 6250 M2=0
 6260 FOR N=1 TO NDC
 6270 M2=M2+(M(N,2)*A(M(N,1),2))^2 
/200+M(N,2)*A(M(N,1),3)
 6280 NEXT
 6290 NDN=0
 6300 FOR N=1 TO NDC
 6310 IF A(M(N,1),1)=14 THEN NDN=NDN 
+M(N,2)
 6320 NEXT
 6350 IF INT(NDN/2)=NDN/2 THEN IF 
INT(MM/2)=MM/2 THEN R$=".+" ELSE 
R$="+"
 6360 IF INT(NDN/2)<>NDN/2 THEN IF 
INT(MM/2)=MM/2 THEN R$="+" ELSE 
R$=".+"
 6370 CLS:PRINT FB$;":";R$;TAB(18);
 6380 SET F2:PRINT "MPM=";MM; 
CHR$(13);"%M+1=";M1;TAB(18);"%M+2=";M2
 6390 SET F3:PRINT FB$;TAB(18); 
"MMR="; MMR;CHR$(13);
 6400 FOR N=1 TO NDC
 6410 PRINT "%";A$(M(N,1));"="; 
M(N,2)*A(M(N,1),4)/MMR*100;"%"
 6420 NEXT
 6900 GOTO 20
 6950 FOR I=1TO11
 6955 IF AT$=A$(I) THEN M(NDA,1)=I
 6960 NEXT I
 6965 IF M(NDA,1)=0 THEN PRINT 
"***ERREUR*** SEUL";CHR$(13);:FOR 
N=1TO11:PRINT A$(N);" ";:NEXT:PRINT 
"#":GOTO 20
 6970 AT$="":FLAG=1:GOTO 6130
 6980 DATA H,1,0.016,0,1.00797
 6981 DATA C,12,1.08,0,12.011
 6982 DATA N,14,0.38,0,14.0067
 6983 DATA O,16,0.04,0.20,15.9994
 6984 DATA F,19,0,0,18.99840
 6985 DATA SI,28,5.10,3.35,28.086
 6986 DATA P,31,0,0,30.97376
 6987 DATA S,32,0.78,4.40,32.06
 6988 DATA CL,35,0,32.5,35.453
 6989 DATA BR,79,0,98,79.904
 6990 DATA I,127,0,0,126.9045
---------------------------------
 7000 CLS:PRINT "1)METHANE 
2)BENZENE (12)";
 7005 CH$=INKEY$:IF CH$=""THEN 7005 
 7010 CH=VAL(CH$):PRINT "*";
 7015 ON CH GOTO 7050,7200
 7020 GOTO 20
 7050 ERASE A$:DIM A$(4,2)
 7055 ERASE M$,M:DIM M$(17),M(17): 
RESTORE 7150
 7060 FOR N=1TO17:READ M$(N),M(N): 
NEXT
 7065 FOR N=1TO4:PRINT "SUBSTITUANT 
";N;:INPUT ">";A$(N,1):NEXT
 7070 FOR N=1TO4:FLAG=0
 7075 FOR M=1TO17
 7080 IF A$(N,1)=M$(M)THEN A$(N,2)= 
STR$(M):FLAG=1
 7085 NEXT M
 7090 IF FLAG=0THEN PRINT A$(N,1); 
" INCONNU":GOTO 20
 7095 NEXT N
 7100 FOR N=1TO4
 7105 IF A$(N,1)="H" THEN 7120
 7110 NEXT N
 7115 PRINT "MOLECULE SANS PROTON 
":GOTO 20
 7120 D=.23
 7125 FOR M=1TO4
 7130 D=D+M(VAL(A$(M,2)))
 7135 NEXT M
 7140 PRINT "DELTA=";D;" ppm": 
GOTO 20
 7150 DATA H,0,CL,2.53,BR,2.33
 7151 DATA I,1.82,NRR,1.57,OR,2.36
 7152 DATA SR,1.64,CRO,1.70,CRCRR, 
1.32,CCH,1.44,CN,1.70,CH3,0.47
 7153 DATA 
PH,1.85,OH,2.56,OCOR,3.13,COOR,1.55 
,CF3,1.14
 7200 ERASE A$:DIM A$(6,2)
 7205 ERASE B$,B:DIM B$(28),B(28 
,3): RESTORE 7290
 7210 FOR N=1TO28:READ B$(N),B(N, 
1),B(N,2),B(N,3): NEXT
 7215 FOR N=1TO6:PRINT "SUBSTITUANT 
";N;:INPUT ">";A$(N,1):NEXT
 7220 FOR N=1TO6:FLAG=0
 7225 FOR M=1TO28
 7230 IF A$(N,1)=B$(M)THEN A$(N,2)= 
STR$(M):FLAG=1
 7235 NEXT M
 7240 IF FLAG=0THEN PRINT A$(N,1); 
" INCONNU":GOTO 20
 7245 NEXT N
 7250 IF A$(1,1)="H"THEN PRINT 
"H1=";7.27+B(VAL(A$(2,2)),1)+ 
B(VAL(A$(3,2)),2)+B(VAL(A$(4,2)),3) 
+B(VAL(A$(5,2)),2)+B(VAL(A$(6,2)),1)
 7255 IF A$(2,1)="H"THEN PRINT 
"H2=";7.27+B(VAL(A$(1,2)),1)+ 
B(VAL(A$(3,2)),1)+B(VAL(A$(4,2)),2) 
+B(VAL(A$(5,2)),3)+B(VAL(A$(6,2)),2)
 7260 IF A$(3,1)="H"THEN PRINT 
"H3=";7.27+B(VAL(A$(1,2)),2)+ 
B(VAL(A$(2,2)),1)+B(VAL(A$(4,2)),1) 
+B(VAL(A$(5,2)),2)+B(VAL(A$(6,2)),3)
 7265 IF A$(4,1)="H"THEN PRINT 
"H4=";7.27+B(VAL(A$(1,2)),3)+ 
B(VAL(A$(2,2)),2)+B(VAL(A$(3,2)),1) 
+B(VAL(A$(5,2)),1)+B(VAL(A$(6,2)),2)
 7270 IF A$(5,1)="H"THEN PRINT 
"H5=";7.27+B(VAL(A$(1,2)),2)+ 
B(VAL(A$(2,2)),3)+B(VAL(A$(3,2)),2) 
+B(VAL(A$(4,2)),1)+B(VAL(A$(6,2)),1)
 7275 IF A$(6,1)="H"THEN PRINT 
"H6=";7.27+B(VAL(A$(1,2)),1)+ 
B(VAL(A$(2,2)),2)+B(VAL(A$(3,2)),3) 
+B(VAL(A$(4,2)),2)+B(VAL(A$(5,2)),1)
 7280 PRINT "*TERMINE":GOTO 20
 7290 DATA NO2,.95,.17,.33,CHO,.58, 
.21,.27,COCL,.83,.16,.3
 7291 DATA COOH,.8,.14,.2,COOCH3, 
.74,.07,.2,COCH3,.64,.09,.3
 7292 DATA CN,.27,.11,.3,PH,.18,0, 
.08,CCL3,.8,.2,.2,CHCL2,.1,.06,.1
 7293 DATA CH2CL,0,.01,0,ME,-.17, -
.09,-.18,ET,-.15,-.06,-.18
 7294 DATA IPR,-.14,-.09,-.18,IBU, 
.01,-.1,-.24,CH2OH,-.1,-.1,-.1
 7295 DATA CH2NH2,0,0,0,F,-.3,-
.02,-.22,CL,.02,-.06,-.04
 7296 DATA BR,.22,-.13,-.03,I,.4,-
.26,-.03,OME,-.43,-.09,-.37
 7297 DATA OCOME,-.21,-.02,0,OH,-
.5,-.14,-.4,NH2,-.75,-.24,-.63
 7298 DATA SME,-.03,0,0,NME2,-.6,-
.1,-.62,H,0,0,0
---------------------------------
 8000 CLS:PRINT " NOMBRE DE CENTRE 
D'INSATURATION";
 8010 INPUT "NBRE C";NC
 8020 INPUT "NBRE H";NH
 8030 INPUT "NBRE O";NO
 8040 INPUT "NBRE N";NN
 8050 INPUT "NBRE X";NX
 8060 NTC=NC+NO+NN:NCH=NTC*2+2
 8070 NTH=NH+2*NO+NN+NX
 8080 CI=(NCH-NTH)/2
 8090 PRINT "C";NC;"H";NH;"O";NO 
;"N";NN;"X";NX;" contient ";CI;" 
CI";
 8100 GOTO 20
---------------------------------
 9000 CLS:PRINT "(4)CORRECTION DE 
PRESSION"
 9010 INPUT "P lue (mmHg)";H
 9020 BETA=1.85E-5:INPUT "á (1.85E-
5 LAITON:0 PAPIER)";BETA$:IF BETA$ 
<>""THEN BETA=VAL(BETA$)
 9030 INPUT "T (øC)";T
 9040 PRINT 
"Hú=";H*(1+BETA*T)/(1+1.83E-4*T)
 9050 GOTO 20
---------------------------------

    Source: geocities.com/tokyo/3238

               ( geocities.com/tokyo)