Skip to content

MarkusSecundus/AnorganickyPrevodnik

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Převodník mezi vzorečky a systematickými názvy anorganických chemických sloučenin

Napsaný v Prologu

 
 
 
 

Použití...

  • Stačí načíst hlavní modul anorg_prevodnik.pl a zavolat jeho predikát jmeno_vzorec/2, který obstarává obousměrný převod.

    • Alespoň jeden z argumentů nutně musí být poskytnut, jinak predikát vždy selže.
  • Podporované sloučeniny: základní kyslíkaté kyseliny, jejich soli, oxidy, hydroxidy, sulfidy, halogenidy (implementované jako specielní případy solí)

  • Vzorečky používají intuitivní formát zápisu - značka prvku příp. následovaná číslem udávajícím počet výskytů, za ní další zn. prvku atd., případné složeniny (kyselinové anionty, amonný kationt,...), pokud se vyskytují násobně, jsou zapsány do závorky následované kvantifikátorem (např. 'NaCl', 'H2SO4', '(NH4)2CO3', 'Fe2(SO4)3', ...)

  • Vytvořené názvy jsou v některých případech lehce kostrbaté, jelikož vystihnout všechny mírné odchylky od striktního názvoslovného pravidla k pěkněji vyslovitelným reálně používaným tvarům by mi dalo více práce, než za kolik to stojí.

  • Za kyseliny odpovídající danému jménu jsou považovány všechny, které splňují ze jména plynoucí ox. číslo - tedy vyžádáte-li např. kys. sírovou, dostanete H2SO4, ale zároveň i H4SO5 atd. . Stejně tak ale díky tomu pro kys. fosforečnou dostanete vedle neexistující HPO3 i správnou H3PO4. Jak hodně kyslíků navíc bude program zkoušet dohazovat, lze ovlivnit skrze predikát c_ROZUMNY_POCET_KYSLIKU_V_KYSELINE_NAVIC v modulu modul data.pl.
    Obdobné platí i pro soli daných kyselin.

 

Přidávání dat...

  • modul data.pl

    • seznam všech chemických prvků
      • pro přehlednost definovány zvlášť v modulu seznam_prvku.pl
      • modul data.pl ho importuje a predikát prvek/3 exportuje dál
    • koncovky pro automatickou tvorbu jmen iontů
    • seznam prvků, pro něž se mají automaticky generovat kationty (vygenerují se vždy se všemi oxidačními čísly)
    • seznam explicitně definovaných iontů
  • Přidávání nových skupin prvků...

    • pro implementaci úplně nové skupiny prvků je třeba přidat novou klauzuli k predikátu je_molekula/3
    • drtivou většinu skupin (kyslíkaté kyseliny, oxidy, sulfidy, halogenidy, ...) lze implementovat jako specielní případ solí

Releases

No releases published

Packages

No packages published

Languages