Listing of file='COM-LB' on disk='vmedia/best_of_BD_fules.wvd.zip'
# Sector 248, program filename = 'COM-LB' 0010 DIM A$64,E1$64,J(255) : PRINT HEX(030A0A0A0A0A);TAB(23);"THE FOLLOWING IS A" : PRINT : PRINT TAB(25);HEX(C2A6C4A0C6D5CCC5D3A0C9CEC3AE) : PRINT : PRINT TAB(24);"USEFUL PROGRAM." 0020 KEYIN A$,30,20 : GOTO 20 0030 PRINT HEX(03) 0040 INPUT "Input - atom, molecule or LIST",A$ 0050 T,C,W,U,Y=0 : B$=" " : RESTORE : IF STR(A$,1,1)="("THEN 240 0060 IF A$="FIX"THEN 420 : IF A$="LIST"THEN 350 : IF A$="END"THEN 410 0070 T=T+1 : U=U+1 : IF T>LEN(A$)THEN 170 0080 STR(B$,U,1)=STR(A$,T,1) 0090 IF STR(A$,T+1,1)="^"THEN 170 : IF STR(A$,T+1,1)="("THEN 170 : IF STR(A$,T+1,1)=")"THEN 170 : IF T=0THEN 70 : IF STR(A$,T+1,1)<"A"THEN 100 : IF STR(A$,T+1,1)>"Z"THEN 100 : GOTO 170 0100 IF STR(A$,T+1,1)<"a"THEN 210 : IF STR(A$,T+1,1)>"z"THEN 210 : GOTO 70 0110 H=0 : T=T+1 0120 T=T+1 : H=H+1 : IF STR(A$,T,1)<"0"THEN 150 : IF STR(A$,T,1)>"9"THEN 150 : STR(B$,H,1)=STR(A$,T,1) : IF STR(A$,T+1,1)<"0"THEN 130 : IF STR(A$,T+1,1)>"9"THEN 130 : GOTO 120 0130 CONVERT B$TO B : I=0 0140 I=I+1 : IF I>B-1THEN 160 : W=W+N : GOTO 140 0150 T=T-1 0160 IF T+1>LEN(A$)THEN 230 : GOTO 200 0170 C=C+1 : IF C>106THEN 180 : READ C$,N : IF C$=B$THEN 190 : GOTO 170 0180 E1$="You have an illegal element: " : STR(E1$,30,3)=B$ : GOTO 220 0190 IF Y=500THEN 430 : W=W+N : U,C=0 : B$=" " : RESTORE 0200 IF STR(A$,T+1,1)="^"THEN 110 : IF STR(A$,T+1,1)="("THEN 240 : IF STR(A$,T+1,1)=")"THEN 250 : IF T+1>LEN(A$)THEN 230 : GOTO 70 0210 IF T+1>LEN(A$)THEN 170 : E1$="You have an illegal symbol: " : STR(E1$,29,1)=STR(A$,T+1,1) 0220 PRINT : PRINT "Entry of ";A$;" is incorrect. ";E1$ : PRINT : GOTO 40 0230 PRINT : IF Y=500THEN 440 : PRINT "MOLE OF ";A$;"=";W;"GRAMS." : PRINT : GOTO 40 0240 T=T+1 : X=W : W=0 : GOTO 70 0250 T=T+1 : N=W : W=W+X : GOTO 200 0260 DATA "H",1,"He",4,"Li",7,"Be",9,"B",11,"C",12,"N",14,"O",16,"F",19,"Ne",2 0,"Na",23,"Mg",24,"Al",27,"Si",28,"P",31,"S",32,"Cl",35,"Ar",40 0270 DATA "K",39,"Ca",40,"Sc",45,"Ti",48,"V",51,"Cr",52,"Mn",55,"Fe",56,"Co",5 9,"Ni",59,"Cu",64,"Zn",65,"Ga",70,"Ge",73,"As",75,"Se",79,"Br",80 0280 DATA "Kr",84,"Rb",85,"Sr",88,"Y",89,"Zr",91,"Nb",93,"Mo",96,"Tc",98,"Ru", 101,"Rh",103,"Pd",106,"Ag",108,"Cd",112,"In",115,"Sn",119,"Sb",122 0290 DATA "Te",128,"I",127,"Xe",131,"Cs",133,"Ba",137,"La",139,"Ce",140,"Pr",1 41,"Nd",144,"Pm",145,"Sm",150,"Eu",152,"Gd",157,"Tb",159,"Dy",162,"Ho",16 4,"Er",167,"Tm",169,"Yb",173,"Lu",175 0300 DATA "Hf",178,"Ta",181,"W",184,"Re",186,"Os",190,"Ir",192,"Pt",195,"Au",1 97,"Hg",201,"Tl",204,"Pb",207,"Bi",209,"Po",209,"At",210,"Rn",222 0310 DATA "Fr",223,"Ra",226,"Ac",227,"Th",232,"Pa",231,"U",238,"Np",237,"Pu",2 44,"Am",243,"Cm",247,"Bk",247,"Cf",251,"Es",252,"Fm",257,"Md",258,"No",25 9,"Lr",260,"Unq",261,"Unp",262,"Unh",263 0320 DATA 11,55,1,2,3,44,33,-2,-1,55,1,2,3,4,5,6,11,55 0330 DATA 1,2,3,4,5,3,2,3,2,2,2,2,3,4,33,4,11,55,1,2,3,4,5,6,7,4,3,2,1,2,3,4,3 3,4,11,55,1,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,5,6,7,4,4,4,3,2,1,2,3,4,11, 55,1,2,3 0340 DATA 4,5,6,5,4,3,3,3,3,55,55,55,55,55,55,55,55 0350 RESTORE : A=0 : A$=" " 0360 A=A+1 : IF A>106THEN 40 : READ K$,B : PRINTUSING 400,"Atomic no.=";A;"Symbol= ";K$;"Atomic weight=";B : FOR I=1TO 50 : NEXT I : KEYIN R$,370,360 : GOTO 360 0370 PRINT "So far - ";A$ : INPUT "Which one",K$ : IF K$="NONE"THEN 390 0380 K=K+1 : IF K>LEN(K$)THEN 390 : R=R+1 : STR(A$,R,1)=STR(K$,K,1) : GOTO 380 0390 K=0 : INPUT "Continue",R$ : IF STR(R$,1,1)="Y"THEN 360 : IF STR(R$,1,1)="y"THEN 360 : R=0 : RESTORE : GOTO 70 0400 %########### ### ####### ### ############## ### 0410 PRINT HEX(030A0A0A0A0A);TAB(20);"THE PRECEDING HAS BEEN A" : PRINT : PRINT TAB(25);HEX(C2A6C4A0C6D5CCC5D3A0C9CEC3AE) : PRINT : PRINT TAB(24);"USEFUL PROGRAM." : FOR I=1TO 1000 : NEXT I : STOP : END 0420 INPUT "ELEMENTS",A$ : Y=500 : GOTO 60 0430 J8=J8+1 : IF J8>2THEN 600 : STR(J8$,J9+1,LEN(B$))=B$ : J9=J9+LEN(B$) : J2=LEN(B$) : RESTORE 212 : FOR J7=1TO C : READ J : NEXT J7 : READ J(J8) : IF J(J8)=55THEN 590 : RESTORE : U,C=0 : B$=" " : GOTO 200 0440 IF J(1)>0THEN 450 : IF J(2)<=0THEN 590 : A=1 : GOTO 470 0450 IF J(2)>=0THEN 510 : A=-1 : GOTO 470 0460 FOR I=1TO 2 : IF J(I)=44THEN 560 : IF J(I)=11THEN 570 : IF J(I)=33THEN 580 : NEXT I : GOTO 440 0470 FOR I=1TO 2 : IF J(I)=44THEN 560 : IF J(I)=11THEN 570 : IF J(I)=33THEN 580 : NEXT I 0480 U7=0 : P=P+1 : IF P>12THEN 590 0490 U7=U7+1 : IF U7>12THEN 480 : IF P*J(1)=-(U7*J(2))THEN 500 : GOTO 490 0500 PRINT STR(J8$,1,J9-J2);P;HEX(080808);"^";HEX(09);STR(J8$,J9-J2+1,J2);U7;H EX(080808);"^" : P,U7,J(1),J(2),J2,J8,J9,A,Y=0 : J8$=" " : GOTO 40 0510 FOR I=1TO 2 : IF J(I)=44THEN 530 : IF J(I)=11THEN 540 : IF J(I)=33THEN 550 : NEXT I : GOTO 440 0520 FOR I=1TO 2 : IF J(I)=44THEN 530 : IF J(I)=11THEN 540 : IF J(I)=33THEN 550 : NEXT I : GOTO 590 0530 J(I)=-4 : IF J(I)=11THEN 570 : IF J(I)=33THEN 580 : I=2 : NEXT I : GOTO 460 0540 J(I)=-1 : IF J(I)=33THEN 580 : I=2 : NEXT I : GOTO 460 0550 J(I)=-3 : I=2 : NEXT I : GOTO 460 0560 J(I)=4 : IF J(I)=11THEN 540 : IF J(I)=33THEN 550 : I=2 : NEXT I : GOTO 510 0570 J(I)=1 : IF J(I)=33THEN 550 : I=2 : NEXT I : GOTO 510 0580 J(I)=3 : I=2 : NEXT I : GOTO 510 0590 PRINT "CAN'T HAVE THAT COMPOUND" : END 0600 PRINT "YOU CAN'T HAVE MORE THAN 2 ELEMENTS NOW."