Empezando con el operador NOT
El operador NOT
(NO
en PSeInt),
sirve para expresar todo lo contrario a la propia
expresión. Mira este ejemplo:
Algoritmo CondicionalNot
Definir numero_adivinanza Como Entero
Escribir "Adivina el número. Puede ser cualquiera del 1 al 10."
Leer numero_adivinanza
Si NO numero_adivinanza == 7 Entonces
Escribir "Lo siento, no has acertado el número."
SiNo
Escribir "Enhorabuena, has acertado el número. Era el 7."
FinSi
FinAlgoritmo
No (conjunción) en inglés se escribe not.
Espacio publicitario
Con
NO numero_adivinanza == 7
estamos diciéndole al intérprete de PSeInt, que si el
número NO
es igual a 7
, que le
diga al usuario que no ha acertado. Esto produce un
VERDADERO
. En cambio, si el número es igual a
7
, producirá un FALSO
y se
ejecutará el código del SiNo
.
Probando el algoritmo
Si el valor es 5
, se cumple la condición del
Si
:
En cambio, si el valor es 7
, se ejecuta el
SiNo
:
Espacio publicitario
Espacio publicitario
Ejercicio de programación para resolver
34. Para el siguiente ejercicio, quiero que crees un
condicional parecido al del ejemplo de este capítulo, pero
que contemple dos posibles valores, el 5
y el
10
. Si el usuario introduce uno de ellos, se
ejecutará el SiNo
, en caso contrario, si no
acierta ninguno de estos números, se ejecutará el
Si
.
No te compliques. Haz la misma estructura de código de la teórica y piensa que tendrás que utilizar algún operador lógico extra a parte del
NO
.
El ejercicio puede resultar algo confuso, pero lo que quería, era hacértelo un poco más complicado con esta lógica invertida.
Algoritmo CondicionalNot
Definir numero1 Como Entero
Escribir "Adivina alguno de los dos números secretos. Puede ser cualquiera del 1 al 10."
Leer numero
Si NO numero == 5 Y NO numero == 10 Entonces
Escribir "Lo siento, no has acertado el número."
SiNo
Escribir "Enhorabuena, has acertado uno de los números secretos."
FinSi
FinAlgoritmo
La expresión que he construido evalúa en el
Si
, si numero
no es igual a
5
y además, si numero
no es
igual a10
. Cada vez que esto sea
VERDADERO
, le dirá al usuario que no ha
acertado. En cambio, cuando no se cumpla, se ejecutará
el bloque SiNo
, indicando que ha
acertado.
Por supuesto, es más sencillo hacer esto de manera
inversa, sin utilizar el operador lógico
NO
. Esto lo he hecho, para que puedas ir
aplicando su lógica. Encontraremos muchos casos de uso
prácticos para este operador a lo largo de los cursos
de este sitio web.
Espacio publicitario
Espacio publicitario