Энтомология. Красим таблицу Менделеева

Dec 29, 2008 01:43

В незапамятные времена мне в голову пришла идея написать на PHP таблицу Менделеева, просто ради интереса. Тут стоит отметить для людей, слабо знакомых с химией, что таблица Менделеева это не какая-то абсолютная вещь, в ее клетках может быть указана самая разнообразная информация об элементах, да и сами элементы могут быть расположены различным образом. Самыми популярными из этих образов являются короткопериодный и длиннопериодный вариант.

«Замечательно» - решил я - «Последовательность элементов будет задаваться в текстовом файле, а скрипт будет это все оттуда считывать, нумеровать, выдавать в таблицу и раскрашивать, как положено. Раскрашивать удобнее всего стилями. Для начала пригодится стиль для ячейки с элементом elem, стиль с именем самого элемента, например Hf и стили, согласно которым ячейки будут помечаться цветом - s, p, d, f, согласно электронной конфигурации элемента».

Этот класс я определял такой функцией:

function spdf($n)
{
    $inert = array(0, 2, 10, 18, 36, 54, 86, 118, 164);
    $i = 0; $full = $i;

while ($inert[$i] <= $n) $full = $i++;

$pi = $inert[$full]; $ni = $inert[$full + 1];

if($n == $pi) return "p";
    if($n - $pi < 3) return "s";
    if($ni - $n < 6) return "p";
    if($ni - $n < 16) return "d";

return "f";
}

Но вот беда: в итоговой таблице все-все элементы выводились верно (своими цветами, на своих местах), кроме фтора.

Интересно, кто быстрее догадается о причинах такого странного поведения, химики или программисты? :)

химия, программирование, юмор

Previous post Next post
Up