Operadores lógicos JavaScript. Relacionales. Igual, distinto, and, or, not. Prioridades. Ejemplos. (CU01117E)
Respuestas para la actividad CU01117E del tutorial sobre fundamentos de programación web.
Ejercicio 1
Dadas las variables de tipo entero con valores A = 5, B = 3, C = -12 indicar si la evaluación de estas expresiones daría como resultado verdadero o falso:
- A > 3
- A > C
- A < C
- B < C
- B != C
- A == 3
- A * B == 15
- A * B == -30
- C / B < A
- C / B == -10
- C / B == -4
- A + B + C == 5
- (A+B == 8 ) && (A-B == 2)
- (A+B == 8 ) || (A-B == 6)
- A > 3 && B > 3 && C < 3
- A > 3 && B >= 3 && C < -3
Respuestas esperadas. Ejercicio 1
- true
- true
- false
- false
- true
- false
- true
- false
- true
- false
- true
- false
- true
- true
- false
- true
Crea un script donde declares estas variables, les asignes valores y muestres por pantalla el valor de verdad que tienen cada una de las expresiones antes indicadas.
Código JavaScript(resultado)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Operadores lógicos</title>
<!--Codigo largo :v-->
<script type="text/javascript">
var A= 5, B= 3, C= -12;
var respuesta= {
a: A > 3,
b: A > C,
c: A < C,
d: B < C,
e: B != C,
f: A == 3,
g: A * B == 15,
h: A * B == -30,
i: C / B < A,
j: C / B == -10,
k: C / B == -4,
l: A + B + C == 5,
m: (A+B == 8 ) && (A-B == 2),
n: (A+B == 8 ) || (A-B == 6),
o: A > 3 && B > 3 && C < 3,
p: A > 3 && B >= 3 && C < -3
}
alert("a) A > 3 es "+respuesta.a+"\nb) A > C es "+respuesta.b+"\nc) A < C es "+respuesta.c+"\nd) B < C es "+respuesta.d+"\ne) B != C es "+respuesta.e+"\nf) A == 3 es "+respuesta.f)
alert("g) A * B == 15 es "+respuesta.g+"\nh) A * B == -30 es "+respuesta.h+"\ni) C / B < A es "+respuesta.i+"\nj) C / B == -10 es "+respuesta.j+"\nk) C / B == -4 es "+respuesta.k+"\nl) A + B + C == 5 es "+respuesta.l)
alert("m) (A+B == 8 ) && (A-B == 2) es "+respuesta.m+"\nn) (A+B == 8 ) || (A-B == 6) es "+respuesta.n+"\no) A > 3 && B > 3 && C < 3 es "+respuesta.o+"\np) A > 3 && B >= 3 && C < -3 es "+respuesta.p)
</script>
</head>
<body>
<div style="width: 650px; margin: auto;">
<h1 style="font: small-caps arial;">El body frente a head es una tonteria ahora -.-</h1>
<div>
</body>
</html>
La matemática y el álgebra es mi especialidad.
Ejercicio 2
Crea un script donde declares dos variables a y b y fuerces a que ambas contengan valor NaN. Ahora realiza las comparaciones a == b, a === b, a !== a ¿Qué resultados obtienes? ¿A qué crees que se debe este resultado?
Respuesta
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Operadores lógicos 2</title>
<script type="text/javascript">
var a= NaN;
var b= NaN;
alert("a == b es "+(a==b)+"\na === b es "+(a===b)+"\na !== b es "+(a!==b));
</script>
</head>
<body>
<h1>Este código es muy corto <b>^<sub>^</sub>^</b></h1>
</body>
</html>
En las dos primeras se obtiene false y en la tercera se obtiene true.
Mi conclusión: NaN(Not-a-Number) es un valor desconocido, puede ser cualquier cosa menos un número, puede ser "asdqwñ", "galleta" o "aq/as(#!xxx", por lo tanto, al ser un valor que puede ser cualquier cosa nunca va a llegar a ser igual a otro valor NaN. Esto se comprueba en el tercero(a !== b) cuando da por respuesta true, a no es igual a b.
Link de la clase: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=795:operadores-logicos-javascript-relacionales-igual-distinto-and-or-not-prioridades-ejemplos-cu01117e&catid=78:tutorial-basico-programador-web-javascript-desde-&Itemid=206 (https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=795:operadores-logicos-javascript-relacionales-igual-distinto-and-or-not-prioridades-ejemplos-cu01117e&catid=78:tutorial-basico-programador-web-javascript-desde-&Itemid=206)