Documentos de Académico
Documentos de Profesional
Documentos de Cultura
COMPARADORES
a == b “a igual a b” Es Verdadero si los valores de “a” y “b” coinciden.
a<b “a menor a b” Es Verdadero si “a” es más chico que “b”.
a <= b “a menor igual a b” Es Verdadero si “a” es igual o más chico que “b”.
a>b “a mayor a b” Es Verdadero si “a” es más grande que “b”.
a >= b “a mayor igual a b” Es Verdadero si “a” es igual o más grande que “b”.
1
Lógica – Resoluciones de ejemplo
1. boolean a = V;
boolean p = a;
Resolución
Como se decía antes, tenemos que determinar qué valor tendrá “p”. Como “p”
está acompañado de la palabra “boolean”, entonces en principio sabemos que
“p” almacenará un valor lógico, también conocido como valor de verdad (o sea,
“p” puede ser Verdadero o Falso). ¿Pero cuál de esos dos valores toma?
En “a” se guarda un valor Verdadero (V) y luego en “p” se guarda el valor que
tiene “a”. Entonces “p” será también Verdadero y esa es la respuesta… la
respuesta es que el valor de “p” será Verdadero.
Pero vamos a seguir el mismo estilo que usan en la guía para resolver estos
ejercicios, que consiste en armar una tabla.
Nos quedaría así:
a p=a
V V
Info. extra
Podemos referirnos a las “letras” que almacenan un valor boolean
(lógico) como “proposiciones”, ya que (en criollo) una proposición es
aquello que puede tomar un valor de verdad (Verdadero o Falso).
En cambio, si en una letra se almacena un valor numérico, no vamos a
poder referirnos a esa letra como una proposición. Con lo siguiente te
vas a dar cuenta por qué…
Imaginate que tenés esto:
boolean a = F;
entero b = 7;
2
Lógica – Resoluciones de ejemplo
Y si somos más específicos, podemos decir “la variable ‘a’ es booleana”,
“la variable ‘a’ es un boolean”, “la variable ‘a’ es lógica”, o bien “’a’ es
una proposición”.
En el caso de “b” podemos decir “la variable ‘b’ es numérica”, “la
variable ‘b’ es un entero”, “‘b’ es un entero”.
2. entero a = 9;
boolean p = (a < 10);
Resolución
En “a” se guarda un valor entero, precisamente el 9. Luego en “p” se guarda el
resultado de la proposición algebraica “a < 10”. ¿Qué valor tendrá “p”? Como
sabemos que “a” es 9, el valor de verdad de “a < 10” es Verdadero.
Efectivamente 9 es menor que 10, por tanto como es cierto decir 9 < 10, en “p”
se guardará Verdadero. La tabla quedará así:
a p = (a < 10)
9 V
3. entero a = 6;
boolean p = (a > 21);
Resolución
En “a” se guarda un valor entero, precisamente el 6. Luego en “p” se guarda el
resultado de la proposición algebraica “a > 21”. ¿Qué valor tendrá “p”? Como
sabemos que “a” es 6, el valor de verdad de “a > 21” es Falso. No es cierto que
6 sea mayor que 21, por tanto como es Falso decir 6 > 21, en “p” se guardará
Falso. La tabla quedará así:
a p = (a > 21)
6 F
3
Lógica – Resoluciones de ejemplo
4. entero a = 3;
entero b = 4;
boolean p = (a == b);
Resolución
En “a” se guarda un valor entero, precisamente el 3. En “b” se guarda un valor
entero, precisamente el 4. Luego en “p” se guarda el resultado de la
comparación entre “a” y “b”. En criollo, si las dos cosas que comparás son
iguales, entonces la comparación da Verdadero como resultado. Más elegante,
da Verdadero cuando las dos variables que se comparan tienen el mismo valor
y Falso en el caso contrario. En este escenario, debemos preguntarnos si “a ==
b”, o sea, si “3 == 4”, o sea, “¿3 es igual a 4?”. Por supuesto que no, así que la
comparación dará como resultado Falso y por tanto “p” será Falso. Veamos la
tabla cómo queda:
a b p = (a == b)
3 4 F
5. boolean a = F;
boolean p = NOT (a);
Resolución
En “a” se guarda un valor Falso (F) y luego en “p” se guarda el valor negado que
tiene “a”, ya que se usa NOT (a). Es decir, como en este escenario “a” es Falso,
entonces en “p” se guardará Verdadero. Obviamente, si “a” hubiera sido
Verdadero, entonces “p” iba a ser Falso. La tabla quedará así:
a p = NOT (a)
F V
4
Lógica – Resoluciones de ejemplo
6. boolean a = F;
boolean b = V;
boolean p = (a AND b);
Resolución
En “a” se guarda un valor Falso (F), en “b” se guarda un valor Verdadero (V) y
luego en “p” se guarda el valor que resulta de la conjunción entre “a” y “b”, o
sea, “a AND b”. En español podría leerse como “a Y b”. Si mirás el principio de
este documento, vas a ver que en la conjunción entre dos proposiciones se
devuelve un valor Verdadero únicamente cuando ambas proposiciones son
Verdaderas. Como en este caso una proposición es Falsa y la otra Verdadera, la
conjunción “a AND b” será Falsa.
a b p = (a AND b)
F V F
7. boolean a = F;
boolean b = V;
boolean p = (a OR b);
Resolución
En “a” se guarda un valor Falso (F), en “b” se guarda un valor Verdadero (V) y
luego en “p” se guarda el valor que resulta de la disyunción entre “a” y “b”, o
sea, “a OR b”. En español podría leerse como “a O b”. Si mirás el principio de
este documento, vas a ver que en la disyunción entre dos proposiciones se
devuelve un valor Falso únicamente cuando ambas proposiciones son Falsas.
Como en este caso una proposición es Falsa y la otra Verdadera, la disyunción
“a OR b” será Verdadera.
a b p = (a OR b)
F V V
8. boolean a = F;
boolean b = V;
boolean c = V;
boolean p = (a AND b) OR (b AND c);
5
Lógica – Resoluciones de ejemplo
Resolución
Como éste es un poco más complejo, vamos a ir armando la tabla de a poco.
En “a” se guarda un valor Falso (F) y en “b” se guarda un valor Verdadero (V), al
igual que en “c”. Dedicamos una columna de la tabla para cada uno de esos tres
valores.
a b c
F V V
a b c a AND b
F V V F
a b c a AND b b AND c
F V V F V
6
Lógica – Resoluciones de ejemplo
Generalmente nos ponían algo como esto:
10 = (5 x 2) + 0 10 = (4 x 2) + 2 19 = (5 x 3) + 4
Cuando hablamos de hacer divisiones enteras, nos referimos a divisiones en las que
dejamos que el cociente y el resto sean números enteros. Entonces si calculamos la
división entera entre 19 y 5, diremos que el cociente es 3 y el resto es 4.
El uso del operador MOD nos permite obtener el resto de una división entera entre dos
valores numéricos enteros. Entonces (10 MOD 5) dará como resultado 0, (10 MOD 4)
nos dará 2 y (19 MOD 5) nos dará 4.
9. entero a = 9;
entero b = 3;
entero c = 1;
boolean p = ( (a MOD b) == c );
Resolución
En “a” se guarda un valor entero, precisamente el 9. En “b” se guarda 3 y en “c”
se guarda 1. Dedicamos una columna de la tabla para cada uno de esos tres
valores.
a b c
9 3 1
a b c a MOD b
9 3 1 0
7
Lógica – Resoluciones de ejemplo
Ahora tenemos que ver si el resultado de “a MOD b” es igual a “c” para saber el
valor de verdad de “p”. Ya sabemos que “a MOD b” es igual a 0 y que “c” es
igual a 1. Nos preguntamos: ¿0 == 1? O sea, ¿0 es igual a 1? La respuesta es
obvia: no, es Falso. Así que “p” es Falso. Agregamos la última columna con “p” y
listo.
a b c a MOD b p
9 3 1 0 F
10. entero a = 9;
entero b = 4;
entero c = 1;
boolean p = ( (a MOD b) == c );
Resolución
En “a” se guarda un valor entero, precisamente el 9. En “b” se guarda 4 y en “c”
se guarda 1. Dedicamos una columna de la tabla para cada uno de esos tres
valores.
a b c
9 4 1
a b c a MOD b
9 4 1 1
Ahora tenemos que ver si el resultado de “a MOD b” es igual a “c” para saber el
valor de verdad de “p”. Ya sabemos que “a MOD b” es igual a 1 y que “c” es
igual a 1. Nos preguntamos: ¿1 == 1? O sea, ¿1 es igual a 1? La respuesta es
obvia: sí, es Verdadero. Así que “p” es Verdadero. Agregamos la última
columna con “p” y listo.
a b c a MOD b p = ( (a MOD b) == c )
9 4 1 1 V
8
Lógica – Resoluciones de ejemplo
11. entero a = 12;
entero b = 5;
entero c = 2;
boolean p = ( ( (a – c) MOD b) == c ) ;
Resolución
En “a” se guarda un valor entero, precisamente el 12. En “b” se guarda 5 y en
“c” se guarda 2. Dedicamos una columna de la tabla para cada uno de esos tres
valores.
a b c
12 5 2
a b c a-c
12 5 2 10
a b c a-c (a - c ) MOD b
12 5 2 10 0
Ahora tenemos que ver si el resultado de “(a - c ) MOD b” es igual a “c” para
saber el valor de verdad de “p”. Ya sabemos que “(a - c ) MOD b” es igual a 0 y
que “c” es igual a 2. Nos preguntamos: ¿0 == 2? O sea, ¿0 es igual a 2? La
respuesta es obvia: no, es Falso. Así que “p” es Falso. Agregamos la última
columna con “p” y listo.
Javi y Pato.
22/12/2020
9
Lógica – Resoluciones de ejemplo