Skip to content

Commit 17dfab3

Browse files
committed
#1 - javascript
1 parent 767de92 commit 17dfab3

File tree

1 file changed

+142
-0
lines changed
  • Roadmap/01 - OPERADORES Y ESTRUCTURAS DE CONTROL/javascript

1 file changed

+142
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
/*
2+
* EJERCICIO:
3+
* - Crea ejemplos utilizando todos los tipos de operadores de tu lenguaje:
4+
* Aritméticos, lógicos, de comparación, asignación, identidad, pertenencia, bits...
5+
* (Ten en cuenta que cada lenguaje puede poseer unos diferentes)
6+
* - Utilizando las operaciones con operadores que tú quieras, crea ejemplos
7+
* que representen todos los tipos de estructuras de control que existan
8+
* en tu lenguaje:
9+
* Condicionales, iterativas, excepciones...
10+
* - Debes hacer print por consola del resultado de todos los ejemplos.
11+
*
12+
* DIFICULTAD EXTRA (opcional):
13+
* Crea un programa que imprima por consola todos los números comprendidos
14+
* entre 10 y 55 (incluidos), pares, y que no son ni el 16 ni múltiplos de 3.
15+
*
16+
* Seguro que al revisar detenidamente las posibilidades has descubierto algo nuevo.
17+
*/
18+
19+
// 🔥 Aritméticos
20+
let suma = 10 + 5;
21+
let resta = 10 - 5;
22+
let multiplicacion = 10 * 5;
23+
let division = 10 / 5;
24+
let modulo = 10 % 5;
25+
26+
// 🔥 Lógicos
27+
let and = true && false; // false
28+
let or = true || false; // true
29+
let not = !true; // false
30+
31+
// 🔥 De comparación
32+
let igual = 10 == 5; // false
33+
let diferente = 10 != 5; // true
34+
let mayorQue = 10 > 5; // true
35+
let menorQue = 10 < 5; // false
36+
let mayorOIgualQue = 10 >= 5; // true
37+
let menorOIgualQue = 10 <= 5; // false
38+
39+
// 🔥 Asignación
40+
let asignacion = 10;
41+
asignacion += 5; // 10 + 5 = 15
42+
asignacion -= 5; // 10 - 5 = 5
43+
asignacion *= 5; // 10 * 5 = 50
44+
asignacion /= 5; // 10 / 5 = 2
45+
asignacion %= 5; // 10 % 5 = 0
46+
47+
// 🔥 Identidad
48+
let igualEstricto = 10 === 10; // true
49+
let diferenteEstricto = 10 !== 10; // false
50+
51+
// 🔥 Pertenencia
52+
let array = [1, 2, 3];
53+
let pertenece = 2 in array; // true
54+
55+
// 🔥 Bits
56+
let andBits = 10 & 5; // 0
57+
// 1010 (10) AND
58+
// 0101 (5)
59+
// ----
60+
// 0000 (0) , Si ambos bits son 1, es = 1, sino es 0.
61+
62+
let orBits = 10 | 5; // 15
63+
// 1010 (10) OR
64+
// 0101 (5)
65+
// ----
66+
// 1111 (15) , Si al menos uno de los bits es 1, es = 1, sino es 0.
67+
68+
let xorBits = 10 ^ 5;
69+
// 1010 (10) XOR
70+
// 0101 (5)
71+
// ----
72+
// 1111 (15) , Si los bits son diferentes, es = 1, si son iguales es 0.
73+
74+
let notBits = ~10;
75+
// 0000 1010 NOT(10)
76+
// ---------
77+
// 1111 0101 (-11), 0 se convierte en 1 y 1 se convierte en 0.
78+
79+
let desplazamientoIzquierda = 10 << 2; // 40
80+
// 0000 1010 (10) << 2
81+
// ---------
82+
// 0010 1000 (40) , Desplaza los bits del número hacia la izquierda, y deja un 0
83+
84+
let desplazamientoDerecha = 10 >> 2; // 2
85+
// 0000 1010 (10) >> 2
86+
// ---------
87+
// 0000 0010 (2) , Desplaza los bits del número hacia la derecha, los de la derecha se descartan.
88+
desplazamientoDerecha = -10 >> 2; // -3
89+
// 1111 0110 (-10) >> 2
90+
// ---------
91+
// 1111 1101 (-3) , Al desplazar a la derecha, este bit de signo se copia en las nuevas posiciones a la izquierda.
92+
let desplazamientoDerechaSinSigno = 10 >>> 2; // 2
93+
// 0000 1010 (10) >>> 2
94+
// ---------
95+
// 0000 0010 (2) ,
96+
97+
// Similar al desplazamiento a la derecha,
98+
// pero en lugar de copiar el bit de signo,
99+
// se añaden ceros por la izquierda.
100+
101+
desplazamientoDerechaSinSigno = -10 >>> 2; // 61
102+
// 11110110 (-10) >>> 2
103+
// ---------
104+
// 00111101 (61)
105+
//
106+
// En el desplazamiento a la derecha sin signo,
107+
// Se añaden ceros a la izquierda en lugar de copiar el bit de signo.
108+
109+
110+
// 🔥 Condicionales
111+
if (10 > 5) {
112+
console.log("10 es mayor que 5");
113+
} else {
114+
console.log("10 no es mayor que 5");
115+
}
116+
117+
// 🔥 Iterativas
118+
for (let i = 0; i < 10; i++) {
119+
console.log(i);
120+
}
121+
122+
let i = 0;
123+
while (i < 10) {
124+
console.log(i);
125+
i++;
126+
}
127+
128+
// 🔥 Excepciones
129+
try {
130+
let resultado = 10 / 0;
131+
} catch (error) {
132+
console.log("Se capturo error: división por cero");
133+
}
134+
135+
136+
// 🔥 Extra
137+
for (let i = 10; i <= 55; i++) {
138+
// (pares) Y (ni 16) Y (ni multi de 3) O (el extremo 55)
139+
if ( (i%2==0) && (i!=16) && ( i % 3 !== 0 ) || (i == 55) ){
140+
console.log(i)
141+
}
142+
}

0 commit comments

Comments
 (0)