1+ --[[
2+ /*
3+ * EJERCICIO:
4+ * - Crea ejemplos de funciones básicas que representen las diferentes
5+ * posibilidades del lenguaje:
6+ * Sin parámetros ni retorno, con uno o varios parámetros, con retorno...
7+ * - Comprueba si puedes crear funciones dentro de funciones.
8+ * - Utiliza algún ejemplo de funciones ya creadas en el lenguaje.
9+ * - Pon a prueba el concepto de variable LOCAL y GLOBAL.
10+ * - Debes hacer print por consola del resultado de todos los ejemplos.
11+ * (y tener en cuenta que cada lenguaje puede poseer más o menos posibilidades)
12+ *
13+ * DIFICULTAD EXTRA (opcional):
14+ * Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
15+ * - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
16+ * - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
17+ * - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
18+ * - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
19+ * - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
20+ *
21+ * Presta especial atención a la sintaxis que debes utilizar en cada uno de los casos.
22+ * Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
23+ */
24+ ]]
25+
26+ -- funcion si parametros ni retornos
27+ function escalera ()
28+ local valor = " *"
29+ print (" \n " )
30+ for i = 1 , 10 do
31+ print (valor )
32+ valor = valor .. " *" -- con .. se pueden concatenar tanto string como listas
33+ end
34+ end
35+
36+ escalera ()
37+
38+ print (" " )
39+
40+ -- funcion con parametros y retornos
41+ function sumador (num1 , num2 )
42+ return num1 + num2 -- return te da el valor para que lo puedas usar
43+ end
44+
45+ print (sumador (2 , 3 ))
46+
47+ -- funciones dentro de funciones
48+ print (" " )
49+
50+ function correr ()
51+ function caminar ()
52+ return " caminando"
53+ end
54+
55+ local accion = " "
56+ accion = caminar ()
57+ print (accion )
58+ accion = " corriendo"
59+ print (accion )
60+ end
61+
62+ print (correr ())
63+ print (" que estas haciendo ? : " .. caminar ())
64+
65+ local numero_random = math.random (0 , 100 )
66+ local numero_maximo = math.max (7 , numero_random , 40 )
67+ local cuadrado = math.sqrt (numero_random )
68+ local texto = " Hola mundo day"
69+ print (" \n funciones matematicas" )
70+
71+ print (" numero random : " .. numero_random )
72+ print (" el maximo entre el numero 7 " .. numero_random .. " y el 40 : " .. numero_maximo )
73+ print (" la raiz cuadrado del numero " .. numero_random .. " es : " .. cuadrado )
74+
75+ print (" \n funciones de string : " )
76+ print (string.upper (texto ) .. " funcion string.upper()" )
77+ print (string.lower (texto ) .. " funcion string.lower()" )
78+ print (string.len (texto ) .. " funcion string.len()" )
79+
80+ local variable_local = " esta es una varible local , solo funciona en este archivo"
81+ variable_glogal = " esta es una varible global se puede usar en otro archivos .lua"
82+
83+ print (" " )
84+ print (variable_local )
85+ print (variable_glogal )
86+
87+ -- Extra
88+
89+ local function fizz_buzz (a , b )
90+ local contador = 1
91+ while contador <= 100 do
92+ if contador % 3 == 0 and contador % 5 == 0 then
93+ print (contador .. a .. b )
94+
95+ else if contador % 5 == 0 then
96+ print (contador .. b )
97+
98+ else if contador % 3 == 0 then
99+ print (contador .. a )
100+
101+ else
102+ print (contador )
103+
104+ end
105+ end
106+ end
107+ contador = contador + 1
108+
109+ end
110+
111+ end
112+
113+ print (fizz_buzz (" fizz" , " buzz" ))
0 commit comments