tablas de verdad en php programación en internet ii
Post on 28-Jan-2016
234 Views
Preview:
TRANSCRIPT
Tablas de verdad en PHPProgramación en Internet II
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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).
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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:
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
• 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.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
Esto puede graficarse con esta tabla:
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
(Siendo “V” verdadero, y “F” falso).
Dependiendo de cual operador utilicemos para unir ambas condiciones, obtendremos distintos resultados al evaluar el conjunto completo.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
Veamos cual es la “tabla de verdad” para unir condiciones, según cada uno de estos operadores lógicos.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
Veamos un ejemplo con PHP. Supongamos que disponemos de estos datos:
$usuario = "pepe"; $clave = 123456;
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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:
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
if($nombre == "pepe" and $clave == "123456") {print ("¡Bien venido pepe!");} else {print ("No lo conocemos, disculpe pero queda fuera");}
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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;
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
Desde ya que también se evaluaría como falsa si ambas partes fueran falsos (tanto el nombre como la clave).
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
La única forma de que una disyunción resulte falsa es que todas las condiciones sean falsas, sin excepción.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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:
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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.");
}
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
La diferencia con el operador de la disyunción común es que si ambas condiciones son verdaderas, devuelve falso.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
Supongamos que disponemos de estos datos proporcionados en un pedido:
$targeta = "VISA";$cupon = "19876";
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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.");}
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
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.
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
Ya hemos utilizado este operador en otros casos, como por ejemplo en:
if ($_POST["nombre"] != "Pepe" {print ("No sos Pepe");
}
Tablas de verdad en PHP
Programación en Internet IIUniversidad de Guadalajara | Centro Universitario de la Costa
Devuelve verdadero si nombre no es igual a “Pepe”.Resumamos, entonces, en un cuadro, los distintos operadores lógicos:
top related