|
| 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 | +// +++++++++ OPERADORES DE ASIGNACIÓN +++++++++ |
| 20 | +x = y; // Asignación. |
| 21 | +x += y; // Asignación de adición: x = x + y |
| 22 | +x -= y; // Asinación de resta: x = x - y |
| 23 | +x *= y; // Asignación de multiplicación: x = x * y |
| 24 | +x /= y; // Asignación de multiplicación: x = x / y |
| 25 | +x %= y; // Asignación de residuo: x = x % y |
| 26 | +x **= y; // Asignación de exponenciación: x = x ** y |
| 27 | +x <<= y; // Asignación de desplazamiento a la izquierda: x = x << y |
| 28 | +x >>= y; // Asignación de desplazamiento a la derecha: x = x >> y |
| 29 | +x >>>= y; // Asignación de desplazamiento a la derecha sin signo: x = x >>> y |
| 30 | +x &= y; // Asignación AND bit a bit: x = x & y |
| 31 | +x ^= y; // Asignación XOR bit a bit |
| 32 | +x |= y; // Asignación OR bit a bit: x = x | y |
| 33 | +x && y; // Asignación AND lógico: x && (x = y) |
| 34 | +x ||= y; // Asignación OR lógico: x || (x = y) |
| 35 | +x ??= y; // Asignación de anulación lógica: x ?? (x = y) |
| 36 | + |
| 37 | +// +++++++++ OPERADORES DE COMPARACIÓN +++++++++ |
| 38 | +x == y; // Igual |
| 39 | +x != y; // No es igual |
| 40 | +x === y; // Estrictamente igual |
| 41 | +x !== y; // Desigualdad estricta |
| 42 | +x > y; // Mayor que |
| 43 | +x >= y; // Mayor o igual que |
| 44 | +x < y; // Menor que |
| 45 | +x <= y; // Menor o igual que |
| 46 | + |
| 47 | +// +++++++++ OPERADORES ARITMÉTICOS +++++++++ |
| 48 | +x + y; // Suma |
| 49 | +x - y; // Resta |
| 50 | +x * y; // Multiplicación |
| 51 | +x / y; // División |
| 52 | +x % y; // Residuo |
| 53 | +x++; // Incremento |
| 54 | +x--; // Decremento |
| 55 | +-x; // Negación unario |
| 56 | ++"3"; // Positivo unario |
| 57 | +x ** y; // Operador de exponenciación |
| 58 | + |
| 59 | +// +++++++++ OPERADORES BIT A BIT +++++++++ |
| 60 | +a & b; // AND a nivel de bits |
| 61 | +a | b; // OR a nivel de bits |
| 62 | +a ^ b; // XOR a nivel de bits |
| 63 | +~ a; // NOT a nivel de bits |
| 64 | +a << b; // Desplazamiento a la izquierda |
| 65 | +a >> b; // Desplazamiento a la derecha de propagación de signo |
| 66 | +a >>> b; // Desplazamiento a la derecha de relleno de cero |
| 67 | + |
| 68 | +// +++++++++ OPERADORES LÓGICOS +++++++++ |
| 69 | +true && x == x; // AND lógico |
| 70 | +true || x == y; // OR lógico |
| 71 | +!true; // NOT lógico |
| 72 | + |
| 73 | +// +++++++++ OPERADORES DE CADENA +++++++++ |
| 74 | +var myString = "Ra"; |
| 75 | +myString + "úl"; // Concatenación |
| 76 | +myString += "úl"; // Concatenación por asignación abreviada |
| 77 | + |
| 78 | +// +++++++++ OPERADOR CONDICIONAL (TERNARIO) +++++++++ |
| 79 | +var status = age >= 18 ? "Adult" : "Minor"; |
| 80 | + |
| 81 | +// +++++++++ OPERADOR COMA +++++++++ |
| 82 | +var x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; |
| 83 | +var a = [x, x, x, x, x]; |
| 84 | + |
| 85 | +for (var i = 0, j = 9; i <= j; i++, j--) { |
| 86 | + console.log("a[" + i + "][" + j + "]= " + a[i][j]); |
| 87 | +} |
| 88 | + |
| 89 | +// +++++++++ OPERADORES UNARIOS +++++++++ |
| 90 | +z = 33; |
| 91 | +delete z; // Devuelve true si z se crea implícitamente |
| 92 | +typeof myString; // Devuelve "string" |
| 93 | +void (2 === "2"); // Devuelve undefined |
| 94 | + |
| 95 | +// +++++++++ OPERADORES RELACIONALES +++++++++ |
| 96 | +"PI" in Math; // Operador in |
| 97 | +var theDay = new Date(1995, 12, 17); |
| 98 | +if (theDay instanceof Date) { // Operador intanceof |
| 99 | + console.log("Si theDay es un objeto Date, las instrucciones de la expresión if se ejecutan."); |
| 100 | +} |
| 101 | + |
| 102 | +// +++++++++ ESTRUCTURAS DE CONTROL +++++++++ |
| 103 | + |
| 104 | +// if / else if / else |
| 105 | +var firstName = "Samus"; |
| 106 | + |
| 107 | +if (firstName == "Samus") { |
| 108 | + console.log("Su nombre es Samus Aran."); |
| 109 | +} else if (firstName == "Adam") { |
| 110 | + console.log("Su nombre es Adam Malkovich.") |
| 111 | +} else { |
| 112 | + console.log("No hay registro del nombre."); |
| 113 | +} |
| 114 | + |
| 115 | +// switch |
| 116 | +switch (2 + 2 === 4) { |
| 117 | + case true: |
| 118 | + console.log("La suma es correcta."); |
| 119 | + break; |
| 120 | + |
| 121 | + case false: |
| 122 | + console.log("La suma es incorrecta."); |
| 123 | + |
| 124 | + default: |
| 125 | + console.log("Error en la operación."); |
| 126 | + break; |
| 127 | +} |
| 128 | + |
| 129 | +// while |
| 130 | +var iterationCount = 0; |
| 131 | + |
| 132 | +while(iterationCount < 5) { |
| 133 | + iterationCount++; |
| 134 | + console.log("Número " + iterationCount); |
| 135 | +} |
| 136 | + |
| 137 | +// do...while |
| 138 | +var iterationCount = 0; |
| 139 | + |
| 140 | +do { |
| 141 | + iterationCount++; |
| 142 | + console.log("Número " + iterationCount); |
| 143 | +} while (iterationCount < 10); |
| 144 | + |
| 145 | +// for |
| 146 | +for (let index = 0; index < 7; index++) { |
| 147 | + console.log("Número " + index); |
| 148 | +} |
| 149 | + |
| 150 | + |
| 151 | +// DIFICULTAD EXTRA |
| 152 | +for(index = 10; index <= 55; index++) { |
| 153 | + if (index !== 55) { |
| 154 | + if (index === 16 || index % 3 === 0 || index % 2 !== 0) { |
| 155 | + continue; |
| 156 | + } |
| 157 | + } |
| 158 | + |
| 159 | + console.log("Número " + index); |
| 160 | +} |
0 commit comments