1- /* Función saludar */
2-
3- function saludar ( name ) {
4- console . log ( `¡Hola ${ name } !` ) ;
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+ // Funciones
25+
26+ // Función sin parámetros
27+ console . log ( "Función sin parámetros:" ) ;
28+
29+ function holaMundo ( ) {
30+ return "Hola Mundo!" ;
531}
632
7- saludar ( "Marcos" ) // Imprime en consola: "Hola Marcos "
8-
33+ let hello = holaMundo ( ) ; // Devuelve "Hola Mundo! "
34+ console . log ( hello ) ;
935
36+ // Función con un parámetro
37+ console . log ( "Función con un parámetro:" ) ;
1038
11- /* Función suma */
12-
13- function sumar ( a , b ) {
14- let resultado = a + b ;
15- console . log ( resultado ) ;
39+ function saludar ( name ) {
40+ return "Hola " + name + "!" ;
1641}
1742
18- sumar ( 4 , 5 ) // Imprime en consola: 9
19- sumar ( 35 , 77 ) // Imprime en consola: 112
20- sumar ( 1 , 45 ) // Imprime en consola: 46
21- sumar ( 123 , 100 ) // Imprime en consola: 223
22- sumar ( 4 , 7 ) // Imprime en consola: 11
23- sumar ( - 8 , - 9 ) // Imprime en consola: -17
43+ let saludo = saludar ( "Marcos" ) ; // Devuelve "Hola Marcos!"
44+ console . log ( saludo ) ;
45+ let saludo2 = saludar ( ) ; // Devuelve "Hola undefined!"
46+ console . log ( saludo2 ) ;
2447
48+ // Función con dos parámetros
49+ console . log ( "Función con dos parámetros:" ) ;
2550
26-
27- /* Función para determinar si un número es primo */
28-
29- function esPrimo ( num ) {
30- if ( num % 2 === 0 ) {
31- console . log ( `El número ${ num } es primo` ) ;
32- } else console . log ( `El número ${ num } no es primo` ) ;
51+ function suma ( a , b ) {
52+ return a + b ;
3353}
3454
35- esPrimo ( 45 ) // Imprime en consola: "El número 45 no es primo"
36- esPrimo ( 222 ) // Imprime en consola: "El número 222 es primo"
37- esPrimo ( 1658 ) // Imprime en consola: "El número 1658 es primo"
38- esPrimo ( 11 ) // Imprime en consola: "El número 11 no es primo"
39- esPrimo ( 732 ) // Imprime en consola: "El número 732 es primo"
40- esPrimo ( 12 ) // Imprime en consola: "El número 12 es primo"
41-
55+ let resultado = suma ( 5 , 9 ) ; // Devuelve 14
56+ console . log ( resultado ) ;
4257
58+ // Función con parámetros por defecto
59+ console . log ( "Parámetros por defecto:" ) ;
4360
44- /* Función para convertir la cadena de texto en mayúscula */
45-
46- function cadenaDeTexto ( string ) {
47- console . log ( string . toUpperCase ( ) ) ;
61+ function nuevoSaludo ( tipo , nombre ) {
62+ var tipo = tipo || "Hola" ;
63+ var nombre = nombre || "JavaScript" ;
64+ return tipo + " " + nombre + "!" ;
4865}
4966
50- cadenaDeTexto ( "¿Hola que tal?" ) // Imprime en consola: ¿HOLA QUE TAL?
51- cadenaDeTexto ( "otorrinolaringología" ) // Imprime en consola: OTORRINOLARINGOLOGÍA
52- cadenaDeTexto ( "aBcDeFg" ) // Imprime en consola: ABCDEFG
53-
67+ let bienvenida = nuevoSaludo ( ) ; // Devuelve "Hola JavaScript!"
68+ let despedida = nuevoSaludo ( "Adiós" ) ; // Devuelve "Adiós JavaScript!"
69+ let hola = nuevoSaludo ( "Hola" , "Marcos" ) ; // Devuelve "Hola Marcos!"
70+ console . log ( bienvenida ) ;
71+ console . log ( despedida ) ;
72+ console . log ( hola ) ;
5473
74+ // Ámbitos de una función
75+ console . log ( "Ámbito de una función:" ) ;
5576
56- /* Función para encontrar el máximo en un array */
57-
58- function maximoValor ( arr ) {
59-
60- let max = 0 ;
61-
62- for ( let i = 0 ; i < arr . length ; i ++ ) {
63- if ( arr [ i ] > max ) {
64- max = arr [ i ] ;
65- }
66- }
67-
68- console . log ( `El valor máximo es ${ max } ` ) ;
77+ let valor = "global" ;
6978
79+ function funcionLocal ( ) {
80+ let valor = "local" ;
81+ return valor ;
7082}
7183
72- maximoValor ( [ 95 , 77 , 45 , 6 , 333 , 200 ] ) // Imprime en consola "El valor máximo es 333"
73- maximoValor ( [ 100 , 99 , 88 , 45 , 54 ] ) // Imprime en consola "El valor máximo es 100"
74- maximoValor ( [ 9 , 8 , 7 , 6 , 0 , 7 , 6 ] ) // Imprime en consola "El valor máximo es 9"
75- maximoValor ( [ 0 , 0 , 0 , 1 , 1 , 0 ] ) // Imprime en consola "El valor máximo es 1"
84+ console . log ( valor ) ; // "global"
85+ console . log ( funcionLocal ( ) ) ; // "local"
86+ console . log ( valor ) ; // "global"
7687
88+ // Funciones anidadas
89+ console . log ( "Función anidada:" ) ;
7790
91+ let a = "Hola, " ;
7892
79- /* Función dentro de otra función */
93+ function global ( ) {
94+ let b = "Qué " ;
8095
81- function funcionExterna ( ) {
82- function funcionInterna ( ) {
83- console . log ( "Esta es una función dentro de otra función" ) ;
84- }
85-
86- funcionInterna ( )
96+ function local ( ) {
97+ let c = "tal?" ;
98+ return a + b + c ;
99+ }
87100
101+ return local ( ) ;
88102}
89103
90- funcionExterna ( ) // Imprime en consola "Esta es una función dentro de otra función"
104+ global ( ) ;
91105
106+ let saludando = global ( ) ; // Devuelve "Hola, Qué tal?"
107+ console . log ( saludando ) ;
92108
93- /* Dificultad extra */
109+ // Dificultad extra
94110
95- function texto ( string1 , string2 ) {
111+ function extra ( string1 , string2 ) {
112+ let contador = 0 ;
96113
97- let contador = 0 ;
98-
99- for ( let i = 1 ; i <= 100 ; i ++ ) {
100- if ( i % 3 === 0 && i % 5 === 0 ) {
101- console . log ( string1 + string2 ) ;
102- contador ++ ;
103- } else if ( i % 3 === 0 ) {
104- console . log ( string1 ) ;
105- contador ++ ;
106- } else if ( i % 5 === 0 ) {
107- console . log ( string2 )
108- contador ++ ;
109- } else console . log ( i ) ;
114+ for ( let i = 1 ; i <= 100 ; i ++ ) {
115+ if ( i % 3 === 0 && i % 5 === 0 ) {
116+ console . log ( string1 + string2 ) ;
117+ contador ++ ;
118+ } else if ( i % 3 === 0 ) {
119+ console . log ( string1 ) ;
120+ contador ++ ;
121+ } else if ( i % 5 === 0 ) {
122+ console . log ( string2 ) ;
123+ contador ++ ;
110124 }
111-
112- return `La cantidad de veces que se imprimió un número es: ${ contador } ` ;
125+ }
126+ return contador ;
113127}
114128
115- console . log ( texto ( "Soda" , "Stereo ") ) ;
129+ console . log ( extra ( "Cielo" , "Razzo ") ) ;
0 commit comments