César Aquino Maximiliano

Software Developer | Bombero Voluntario | Tech Instructor

Lógica proporcional orientada a la programacion con PHP

Publicado el por César Aquino Maximiliano en la categoría Desarrollo web

Hola, en esta oportunidad me gustaría compartir con ustedes un trabajo dinámico y divertido que relaciona la parte de lógica con la de programación en PHP, para comenzar tenemos que definir que es la lógica, bien como vemos en la diapositiva numero 3 la lógica, no es un cerebro, no es nada intrincado y mucho menos es algo de que tenerle miedo; la lógica es una ciencia formal (junto con la matemática), lo que quiere decir que no estudia un objeto concreto, sino objetos abstractos, cosas que no podemos tocar o apreciar en la realidad, sino que sus ideas llegan a nosotros a través de la razón, porque nadie puede decir que traerá un numero 3, puede traer un dibujo del número 3 o representaciones de la idea del número 3 (como traer a tres niños…), es porque el número 3 no existe en la realidad como un objeto palpable, así de la misma forma la lógica estudia la manera correcta de pensar a través de proposiciones bivalentes (verdaderas o falsas).

Dentro de la diapositiva número 4 notaremos que se ha adaptado la lógica a los diferentes campos en los que se la requería, como en el ámbito informático (bit) en la que 0 equivale a diferentes valores como: apagado, vacío (en el caso de conjuntos), falso (en el caso de la lógica) entre otros; y a su vez el 1 equivaldría a valores como: encendido, universal (lógica de nuevo), o verdadero (adicionalmente en la lógica verdadero por obvias razones equivale a V ) apreciado en la quinta diapositiva.

Dentro de la lógica no solo encontramos a algunas proposiciones también existen conectores lógicos y cuantificadores (los que veremos en otra diapositiva también orientada a PHP), los conectores lógicos más conocidos y por ello más implementados son por ejemplo: conjunción (˄), disyunción inclusiva (˅), condicional (→), bicondicional (↔), negación (~), disyunción exclusiva (∆); los cuales fácilmente pueden ser representados en PHP a través de sus equivalencias.

La conjunción (˄) expresada en PHP como AND se expresa por la multiplicación de los conjuntos o los valores; siendo así que la única posibilidad de obtener verdadero es cuando ambos valores sean verdaderos (por que como ya hemos mencionado anteriormente true, verdadero equivale a 1) teniendo que

en la lógica V ˄ V = V, su representación se daría en programación como 1*1 =1, en caso que se quiera modificar el valor de alguno no se conseguiría otro valor diferente de False (0).

La disyunción (˅) expresada de manera más significativa en PHP como OR se expresa por la suma de los conjuntos; siendo que la única posibilidad de obtener 0 (falso) es sumar 0 + 0 = 0, lo que en proposiciones es F c F = F.

Adicionalmente a esto hay que aclara que los valores booleanos son solo 0 y 1 por lo que no se puede argumentar que V ˅ V = 2, queriendo indicar que 1 + 1 = 2, además de ello cabe mencionar que la negación (~) representada a través del símbolo ! en PHP cambia el valor de la proposición de true a false y también inversamente, es así que todos los conectores lógicos pueden ser reducidos a conjunción, negación y disyunción.

Además de esto, como se puede apreciar en la diapositiva número 12 existe una jerarquía de conectores, la cual nos indica la fuerza desde donde se comienza a operar en caso no exista un símbolo de agrupamiento.

Ejemplo:

Siendo que se tenga $p ↔ $q (nota al agregar $ en PHP lo definimos como una variable) por leyes propias de la lógica lo podríamos expresar como ($p → $q) ˄ ($q → $p), para volver a separarlo en (~$p ˅ $q) ˄ (~$q ˅ $p), al remplazar en PHP por sus propias equivalencias obtendríamos

{[( ! $p) or $q,] and [( ! $q) or $p]}

Además de ello podríamos simplemente la anterior expresión como $p ↔ $q como ~ ($p ∆ $q) , que es fácilmente transcrito como:

! ($p Xor $q)

Etiquetas: