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