N10 Editor Molecular

Enunciado

Se desea construir un editor gráfico que permita dibujar la fórmula química de una molécula haciendo uso de un grupo de símbolos gráficos, los cuales pueden representar átomos de ciertos elementos de la tabla periódica o diferentes tipos de enlaces entre dichos átomos.  

En química, una molécula corresponde a un grupo eléctricamente neutro de átomos que se encuentran enlazados de forma covalente. Cada enlace covalente conecta dos átomos y está clasificado según el número de pares de electrones que estén compartiendo estos átomos (simple, doble o triple). Un enlace simple comparte un par de electrones, uno doble dos pares y uno triple tres pares. Adicionalmente, en cada enlace, cada átomo involucrado aporta la mitad de electrones que se estén compartiendo.  

Por otro lado, cada elemento químico tiene asociado un valor para su valencia, el cual define la cantidad de electrones que un átomo de dicho elemento puede compartir en los enlaces. Por ejemplo, un átomo de boro (cuya valencia es 3) podría formar tres enlaces simples, un enlace doble y uno simple, o un enlace triple con sus tres electrones disponibles para compartir.   

Para que una molécula esté correctamente formada, todos los átomos involucrados deben compartir todos electrones indicados por su valencia (ni más ni menos), de lo contrario, la molécula no quedaría eléctricamente neutra.  

Existen diferentes formas para representar las moléculas, una de ellas es la “fórmula desarrollada”  (una de las formas gráficas en dos dimensiones más usada), en la cual se muestran los átomos y los enlaces que los conectan (no se incluye información sobre la geometría real de la molécula). En esta representación, cada átomo se representa mediante la abreviatura de su elemento químico (e. g. B, para el boro, Fe para el hierro) y cada enlace se representa usando líneas paralelas cuya cantidad depende del tipo de enlace (para enlace simple una línea; para el enlace doble, dos líneas; y para el enlace triple, tres líneas).   

Se espera que el editor maneje, inicialmente, los siguientes elementos y los agrupe según la clasificación de los elementos químicos (metales, metaloides y no metales): 

- Metales: calcio y hierro.

- Metaloides: boro y silicio.

- No metales: hidrógeno y oxígeno.  

El editor debe estar en la capacidad de incluir otros elementos de la tabla periódica según su clasificación.

Por otra parte, el editor solo considera la información básica de un elemento químico: abreviatura, número atómico (número total de electrones en cada átomo) y valencia. Para el caso de los enlaces, solo es necesario conocer: tipo de enlace, cantidad de electrones compartidos y los átomos conectados por el enlace.  

Desde el punto de vista gráfico, tanto los átomos de los elementos como los enlaces son representados por su respectivo símbolo gráfico. El símbolo gráfico de un átomo está compuesto por un texto con la abreviatura del elemento químico en la tabla periódica y una figura geométrica que lo rodee. Esta figura geométrica depende del grupo al que pertenece el elemento:   

- Grupo de los metales: círculo.

- Grupo de los metaloides: cuadrado.

- Grupo de los no metales: rombo.  

En cuanto a los enlaces, los símbolos gráficos son los mismos de la fórmula desarrollada (una, dos o tres líneas paralelas de acuerdo al tipo de enlace).  

Adicionalmente, cada símbolo gráfico debe estar asociado a una posición (𝑥,𝑦) en el lienzo donde se dibuja la  fórmula de la molécula. Esta posición es determinada por la posición de la esquina superior izquierda del símbolo gráfico.

La aplicación debe permitir:

- Agregar un nuevo símbolo gráfico al lienzo del editor. Este símbolo puede corresponder a un átomo de un elemento químico o a un enlace entre átomos. Los elementos químicos que se deben considerar son: calcio, hierro, oxígeno, hidrógeno, boro, y silicio. Así mismo dentro de los enlaces se considerarán los enlaces: simples, dobles y triples.

- Seleccionar uno de los símbolos gráficos que se encuentran en lienzo del editor (ya sea de un átomo de un elemento o un enlace).

- Eliminar un símbolo gráfico seleccionado del lienzo del editor (de un átomo de un elemento o enlace).

- Desplazar un símbolo gráfico seleccionado que corresponda a un átomo de un elemento químico (calcio, hierro, oxígeno, hidrógeno, boro y/o silicio). Los símbolos gráficos que representan enlaces no se pueden desplazar independientemente de los átomos que conectan.

- Guardar en un archivo de texto la información de los símbolos gráficos que se encuentren en el lienzo del editor

- Cargar al lienzo del editor la información de símbolos gráficos contenida en un archivo de texto. El programa debe permitir seleccionar el archivo, cargar la información y dibujar los símbolos gráficos correspondientes en el lienzo del editor.

Interfaz

 Interfaz

Demo