4.2: Condicionales
( \newcommand{\kernel}{\mathrm{null}\,}\)
Más allá de la búsqueda, la lógica booleana se usa comúnmente en aplicaciones de hojas de cálculo como Excel para hacer cálculos condicionales. Una declaración es algo que o bien es verdadero o falso. Una declaración como 3 < 5 es verdadera; una declaración como “una rata es un pez” es falsa. Una declaración como “x < 5” es verdadera para algunos valores dex y falsa para otros. Cuando se realiza una acción o no dependiendo del valor de una declaración, ésta forma un condicional.
Una declaración es verdadera o falsa.
Un condicional es una declaración compuesta de la forma “si p entonces q” o “si p entonces q, else s”.
En lenguaje común, un ejemplo de una declaración condicional sería “Si está lloviendo, entonces iremos al centro comercial. De lo contrario iremos a hacer una caminata”.
Solución
El enunciado “Si está lloviendo” es la condición —esto puede ser verdadero o falso para un día determinado. Si la condición es cierta, entonces seguiremos el primer curso de acción, e iremos al centro comercial. Si la condición es falsa, entonces usaremos la alternativa, e iremos de excursión.
Como se mencionó anteriormente, las sentencias condicionales se utilizan comúnmente en aplicaciones de hojas de cálculo como Excel. Si es Excel, puede ingresar una expresión como:
=SI (A1<2000, A1+1, A1*2)
Observe que después del IF, hay tres partes. La primera parte es la condición, y las dos segundas son cálculos. Excel analizará el valor en la celda A1 y lo comparará con 2000. Si esa condición es verdadera, entonces se usa el primer cálculo, y se agrega 1 al valor de A1 y se almacena el resultado. Si la condición es falsa, entonces se utiliza el segundo cálculo, y A1 se multiplica por 2 y se almacena el resultado.
Es decir, esta afirmación equivale a decir “Si el valor de A1 es menor que 2000, entonces suma 1 al valor en A1. De lo contrario, múltiples A1 por 2”
Se utiliza la expresión =IF (A1 > 5, 2*A1, 3*A1). Encuentra el resultado si A1 es 3, y el resultado si A1 es 8.
Esto equivale a decir Si A1 >5, entonces calcula 2*A1. De lo contrario, calcule 3*A1.
Si A1 es 3, entonces la condición es falsa, ya que 3 > 5 no es verdadera, por lo que hacemos la acción alternativa, y múltiplo por 3, dando 3*3 = 9.
Si A1 es 8, entonces la condición es verdadera, ya que 8 > 5, así multiplicamos el valor por 2, dando 2*8=16.
Un contador necesita retener el 15% de los ingresos por impuestos si los ingresos son inferiores a los 30,000 dólares, y el 20% de los ingresos si los ingresos son de 30,000 dólares o más. Escribir una expresión que calcularía la cantidad a retener.
Solución
Nuestro condicional necesita comparar el valor con 30,000. Si el ingreso es menor a 30,000, necesitamos calcular el 15% de los ingresos: 0.15*ingreso. Si el ingreso es superior a 30,000, necesitamos calcular el 20% de los ingresos: 0.20*ingreso.
En palabras, podríamos escribir “Si ingresos < 30,000, entonces multiplicar por 0.15, de lo contrario multiplicar por 0.20”. En Excel, escribiríamos:
=SI (A1<30000, 0.15*A1, 0.20*A1)
Como hicimos antes, podemos crear condiciones más complejas mediante el uso de los operadores y, o, y no unir condiciones más simples juntas.
Un padre podría decirle a su hijo “si limpias tu habitación y sacas la basura, entonces puedes tomar helado”.
Aquí, hay dos condiciones más simples:
- El niño limpiando su habitación
- El niño sacando la basura
Dado que estas condiciones se unieron con y, entonces el condicional combinado solo será cierto si ambas condiciones más simples son verdaderas; si alguna tarea no se completa entonces no se cumple la condición del padre.
Observe que si el padre hubiera dicho “si limpia su habitación o saca la basura, entonces puede tomar helado”, entonces el niño solo necesitaría completar una tarea para cumplir con la condición.
Para crear la condición “A1 < 3000 and A1 > 100” en Excel, necesitaría ingresar “AND (A1100)”. De igual manera, para la condición “A1=4 o A1=6” ingresarías “OR (A1=4, A1=6)”.
En una hoja de cálculo, la celda A1 contiene ingresos anuales y A2 contiene el número de dependientes. Un cierto crédito fiscal aplica si alguien sin dependientes gana menos de $10,000 y no tiene dependientes, o si alguien con dependientes gana menos de $20,000. Escribe una regla que describa esto.
Solución
Hay dos formas en que se cumple la regla:
- el ingreso es inferior a 10,000 y los dependientes son 0, o
- el ingreso es inferior a 20,000 y los dependientes no son 0.
Informalmente, podríamos escribirlos como (A1 < 10000 y A2 = 0) o (A1 < 20000 y A2 > 0)
Observe que la condición A2 > 0 es realmente redundante y no necesaria ya que solo estaríamos considerando eso o caso si no se cumpliera el primer par de condiciones. Así que esto podría simplificarse a: (A1 < 10000 y A2 = 0) o (A1 < 20000)
En formato Excel escribiremos: = IF (OR (AND (A1 < 10000, A2 = 0), A1 < 20000), “calificas”, “no calificas”)