Skip to content

Commit 8234c4d

Browse files
authored
Merge pull request mouredev#6906 from wapastorv/main
#2 - Javascript
2 parents e13946a + fd81aa5 commit 8234c4d

File tree

1 file changed

+191
-0
lines changed

1 file changed

+191
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
/*
2+
* EJERCICIO:
3+
* - Crea ejemplos de funciones básicas que representen las diferentes
4+
* posibilidades del lenguaje:
5+
* Sin parámetros ni retorno, con uno o varios parámetros, con retorno...
6+
* - Comprueba si puedes crear funciones dentro de funciones.
7+
* - Utiliza algún ejemplo de funciones ya creadas en el lenguaje.
8+
* - Pon a prueba el concepto de variable LOCAL y GLOBAL.
9+
* - Debes hacer print por consola del resultado de todos los ejemplos.
10+
* (y tener en cuenta que cada lenguaje puede poseer más o menos posibilidades)
11+
*
12+
* DIFICULTAD EXTRA (opcional):
13+
* Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
14+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
15+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
16+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
17+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
18+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
19+
*
20+
* Presta especial atención a la sintaxis que debes utilizar en cada uno de los casos.
21+
* Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
22+
*/
23+
24+
// Ejemplo de función sin parámetros ni retorno
25+
function saludar() {
26+
console.log('Hola!');
27+
}
28+
saludar(); // Imprime: Hola!
29+
30+
// Ejemplo de función con un parámetro y sin retorno
31+
function saludarPersona(nombre) {
32+
console.log ('Hola ' + nombre + '!');
33+
}
34+
saludarPersona('Carlos'); // Imprime: Hola Carlos!
35+
36+
// Ejemplo de función con varios parámetros y sin retorno
37+
function sumar(a, b) {
38+
console.log("La suma es: "+ (a + b));
39+
}
40+
sumar(2, 3); // Imprime: La suma es: 5
41+
42+
// Ejemplo de función con retorno y sin parámetros
43+
function obtenerMensaje() {
44+
return 'Este es un mensaje';
45+
}
46+
console.log(obtenerMensaje()); // Imprime: Este es un mensaje
47+
48+
// Ejemplo de función con varios parámetros y con retorno
49+
function multiplicar(a, b) {
50+
return a * b;
51+
}
52+
let multiplicarResultado = multiplicar(2, 3);
53+
console.log('El resultado de la multiplicación es: ' + multiplicarResultado); // Imprime: El resultado de la multiplicación es: 6
54+
55+
// Ejemplo de función dentro de función(anidada)
56+
function operacionCompleja(a, b) {
57+
function sumar(x, y) {
58+
return x + y;
59+
}
60+
function multiplicar(x, y) {
61+
return x * y;
62+
}
63+
64+
let suma = sumar(a, b);
65+
let multiplicacion = multiplicar(a, b);
66+
67+
console.log('La suma es: ' + suma);
68+
console.log('La multiplicación es: ' + multiplicacion);
69+
}
70+
operacionCompleja(2, 3); // Imprime: La suma es: 5, La multiplicación es: 6
71+
72+
// Ejemplo de función ya creada en el lenguaje
73+
let texto = 'Hola, soy un texto de ejemplo para mostrar la longitud';
74+
console.log(texto.length); // Imprime: 54
75+
let numeros = [1, 2, 3, 4, 5];
76+
let numerosInvertidos = numeros.reverse();
77+
console.log(numerosInvertidos); // Imprime: [5, 4, 3, 2, 1]
78+
let numerosOrdenados = numeros.sort();
79+
console.log(numerosOrdenados); // Imprime: [1, 2, 3, 4, 5]
80+
let numerosDobles = numeros.map(numero => numero * 2);
81+
console.log(numerosDobles); // Imprime: [2, 4, 6, 8, 10]
82+
83+
// Ejemplo de variable LOCAL y GLOBAL
84+
85+
// Variable GLOBAL
86+
let variableGlobal = 'Soy una variable global';
87+
function mostrarVariableGlobal() {
88+
console.log(variableGlobal);
89+
}
90+
mostrarVariableGlobal(); // Imprime: Soy una variable global
91+
92+
// Variable LOCAL
93+
function mostrarVariableLocal() {
94+
let variableLocal = 'Soy una variable local';
95+
console.log(variableLocal);
96+
}
97+
mostrarVariableLocal(); // Imprime: Soy una variable local
98+
99+
// Variable Global y Local en el mismo ámbito
100+
let mensajeGlobal = 'Soy una variable global';
101+
102+
function mostrarMensaje() {
103+
let mensajeLocal = 'Soy una variable local';
104+
console.log(mensajeGlobal);// Puede acceder a la variable global
105+
console.log(mensajeLocal); // Puede acceder a la variable local
106+
}
107+
mostrarMensaje(); // Imprime: Soy una variable global, Soy una variable local
108+
//console.log(mensajeLocal); // Genera un error porque la variable es local y no se puede acceder desde fuera de la función
109+
110+
// Ejemplos de sombra de variables (shadowing)
111+
let mensaje = 'Soy una variable global';
112+
113+
function mostrarMensaje() {
114+
let mensaje = 'Soy una variable local';
115+
console.log(mensaje); // Imprime: Soy una variable local, porque se está accediendo a la variable local "shadowing"
116+
}
117+
mostrarMensaje();
118+
console.log(mensaje); // Imprime: Soy una variable global, porque se está accediendo a la variable global
119+
120+
// Función que modifica una variable global
121+
let contador = 0;
122+
123+
function incrementarContador() {
124+
contador++;
125+
}
126+
incrementarContador();// Incrementa el contador en 1
127+
incrementarContador();// Incrementa el contador en 2
128+
incrementarContador();// Incrementa el contador en 3
129+
console.log("El valor del contador(global): "+contador); // Imprime: 3
130+
131+
// Función que modifica una variable local
132+
function incrementarContadorLocal() {
133+
let contadorLocal = 0;
134+
contadorLocal++;
135+
return contadorLocal;
136+
}
137+
let contadorLocal = incrementarContadorLocal(); // Incrementa el contador en 1
138+
console.log("El valor del contador(local): "+contadorLocal); // Imprime: 1
139+
140+
// Función que modifica una variable global y local
141+
let contadorGlobal = 0;
142+
function incrementarContadores() {
143+
contadorGlobal++;
144+
let contadorLocal = 0;
145+
contadorLocal++;
146+
return contadorLocal;
147+
}
148+
incrementarContadores(); // Incrementa el contador global en 1 y el contador local en 1
149+
incrementarContadores(); // Incrementa el contador global en 2 y el contador local en 1
150+
incrementarContadores(); // Incrementa el contador global en 3 y el contador local en 1
151+
console.log("El valor del contador(global): "+contadorGlobal); // Imprime: 3
152+
console.log("El valor del contador(local): "+incrementarContadores()); // Imprime: 1
153+
154+
// Función que utiliza let y const para ver el enlace de bloque
155+
function mostrarVariables(){
156+
if (true) {
157+
var variableVar = 'Soy una variable var'; // Al ser var, se puede acceder desde fuera del bloque
158+
let variableLet = 'Soy una variable let'; // Al ser let, solo se puede acceder dentro del bloque
159+
const variableConst = 'Soy una variable const'; // Al ser const, solo se puede acceder dentro del bloque
160+
console.log(variableVar); // Imprime: Soy una variable var
161+
console.log(variableLet); // Imprime: Soy una variable let
162+
console.log(variableConst); // Imprime: Soy una variable const
163+
}
164+
console.log(variableVar); // Funciona porque es una variable var y se pue// Imprime: Soy una variable var, Soy una variable let, Soy una variable const, Soy una variable varde acceder desde fuera del bloque
165+
//console.log(variableLet); // Genera un error porque es una variable let y no se puede acceder desde fuera del bloque
166+
//console.log(variableConst); // Genera un error porque es una variable const y no se puede acceder desde fuera del bloque
167+
}
168+
mostrarVariables();
169+
170+
171+
// Ejericio extra de función que recibe dos parámetros de tipo cadena de texto y retorna un número
172+
173+
function mostrarNumeros(cadena1, cadena2) {
174+
let contadorNumeros = 0;
175+
for (let i = 1; i <= 100; i++) {
176+
if (i % 3 === 0 && i % 5 === 0) {
177+
console.log(cadena1 + cadena2);
178+
} else if (i % 3 === 0) {
179+
console.log(cadena1);
180+
} else if (i % 5 === 0) {
181+
console.log(cadena2);
182+
} else {
183+
console.log(i);
184+
contadorNumeros++;
185+
}
186+
}
187+
return contadorNumeros;
188+
}
189+
let contadorNumeros = mostrarNumeros('Múltiplo de 3', 'Múltiplo de 5');
190+
console.log('El número de veces que se ha impreso un número es: ' + contadorNumeros);
191+

0 commit comments

Comments
 (0)