Skip to content

Commit 0e5c149

Browse files
authored
Merge pull request mouredev#3328 from DavidMoralesDeveloper/main
#1 - javascript
2 parents d6d2ee3 + 7fbd318 commit 0e5c149

File tree

2 files changed

+293
-0
lines changed

2 files changed

+293
-0
lines changed
Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
/*
2+
* EJERCICIO:
3+
* 1- 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+
20+
//1 Operadores
21+
const a = 1
22+
const b = 2
23+
const c = 3
24+
//Aritméticos
25+
// suma+, resta-, multiplicasion*, division/, modulo(resto)%
26+
// exponenciación **, incremento ++, decremento --
27+
28+
const suma = a + b
29+
const resta = a - b
30+
const multiplicasion = a * b
31+
const division = a / b
32+
const modulo = a % b
33+
const exponecia = a ** b
34+
35+
// lógicos
36+
// || or si una es true , && si las dos son true !true diferente de
37+
38+
console.log(a || b)
39+
console.log(a && b)
40+
console.log(!true);
41+
42+
//asignación
43+
// = asignacion de un valor, +=sumar , -= para restar el operando derecho *= , /=, %=
44+
let x = 10;
45+
x += 5; // x = 15
46+
x -= 2; // x = 13
47+
x *= 3; // x = 39
48+
x /= 2; // x = 19.5
49+
x %= 4; // x = 3.5
50+
51+
52+
//De comparación:
53+
console.log(2 === 2); // Igualdad estricta: true
54+
console.log(2 == 2); // Igualdad no estricta: true
55+
console.log(2 > 1); // Mayor que: true
56+
console.log(2 >= 2); // Mayor o igual que: true
57+
console.log(1 < 2); // Menor que: true
58+
console.log(1 <= 2); // Menor o igual que: true
59+
60+
//Identidad:
61+
const d = 10;
62+
const e = 10;
63+
console.log(d === e); // true (mismo valor y tipo)
64+
const f = "10";
65+
console.log(d === f); // false (mismo valor, diferente tipo)
66+
67+
68+
//Pertenencia:
69+
const lista = ["a", "b", "c"];
70+
console.log("a" in lista); // true
71+
console.log("d" in lista); // false
72+
73+
//Bits
74+
console.log(1 | 2); // OR a nivel de bits: 3
75+
console.log(1 & 2); // AND a nivel de bits: 0
76+
console.log(1 ^ 2); // XOR a nivel de bits: 3
77+
console.log(~1); // NOT a nivel de bits: -2
78+
79+
80+
//Estructuras de Control
81+
//OPERADOR TERNARIO
82+
//expresión ? "si es true" : "si es false";
83+
let edad = 16;
84+
let acceso = edad > 17 ? "Permitir acceso" : "Denegar acceso";
85+
console.log(acceso);
86+
87+
//Condicional
88+
const g = 19
89+
if(g > 18 ) {
90+
console.log('Es mayor de edad')
91+
}else{console.log('es menor de edad') }
92+
93+
//Iterativas:
94+
// Bucle for
95+
for (let i = 0; i = 100; i++){
96+
console.log(i + 'bucle for')
97+
}
98+
// Bucle while
99+
100+
let i = 0;
101+
let j = 0;
102+
while (n < 3) {
103+
i++;
104+
j += i;
105+
}
106+
107+
// Bucle do-while
108+
// let j = 0; do{i+1; console.log(i)}; wile{i <5}
109+
let z = 3;
110+
111+
// do...while loop
112+
do {
113+
console.log(z);
114+
z--;
115+
} while (z > 0);
116+
117+
//for of for in
118+
const arr = [3, 5, 7];
119+
arr.foo = "hola";
120+
121+
for (let i in arr) {
122+
console.log(i); // logs "0", "1", "2", "foo"
123+
}
124+
125+
for (let i of arr) {
126+
console.log(i); // logs 3, 5, 7
127+
}
128+
129+
130+
// * DIFICULTAD EXTRA (opcional):
131+
// * Crea un programa que imprima por consola todos los números comprendidos
132+
// * entre 10 y 55 (incluidos), pares, y que no son ni el 16 ni múltiplos de 3.
133+
134+
for (let i = 10; i < 55; i++){
135+
if(i%2 === 0 && i !=16 && i % 3 != 0)
136+
console.log(i)
137+
}
138+
139+
// 10, 14, 20, 22, 26, 28, 32, 34, 38, 40, 44, 46, 50, 52
140+
//i%2 === 0 = 10 12 14 16 18 20
141+
//i !=16 = 12 14 18 20
142+
//modulo de tres es distinto a 0 4 / 3 = 0.12 (!=)
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
//1 - Crea ejemplos de funciones básicas que representen las diferentes posibilidades del lenguaje:
2+
3+
// funsion simple -------------------------------
4+
// Autoejecutable
5+
(function () {
6+
console.log("Autoejecutable");
7+
})();
8+
//declarativa
9+
function hello (){
10+
console.log('hello word , funcion declarativa')
11+
}
12+
13+
14+
// Expresión (anónimas)
15+
const sumFunction = function (a, b){
16+
return a+ b
17+
}
18+
19+
20+
21+
// Flecha (arrow)
22+
const arrowFunction = (a, b) => {
23+
return a * b
24+
}
25+
26+
27+
// con retorno ------------------------------------
28+
29+
function square(number) {
30+
return number * number;
31+
}
32+
// este return puedo grardarlo en una variable
33+
let area = square(4)
34+
35+
36+
// con argumento -----------------------------------
37+
function nombre (nombre) {
38+
console.log('mi nombre es ' + nombre)
39+
}
40+
41+
42+
43+
function idioma (idioma, nombre) {
44+
console.log(idioma + nombre)
45+
}
46+
47+
48+
49+
// argumento default
50+
51+
function defaultsuma (a =5, b = 2 ){
52+
return a*b
53+
}
54+
55+
56+
57+
//Callbacks
58+
var funB = function () {
59+
return console.log('Funcion B ejecutada');
60+
};
61+
var funA = function (callback) {
62+
callback();
63+
};
64+
65+
66+
//2 - Comprueba si puedes crear funciones dentro de funciones.
67+
//Sucesión de Fibonacci complegidad 2^n
68+
69+
function fibonacci (num) {
70+
if(num < 2) return num
71+
//funciona en 0 y 1 retorna num , cuando el numero es mayor , va retrocediendo hasta llegar al 1al llegar al 1 entra en el if y es por eso que se puede parar la recursividad
72+
73+
return fibonacci(num-2) + fibonacci(num-1)
74+
}
75+
76+
console.log(fibonacci(10))
77+
78+
//3- Pon a prueba el concepto de variable LOCAL y GLOBAL.
79+
// no esoty seguro si es lo que pide...
80+
// "String.split()String.substring()String.trim()Array.map()Array.push()Array.pop()String.slice()Array.slice()Object.toString()Number.toFixed()parseInt()Math.random()console.log()"
81+
82+
//4 - Pon a prueba el concepto de variable LOCAL y GLOBAL.
83+
84+
const varGlobal = 10
85+
function sumLocalGlobal (num){
86+
const local = num
87+
return local + varGlobal
88+
}
89+
90+
console.log(sumLocalGlobal(5))
91+
92+
// - Debes hacer print por consola del resultado de todos los ejemplos.
93+
hello()
94+
console.log('funcion expersión anónimas : '+ sumFunction( 5, 2))
95+
console.log('funcion de flecha : ' + arrowFunction( 8, 3))
96+
console.log(area)
97+
nombre('David')
98+
idioma('hi', 'david')
99+
idioma('hola', 'david')
100+
console.log(defaultsuma())
101+
console.log(defaultsuma(20 , 10))
102+
funA(funB);
103+
104+
105+
// DIFICULTAD EXTRA (opcional):
106+
// * Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
107+
// * - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
108+
// * - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
109+
// * - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
110+
// * - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
111+
// * - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
112+
113+
// primer intento no funciona
114+
// function extra (cadena1, cadena2){
115+
// let contador = 0
116+
// for(let i = 1; i <= 100; i++){
117+
// if (i % 3 != 0){
118+
// console.log(cadena1)
119+
// }
120+
// if (i % 5 != 0){
121+
// console.log(cadena2)
122+
// }
123+
// if(i%3 != 0 && i%5 !=0){
124+
// console.log(cadena1 + cadena2)
125+
// }else
126+
// contador ++
127+
// console.log(i)
128+
// }
129+
// return contador
130+
// }
131+
132+
// console.log(extra('dmultiplo3', 'dmultiplo de 5'))
133+
134+
//correcion
135+
function correccionExtra ( multiplo, multiplo2){
136+
let contador = 0
137+
for (let i = 1; i <= 100; i++){
138+
if (i % 3 === 0 && i % 5 === 0){
139+
console.log( ` es ${multiplo} y ${multiplo2}`)
140+
}else if(i % 5 === 0){
141+
console.log(multiplo2)
142+
}else if(i % 3 === 0){
143+
console.log(multiplo)
144+
}
145+
contador ++
146+
console.log(i)
147+
} return contador
148+
}
149+
150+
console.log(correccionExtra('multiplo de 3', 'multiplo de 5'))
151+
// correcion de coomit

0 commit comments

Comments
 (0)