image of READY prompt

Wang2200.org

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