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 ---------------------------------