include standard_colors.txt //Source: http://www.reade.com & http://chemistry.about.com DATA 1, Hydrogen , H , 1.0079, 1, 1, 2 DATA 2, Helium , He , 4.0026, 18, 1, 0 DATA 3, Lithium , Li , 6.941, 1, 2, 4 DATA 4, Beryllium , Be , 9.0122, 2, 2, 5 DATA 5, Boron , B , 10.811, 13, 2, 3 DATA 6, Carbon , C , 12.0107, 14, 2, 2 DATA 7, Nitrogen , N , 14.0067, 15, 2, 2 DATA 8, Oxygen , O , 15.9994, 16, 2, 2 DATA 9, Fluorine , F , 18.9984, 17, 2, 1 DATA 10, Neon , Ne , 20.1797, 18, 2, 0 DATA 11, Sodium , Na , 22.9898, 1, 3, 4 DATA 12, Magnesium , Mg , 24.3050, 2, 3, 5 DATA 13, Aluminum , Al , 26.9815, 13, 3, 7 DATA 14, Silicon , Si , 28.0855, 14, 3, 3 DATA 15, Phosphorus , P , 30.9738, 15, 3, 2 DATA 16, Sulfur , S , 32.065, 16, 3, 2 DATA 17, Chlorine , Cl , 35.453, 17, 3, 1 DATA 18, Argon , Ar , 39.948, 18, 3, 0 DATA 19, Potassium , K , 39.0983, 1, 4, 4 DATA 20, Calcium , Ca , 40.078, 2, 4, 5 DATA 21, Scandium , Sc , 44.9559, 3, 4, 6 DATA 22, Titanium , Ti , 47.867, 4, 4, 6 DATA 23, Vanadium , V , 50.9415, 5, 4, 6 DATA 24, Chromium , Cr , 51.9961, 6, 4, 6 DATA 25, Manganese , Mn , 54.9380, 7, 4, 6 DATA 26, Iron , Fe , 55.845, 8, 4, 6 DATA 27, Cobalt , Co , 58.9332, 9, 4, 6 DATA 28, Nickel , Ni , 58.6934, 10, 4, 6 DATA 29, Copper , Cu , 63.546, 11, 4, 6 DATA 30, Zinc , Zn , 65.409, 12, 4, 6 DATA 31, Gallium , Ga , 69.723, 13, 4, 7 DATA 32, Germanium , Ge , 72.64, 14, 4, 3 DATA 33, Arsenic , As , 74.9216, 15, 4, 3 DATA 34, Selenium , Se , 78.96, 16, 4, 2 DATA 35, Bromine , Br , 79.904, 17, 4, 1 DATA 36, Krypton , Kr , 83.798, 18, 4, 0 DATA 37, Rubidium , Rb , 85.4678, 1, 5, 4 DATA 38, Strontium , Sr , 87.62, 2, 5, 5 DATA 39, Yttrium , Y , 88.9059, 3, 5, 6 DATA 40, Zirconium , Zr , 91.224, 4, 5, 6 DATA 41, Niobium , Nb , 92.906, 5, 5, 6 DATA 42, Molybdenum , Mo , 95.94, 6, 5, 6 DATA 43, Technetium , Tc , 98.9072, 7, 5, 6 DATA 44, Ruthenium , Ru , 101.07, 8, 5, 6 DATA 45, Rhodium , Rh , 102.905, 9, 5, 6 DATA 46, Palladium , Pd , 106.42, 10, 5, 6 DATA 47, Silver , Ag , 107.8682, 11, 5, 6 DATA 48, Cadmium , Cd , 112.411, 12, 5, 6 DATA 49, Indium , In , 114.818, 13, 5, 7 DATA 50, Tin , Sn , 118.710, 14, 5, 7 DATA 51, Antimony , Sb , 121.760, 15, 5, 3 DATA 52, Tellurium , Te , 127.60, 16, 5, 3 DATA 53, Iodine , I , 126.904, 17, 5, 1 DATA 54, Xenon , Xe , 131.293, 18, 5, 0 DATA 55, Cesium , Cs , 132.9055, 1, 6, 4 DATA 56, Barium , Ba , 137.327, 2, 6, 5 DATA " 57-71", " " , " ", " " , 3, 6, 8 DATA 57, Lanthanum , La , 138.9055, 3, 8, 8 DATA 58, Cerium , Ce , 140.116, 4, 8, 8 DATA 59, Praseodymium , Pr , 140.9076, 5, 8, 8 DATA 60, Neodymium , Nd , 144.242, 6, 8, 8 DATA 61, Promethium , Pm , 144.9127, 7, 8, 8 DATA 62, Samarium , Sm , 150.360, 8, 8, 8 DATA 63, Europium , Eu , 151.964, 9, 8, 8 DATA 64, Gadolinium , Gd , 157.25, 10, 8, 8 DATA 65, Terbium , Tb , 158.9254, 11, 8, 8 DATA 66, Dysprosium , Dy , 162.500, 12, 8, 8 DATA 67, Holmium , Ho , 164.930, 13, 8, 8 DATA 68, Erbium , Er , 167.259, 14, 8, 8 DATA 69, Thulium , Tm , 168.9342, 15, 8, 8 DATA 70, Ytterbium , Yb , 173.04, 16, 8, 8 DATA 71, Lutetium , Lu , 174.967, 17, 8, 8 DATA 72, Hafnium , Hf , 178.49, 4, 6, 6 DATA 73, Tantalum , Ta , 180.9479, 5, 6, 6 DATA 74, Tungsten , W , 183.84, 6, 6, 6 DATA 75, Rhenium , Re , 186.207, 7, 6, 6 DATA 76, Osmium , Os , 190.23, 8, 6, 6 DATA 77, Iridium , Ir , 192.217, 9, 6, 6 DATA 78, Platinum , Pt , 195.084, 10, 6, 6 DATA 79, Gold , Au , 196.9666, 11, 6, 6 DATA 80, Mercury , Hg , 200.59, 12, 6, 6 DATA 81, Thallium , Tl , 204.3833, 13, 6, 7 DATA 82, Lead , Pb , 207.2, 14, 6, 7 DATA 83, Bismuth , Bi , 208.9804, 15, 6, 7 DATA 84, Polonium , Po , 208.9824, 16, 6, 3 DATA 85, Astatine , At , 209.9871, 17, 6, 1 DATA 86, Radon , Rn , 222.0176, 18, 6, 0 DATA 87, Francium , Fr , 223.0197, 1, 7, 4 DATA 88, Radium , Ra , 226.0254, 2, 7, 5 DATA " 89-103", " " , " ", " " , 3, 7, 9 DATA 89, Actinium , Ac , 227.0278, 3, 9, 9 DATA 90, Thorium , Th , 232.0381, 4, 9, 9 DATA 91, Protactinium , Pa , 231.0359, 5, 9, 9 DATA 92, Uranium , U , 238.0289, 6, 9, 9 DATA 93, Neptunium , Np , 237.0482, 7, 9, 9 DATA 94, Plutonium , Pu , 244.0642, 8, 9, 9 DATA 95, Americium , Am , 243.0614, 9, 9, 9 DATA 96, Curium , Cm , 247.0703, 10, 9, 9 DATA 97, Berkelium , Bk , 247.0703, 11, 9, 9 DATA 98, Californium , Cf , 251.0796, 12, 9, 9 DATA 99, Einsteinium , Es , [254] , 13, 9, 9 DATA 100, Fermium , Fm , 257.0951, 14, 9, 9 DATA 101, Mendelevium , Md , 258.1, 15, 9, 9 DATA 102, Nobelium , No , 259.1009, 16, 9, 9 DATA 103, Lawrencium , Lr , [262] , 17, 9, 9 DATA 104, Rutherfordium, Rf , [261], 4, 7, 6 DATA 105, Dubnium , Db , [262], 5, 7, 6 DATA 106, Seaborgium , Sg , [266], 6, 7, 6 DATA 107, Bohrium , Bh , [264], 7, 7, 6 DATA 108, Hassium , Hs , [269], 8, 7, 6 DATA 109, Meitnerium , Mt , [268], 9, 7, 6 DATA 110, Darmstadtium , Ds , [269], 10, 7, 6 DATA 111, Roentgenium , Rg , [272], 11, 7, 6 DATA 112, Copernicium , Cn , [277], 12, 7, 6 DATA 113, Ununtrium , Uut, unknown , 13, 7, 7 DATA 114, Ununquadium , Uuq, [289] , 14, 7, 7 DATA 115, Ununpentium , Uup, unknown , 15, 7, 7 DATA 116, Ununhexium , Uuh, [298] , 16, 7, 7 DATA 117, Ununseptium , Uus, unknown , 17, 7, 1 DATA 118, Ununoctium , Uuo, unknown , 18, 7, 0 200 DATA "Noble\nGas", "Halogens" DATA "Nonmetals", "Semimetals" DATA "Alkali\nMetal", "Alkaline\nEarth" DATA "Transition\nMetal", "Basic\nMetal" DATA "Lanthanides", "Actinides" dim symbol$(120), atomic_num$(120), name$(120), weight$(120) dim colors (10), categories$ (10) pink = setcolor (255, 200, 200) colors (0) = gold // noble gases colors (1) = yellow // halogens colors (2) = copenhagen_blue // nonmetals colors (3) = green // semimetals colors (4) = pink // alkali metals colors (5) = lilac // alkaline earth colors (6) = turquoise // transition metals colors (7) = orange // Basic Metal colors (8) = green // Lanthanide Series colors (9) = lilac // Actinide Series graph width=7.5, height=4.3, equalscales, noaxes, nogrid graph includeyaxis=0 text x=150,y=160, datasize=17,string="Periodic Table\nof the Elements" for i = 1 to 118 read atomic_num$(i), name$(i), symbol$(i), weight$(i), column, row, type rc = draw_box () next text x=38,y=27,string="Lanthanide\nSeries",datasize=7 text x=38,y=7, string="Actinide\nSeries", datasize=7 // Draw Legend restore 200 for i=0 to 9 read categories$(i) rc = draw_legend_box () next end //------------------------------------------------ def draw_box () = gosub 10000 10000 // A row is 20 high, a column is 20 wide extra = 0 if row > 7 then extra = 5 l = column*20 r = (column+1)*20 t = 200 - row * 20 - extra b = 200 - (row+1) * 20 - extra shape left=l, right=r shape top = t, bottom = b if type <= 7 then shape filltype = solid if type > 7 then shape filltype=hatch, hatch=right shape fillcolor=colors (type) shape rectangle text datasize=10, string = symbol$(i), x=l+10, y = t - 12 text datasize=5, string = atomic_num$(i), x=l+5, y=t-4 text datasize=3.5, string = name$(i), x=l+10, y=t-16 text datasize=3.5, string = weight$(i), x=l+10, y=t-19 return //------------------------------------------------ def draw_legend_box () = gosub 20000 20000 // A box is 10 high, a box is 20 wide + 3 spaces l = i*23 + 100 r = l+20 t = -10 b = t-10 shape left=l, right=r shape top =t, bottom = b if i <= 7 then shape filltype = solid if i > 7 then shape filltype=hatch, hatch=right shape fillcolor=colors (i) shape rectangle text datasize=3.5, string = categories$(i), x=l+10, y=b, y2=t return