|
| 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 | +//------------------------------- aritmeticos -------------------------------------- |
| 20 | +/////////////////////////////////////////////////////////// |
| 21 | +//suma |
| 22 | +console.log("la suma de 15 + 10 es :"+(15 + 10)); |
| 23 | + |
| 24 | +//resta |
| 25 | +console.log("la resta de 15 - 10 es :"+(15 - 10)); |
| 26 | + |
| 27 | +//multiplicacion |
| 28 | +console.log("la multiplicacion de 15 * 10 es :"+(15 * 10)); |
| 29 | + |
| 30 | +//division |
| 31 | +console.log("la division de 15 / 10 es :"+(15 / 10)); |
| 32 | + |
| 33 | +//modulo o residuo de la division |
| 34 | +console.log("el modulo de 15 % 10 es :"+(15 % 10)); |
| 35 | + |
| 36 | +//Exponenciacion |
| 37 | +console.log("la Exponenciacion de 15 ** 10 es :"+(2 ** 4)); |
| 38 | + |
| 39 | +//incremento |
| 40 | + |
| 41 | +for (let i = 0 ; i < 4 ; i++ ){ |
| 42 | + console.log(i) |
| 43 | +}; |
| 44 | + |
| 45 | +//decremento |
| 46 | + |
| 47 | +for (let i = 5 ; i > 0 ; i-- ){ |
| 48 | + console.log(i) |
| 49 | +}; |
| 50 | + |
| 51 | +//------------------------------operadores de compracion--------------------------------- |
| 52 | + |
| 53 | +//igual |
| 54 | + |
| 55 | +let igual = 10 |
| 56 | + |
| 57 | +if (igual == 10){ |
| 58 | +console.log("el numero dado es igual a :" + igual) |
| 59 | +}; |
| 60 | + |
| 61 | +//estrictamente igual |
| 62 | + |
| 63 | +let estrictamenteIgual = 10 |
| 64 | + |
| 65 | +if (estrictamenteIgual === 10){ |
| 66 | +console.log("el numero dado es igual a :" + estrictamenteIgual) |
| 67 | +}; |
| 68 | + |
| 69 | +//No es igual |
| 70 | + |
| 71 | +let noEsIgual = 5; |
| 72 | + |
| 73 | +if (noEsIgual != 10){ |
| 74 | +console.log("el numero dado no es igual " ); |
| 75 | +}; |
| 76 | + |
| 77 | +//estrictamenteNoEsIgual |
| 78 | + |
| 79 | +let estrictamenteNoEsIgual = 5; |
| 80 | + |
| 81 | +if (estrictamenteNoEsIgual !== 10){ |
| 82 | +console.log("el numero dado no es igual " ); |
| 83 | +}; |
| 84 | + |
| 85 | +//mayor que |
| 86 | + |
| 87 | +let a = 20; |
| 88 | +let b = 70; |
| 89 | + |
| 90 | +console.log(a > b); |
| 91 | + |
| 92 | +//menor que |
| 93 | + |
| 94 | +console.log(a < b); |
| 95 | + |
| 96 | +//mayor o igual |
| 97 | +console.log(a >= b); |
| 98 | + |
| 99 | +//menor o igual |
| 100 | +console.log(a <= b); |
| 101 | + |
| 102 | +//--------------------------operadores logicos----------------------------------------- |
| 103 | + |
| 104 | +//and |
| 105 | + |
| 106 | +let numero = 20; |
| 107 | +let numero1 = 30; |
| 108 | +let numero2 = 30; |
| 109 | + |
| 110 | + |
| 111 | +console.log((numero > numero1) && (numero < numero2));//false |
| 112 | + |
| 113 | +//(OR) |
| 114 | + |
| 115 | +console.log((numero > numero1) || (numero < numero2));//true |
| 116 | + |
| 117 | +//negacion logica ! |
| 118 | + |
| 119 | +let esHombre = true; |
| 120 | + |
| 121 | +if (!esHombre){ |
| 122 | + console.log("el ususario es hombre"); |
| 123 | +}else{ |
| 124 | + console.log("el usuario es mujer");//imprimira el usuario es mujer ya que la negacion cambia un valor booleano a un valor contrario |
| 125 | +}; |
| 126 | + |
| 127 | +//-----------------------operadores de asignacion--------------------------------- |
| 128 | + |
| 129 | +//asignacion simple |
| 130 | + |
| 131 | +let asignacionSimple = 20; |
| 132 | + |
| 133 | +//asignacion adicion |
| 134 | + |
| 135 | +asignacionSimple += 5; |
| 136 | + |
| 137 | +console.log(asignacionSimple)//asignacionSimple es 25 (20 + 5) |
| 138 | + |
| 139 | +//de sustraccion |
| 140 | + |
| 141 | +let sustracion = 10; |
| 142 | + |
| 143 | +sustracion -= 4; |
| 144 | + |
| 145 | +console.log(sustracion)//asignacionSimple es 25 (20 + 5) |
| 146 | + |
| 147 | +//multiplicacion |
| 148 | + |
| 149 | +let multiplicacion = 10; |
| 150 | + |
| 151 | +multiplicacion *= 4; |
| 152 | + |
| 153 | +console.log(multiplicacion)//asignacionSimple es 25 (20 + 5) |
| 154 | + |
| 155 | + |
| 156 | +//asignacion de division |
| 157 | + |
| 158 | +let division = 10; |
| 159 | + |
| 160 | +division /= 4; |
| 161 | + |
| 162 | +console.log(division)//asignacionSimple es 25 (20 + 5) |
| 163 | + |
| 164 | +//asignacion de modulo |
| 165 | + |
| 166 | +let modulo = 10; |
| 167 | + |
| 168 | +modulo %= 4; |
| 169 | + |
| 170 | +console.log(modulo)//asignacionSimple es 25 (20 + 5) |
| 171 | + |
| 172 | +//asignacion de exponenciacion |
| 173 | + |
| 174 | +let exponenciacion = 10; |
| 175 | + |
| 176 | +exponenciacion **= 4; |
| 177 | + |
| 178 | +console.log(exponenciacion)//asignacionSimple es 25 (20 + 5) |
| 179 | + |
| 180 | + |
| 181 | +//asignacion de desplazamiento a la izquierda |
| 182 | + |
| 183 | +let x = 5; |
| 184 | + |
| 185 | +x <<= 1; |
| 186 | + |
| 187 | +console.log(x) |
| 188 | + |
| 189 | +//asignacion de desplazamiento a la derecha |
| 190 | + |
| 191 | +let y = 5; |
| 192 | + |
| 193 | +y >>= 1; |
| 194 | + |
| 195 | +console.log(y); |
| 196 | + |
| 197 | +//asignacion de desplazamiento a la derecha con relleno cero |
| 198 | + |
| 199 | + |
| 200 | +let y1 = 5; |
| 201 | + |
| 202 | +y1 >>>= 1; |
| 203 | + |
| 204 | +console.log(y1); |
| 205 | + |
| 206 | +//asignacion and a nivel de bits |
| 207 | + |
| 208 | + |
| 209 | +let y2 = 5; |
| 210 | + |
| 211 | +y2 &= 1; |
| 212 | + |
| 213 | +console.log(y2); |
| 214 | + |
| 215 | +//asignacion OR a nivel de bits |
| 216 | + |
| 217 | + |
| 218 | +let y3 = 5; |
| 219 | + |
| 220 | +y3 |= 6; |
| 221 | + |
| 222 | +console.log(y3); |
| 223 | + |
| 224 | +//asignacion XOR a nivel de bits |
| 225 | + |
| 226 | + |
| 227 | +let y4 = 5; |
| 228 | + |
| 229 | +y4 ^= 6; |
| 230 | + |
| 231 | +console.log(y4); |
| 232 | + |
| 233 | +//---------------------operadores de identidad----------------------------- |
| 234 | + |
| 235 | + |
| 236 | +//igualdad estricta |
| 237 | + |
| 238 | +let igual1 = 15; |
| 239 | +let igual2 = 13; |
| 240 | + |
| 241 | +if (igual1 === igual2){ |
| 242 | + console.log("son iguales"); |
| 243 | +}else{ |
| 244 | + console.log("no es igual");//no son iguales |
| 245 | +}; |
| 246 | + |
| 247 | +//desigualdad estricta |
| 248 | + |
| 249 | +let desigualdad = 15; |
| 250 | +let desigualdad1 = 13; |
| 251 | + |
| 252 | +if (igual1 !== igual2){ |
| 253 | + console.log("son iguales");//son iguales |
| 254 | +}else{ |
| 255 | + console.log("no es igual"); |
| 256 | +}; |
| 257 | + |
| 258 | +//-----------------------------operadores de pertenencia----------------------------- |
| 259 | + |
| 260 | +//in |
| 261 | +// se usa para verificar una propiedad en un array u objeto |
| 262 | + |
| 263 | +const persona = { |
| 264 | +nombre: "juan carlos", |
| 265 | +edad:56 |
| 266 | +}; |
| 267 | + |
| 268 | +if (`nombre` in persona){ |
| 269 | + console.log("la propiedad nombre si existe") |
| 270 | +}else{ |
| 271 | + console.log("la propiedad nombre no existe") |
| 272 | +}; |
| 273 | + |
| 274 | +//intanceof |
| 275 | + |
| 276 | +//se usa para verificar si un objeto es una instancia de una clase o contructor especifico |
| 277 | + |
| 278 | +let fecha = new Date(); |
| 279 | +let esFecha = fecha instanceof Date; |
| 280 | + |
| 281 | +console.log(esFecha); |
| 282 | + |
| 283 | +//------------------------------operadores de bits--------------------------------------------------------------- |
| 284 | + |
| 285 | + |
| 286 | +let a2 = 5; // 0101 en binario |
| 287 | +let b2 = 3; // 0011 en binario |
| 288 | + |
| 289 | +let andBits = a2 & b2; // AND de bits (0001 -> 1) |
| 290 | +let orBits = a2 | b2; // OR de bits (0111 -> 7) |
| 291 | +let xorBits = a2 ^ b2; // XOR de bits (0110 -> 6) |
| 292 | +let notBits = ~a2; // NOT de bits (complemento de 2, 1010 -> -6) |
| 293 | +let desplazaIzquierda = a2 << 1; // Desplazamiento a2 la izquierda (1010 -> 10) |
| 294 | +let desplazaDerecha = a2 >> 1; // Desplazamiento a la derecha (0010 -> 2) |
| 295 | + |
| 296 | + |
| 297 | + |
| 298 | +//---------- --------------------------dificultad-------------------------------------------------- |
| 299 | + |
| 300 | +/* DIFICULTAD EXTRA (opcional): |
| 301 | + * Crea un programa que imprima por consola todos los números comprendidos |
| 302 | + * entre 10 y 55 (incluidos), pares, y que no son ni el 16 ni múltiplos de 3. |
| 303 | + * |
| 304 | + * Seguro que al revisar detenidamente las posibilidades has descubierto algo nuevo. |
| 305 | + */ |
| 306 | + |
| 307 | + |
| 308 | +for (let i = 10; i < 56 ; i++){//usamos un ciclo for creamos la variable indice igualando a 10, si i e menor a 56 , i aumentara hasta 55 |
| 309 | + if(i === 16){//si i es igual a 16 |
| 310 | + continue;//se salta ese numero |
| 311 | + }if(i % 3 === 0){//si i es multiplo de 3 |
| 312 | + continue;//se salta el numero |
| 313 | + } |
| 314 | + console.log(i) |
| 315 | +}; |
| 316 | + |
| 317 | +//gracias por su atencion |
0 commit comments