Obs: biblioteca. Nota: 0,5 Fabrício Metzker – RA 21.990-8 Mauro do Santo Junior – RA 21.981-9 Descrição da Linguagem Mendeleev A linguagem Mendeleev é uma linguagem de programação voltada para a área da Química. Essa linguagem é totalmente orientada a objetos e nela não existem variáveis dos tipos convencionais, exceto inteiro e ponto flutuante. Cada elemento químico (Hidrogênio, Oxigênio, Alumínio, etc) possui sua classe com seus atributos predefinidos como distribuição eletrônica, eletronegatividade, potencial de ionização, raio atômico, tipo (metal, ametal, etc) entre outros. Existe também a classe molécula que possui atributos como ponto de fusão, ponto de ebulição, estado na temperatura ambiente, polaridade, átomos que a constituem assim como suas quantidades, bem como a estrutura espacial da mesma. Assim, os tipos de variáveis que podem ser declarados nessa linguagem são átomo, molécula, inteiro e ponto flutuante. O operador -> é utilizado para representar reações químicas que podem ser realizadas ou não na presença de um catalisador. Os reagentes são colocados do lado esquerdo desse operador e podem ser do tipo átomo ou molécula. Durante a execução, os produtos gerados são armazenados de forma dinâmica em um vetor de compostos químicos que é criado em tempo de execução visto que, em reações com um grande número de reagentes não se sabe o número de produtos que serão gerados. Caso não seja possível a realização da reação, o valor nulo é retornado. As reações serão identificadas por um rótulo (por exemplo: forma_agua : [reação ]) e através desse rótulo podem ser acessadas informações sobre a reação, inclusive o tempo previsto para o seu término. Estruturas de repetição podem ser utilizadas como nas linguagens convencionais porém, por tratar-se de dados que possuem extrema precisão, as condições de início e parada dos laços podem utilizar números de ponto flutuante. Programas escritos nessa linguagem podem prever resultados das experiências, fornecendo informações sobre radioatividade, calor liberado ou consumido durante a reação e possíveis riscos de explosão. Todos os processos químicos executados nos programas podem ser visualizados de forma tridimensional, sendo mostrada as estruturas espaciais dos compostos antes, durante (átomos se juntando, moléculas se dissociando, etc) e após a reação.