¿Es importante la lógica matemática?




Desde el punto de vista de un desarrollo en un sistema administrativo.

No es raro encontrar en proyectos situaciones que plantean tomas de decisiones que involucran más de un criterio a la vez y con combinaciones que se ven extrañas, especialmente si no todas las posibles combinaciones se presentan, adicionalmente, esas combinaciones se dirigen a unos pocos resultados, como agrupándose.

Una primera opción es hacer para cada caso su correspondiente resultado, aunque se repitan los resultados. En el proyecto esta lógica se tuvo que aplicar para imprimir las diferentes bandas de un reporte, y para cada banda se tuvo que hacer un diseño, así que en total resultaron en 8 bandas diferentes aplicadas a dos secciones y el par debía estar presente para dos opciones distintas. Así que resultaba algo tedioso de construir y mantener. Aun así se hizo.

Después se requirió hacer modificaciones a los criterios para desplegar las bandas, ahí apareció una segunda opción: Modificar las reglas para que se desplegaran las bandas ya existentes sin tener que crear nuevas bandas con sus reglas y modificar las existentes para que no se desplegaran cuando se cumpliera la nueva condición.

Es en estos casos que podemos hacer uso de esos cursos de la Universidad sobre Lógica Matemática para definir las reglas que se cumplirán. Finalmente todas esas reglas refieren a valores lógicos (verdadero / falso)

Hay que mencionar la importancia de tener el contexto del comportamiento para cada una de las premisas, ya que de esto depende la construcción de la función lógica que dirigirá hacia cada resultado posible. Para el caso en cuestión, eran 4 premisas de las cuales una era mutuamente excluyente con la nueva condición. Al final se logró hacer el cambio y se quedó una documentación para posteriores cambios y hacerlos más rápido sin hacer crecer demasiado el reporte en cuestión. De otra forma se habría tenido que invertir tiempo adicional en crear nuevas secciones, modificar las actuales en sus reglas para que con la nueva condición no entren ahí y reglas para que se impriman las nuevas secciones si se cumple la condición.

Para tener una referencia, aquí pongo una tabla de verdad y cómo se comportan los resultados con distintos operadores
A B C A && B A || B A && B && C A || B || C A && (B || C) A || (B && C)

~
~
~
~
~
~
~
~
~
FVFVFVFVFVFVFVFVFV
FVFVVFFVFVFVVFFVFV
FVVFFVFVVFFVVFFVFV
FVVFVFFVVFFVVFFVVF
VFFVFVFVVFFVVFFVVF
VFFVVFFVVFFVVFVFVF
VFVFFVVFVFFVVFVFVF
VFVFVFVFVFVFVFVFVF

Comentarios

Entradas populares