300 likes | 636 Views
Tablas de verdad en PHP. Programación en Internet II. Tablas de verdad en PHP. Todos los operadores lógicos evalúan el “valor de verdad” (es decir, si es verdadera o falsa)
E N D
Tablas de verdad en PHP Programación en Internet II
Tablas de verdad en PHP Todos los operadores lógicos evalúan el “valor de verdad” (es decir, si es verdadera o falsa) De cada una de las condiciones por separado y, luego, según el operador utilizado para unir estas condiciones, devuelven un único valor de verdadero o falso para el conjunto completo de condiciones que formaban esa expresión. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Vamos a analizar cuatro operadores lógicos: • And (conjunción, también puede escribirse en PHP como &&), • Or ( disyunción, también puede escribirse en PHP como ||), • Xor ( disyunción excluyente, informalmente llamado “or excluyente”), • !(negación). Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Si a las dos condiciones que uniremos mediante operadores lógicos les damos un nombre simbólico y las denominaciones $x e $y, los valores de verdad pueden ser solamente cuatro: Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP • Que ambas condiciones sean verdaderas, • Que ambas condiciones sean falsas, • Que la primera sea verdadera y la segunda falsa, • Que la primera sea falsa y la segunda verdadera. No hay otra alternativa. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Esto puede graficarse con esta tabla: Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP (Siendo “V” verdadero, y “F” falso). Dependiendo de cual operador utilicemos para unir ambas condiciones, obtendremos distintos resultados al evaluar el conjunto completo. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Veamos cual es la “tabla de verdad” para unir condiciones, según cada uno de estos operadores lógicos. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP El operador de conjunción es un operador lógico bastante restrictivo, ya que requiere que todas las condiciones que forman parte de la expresión sean verdaderas para que devuelva verdadera la condición completa. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP En cualquier otro caso, es decir, con que sólo una de las condiciones sea falsa, la expresión completa se evalúa como falsa. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Veamos un ejemplo con PHP. Supongamos que disponemos de estos datos: $usuario = "pepe"; $clave = 123456; Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Y que queremos validarlos con un condicional que evalué si el nombre es “pepe” y la clave es “123456”. Necesitamos que ambos sean verdaderos para dar por verdadera la condición entera y darle acceso a ese usuario, entonces, usaremos un operador de conjunción: Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP if($nombre == "pepe" and $clave == "123456") {print ("¡Bien venido pepe!");} else {print ("No lo conocemos, disculpe pero queda fuera");} Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Es recomendable que probemos qué sucede cuando proporcionamos valores “falsos” (distintos a los esperados en la condición). Por ejemplo, podríamos cambiar los valores de esas dos variables de esta manera: $usuario = "Juan";$clave = 123456; Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP En ese caso, se evaluaría como falsa la condición, ya que la primera condición (que $nombre valga “pepe”) se evalúa como falsa, así que, por más que la segunda sea verdadera, al haber unido ambas con un operador de conjunción and, la condición entera se evalúa como falsa. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Del mismo modo, podríamos volver a cambiar los valores de esas dos variables, esta vez a algo como. $usuario = "Pepe";$clave = 99999; Y también en este caso, se evaluaría como falsa la condición, ya que la primera condición es verdadera, pero la segunda es falsa. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Desde ya que también se evaluaría como falsa si ambas partes fueran falsos (tanto el nombre como la clave). Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP El operador de disyunción, contrariamente al anterior, es un operador lógico bastante amplio, ya que considera que la expresión es verdadera si al menos una de las condiciones que forma parte de la expresión es verdadera. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP La única forma de que una disyunción resulte falsa es que todas las condiciones sean falsas, sin excepción. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Veamos un ejemplo con PHP, imaginemos que un sitio de comercio electrónico realiza envíos a domicilio solamente en tres ciudades: ciudad 1, ciudad 2 y ciudad 3; solicitamos al usuario que ingrese su ciudad de residencia en un campo llamado “ciudad”, y evaluemos ese dato. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Necesitamos que al menos uno de esos tres nombres de ciudad sea el que verdaderamente ingreso el usuario para dar por verdadera la condición entera, y realizar el pedido. Entonces, usaremos un operador de disyunción: Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP if ($_POST["ciudad"] == "ciudad 1" or $_POST["ciudad"] == "ciudad 2" or $_POST["ciudad"] == "ciudad 3"){print ("¡Zona correcta! Recibira su pedido.");} else {print ("Esta fuera del área de cobertura.");} Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Nuevamente, es recomendable que probemos cambiando los valores esperados, y que veamos que sucede cuando proporcionamos valores falsos o uno de los verdaderos. En el caso de una disyunción, con que proporcionaremos un solo de los valores correctos, se evaluara como correcta la expresión. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP La diferencia con el operador de la disyunción común es que si ambas condiciones son verdaderas, devuelve falso. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Supongamos que disponemos de estos datos proporcionados en un pedido: $targeta = "VISA";$cupon = "19876"; Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Y que queremos validarlos con la regla de que si paga con tarjeta VISA, no se considera ningún cupón de descuento. Por el contrario, si ingresa un cupón de descuento, la forma de pago no puede ser VISA. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Son excluyentes: if($targeta == "VISA" xor $cupon <> ""){print ("Podemos tomar su pedido");} else {print ("No puede elegir VISA y a la vez colocar un código de cupón de descuento, y tampoco puede elegir otro medio de pago sin ingresar un código de cupón.");} Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP El operador de negación transforma la expresión en su contrario. Es decir, si la condición es verdadera, devuelve falso, y si la condición es falsa, devuelve verdadero. Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Ya hemos utilizado este operador en otros casos, como por ejemplo en: if ($_POST["nombre"] != "Pepe" {print ("No sos Pepe");} Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa
Tablas de verdad en PHP Devuelve verdadero si nombre no es igual a “Pepe”.Resumamos, entonces, en un cuadro, los distintos operadores lógicos: Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa