Soluciones IT

Anuncio
Soluciones IT
Los siguientes códigos de ejemplo los puedes copiar y pegar en este intérprete online si quieres
ejecutarlo.
1. Empezaremos con un poco de código típico si no se hace esto no es lenguaje de programación.
io.write("hola mundo")
Resultado inesperado
hola mundo
2. Probemos a usar unas variables así le echaremos un vistazo a como Lua usa los valores
-- En lua no tienes que especificar el tipo de variable esto es una mu
estra
-- el \n es solo un salto de línea
i = 5
io.write(i,"\n")
-- que como no lo entiendo mmmm otro ejemplo
i,j=9,6
io.write(j," ",i,"\n")
--O.O pero que .... lua si las variables son del mismo tipo permite es
ta
--asignación
-- Problemas con un intercambio
i,j=j,i
io.write(j," ",i,"\n")
--Facil verdad XD
Los resultados...
page 1 / 8
Soluciones IT
5
6 9
9 6
3. BloquesLa gran diversión de Lua es la forma tan divertida de estructuras esto es importante al hacer
proyectos grandes Lua se compone de bloques y para aplicarle un orden a los bloque están los Chunks
.De momento empecemos por bloques simples:
3.1 IF / IF-ELSE
--Declaramos una variable a
a=2
--empieza el bloque
si a es menor que 4 dale valor 4
if a<4 then a = 4 end
--lo mostramos
io.write(a,"\n")
--Venga que estamos a full vamos hacerle el else
--declaramos variables
b,c=5,7
-- si c es menor que b devuelve c si no devuelve b
if c<b then return c else return b end
Resultado...
4
5
page 2 / 8
Soluciones IT
3.2 While
--Declaramos dos variables a y b mi originalidad aumenta por momentos
a = 5
b = 0
-- si a es mayor que 0 sumarle a b 1 (b se autoincrementa por que esta
dentro del
-- bloque pero si estuviera fuera del bloque un = lo sustituiriá )cua
ndo a es 0
-- sale del bloque
while a > 0 do
b = b + 1
a = a - 1
end
--mostramos b
io.write(b,"\n")
Resultado...
5
3.3 REPEAT
--pues lo de siempre una variables
a = 5
b = 0
-- bloque repeat es como el do While en java o c#
sta a a
-- y repitelo as ta que a sea menor de 1
entra
suma
repeat
b = b + 1
a = a - 1
page 3 / 8
a b re
Soluciones IT
until a < 1
-- muestralo
io.write(b)
Resultado...
5
3.4 FOR
-- hay dos formas de usar for si lo dejamos sin el incrementador por d
efecto es -- +1
-- como podemos ver en el primer ejemplo
-- iniciamos bloque i vale 1 y el rango esta en 10
e
-- incrementa
en cada vuelta i s
for i=1,10 do
io.write(i," ")
end
-- en este segundo el incrementador es negativo y se le añade y ya est
a puede
-- ser positivo negativo y no
-- necesita ir de 1 en 1
for i=10,1,-1 do
io.write(i," ")
end
Resultado...
--Resultado divertido XD
page 4 / 8
Soluciones IT
1 2 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1
4 Ya estamos a tope vamos ha ver unas tablas :)
-- nuestra tabla lo que se encuentra entre [] es el indice
del igual
-- es su valor
semanita = {["lunes"] =
["miercoles"]
["viernes"] =
["domingo"] =
y despues
1, ["martes"] = 2,
= 3, ["jueves"] = 4,
5, ["sabado"] = 6,
7}
-- motramos que hay en jueves y el resultado es 5
x = "jueves"
print(semanita[x])
-- queremos que ver que hay en el 5 el resultado es null ya que no exi
ste en el
-- indice
x = "5"
print(semanita[x])
-- si queremos declarar una tabla normal sin indices que no sean por d
efecto a
-- si es XD
semanita = {"lunes" , "martes",
"miercoles" , "jueves" ,
"viernes" , "sabado",
"domingo" }
page 5 / 8
Soluciones IT
5 Funciones
-- Estan las funciones simples pero esas ya los conocemos y son muy ab
urridas
-- sumar + , restar - , multiplicar * , dividir / , resto % a si que v
amos
-- a pasar a funciones de verdad Yupiii
--La cosa se pone mas interesante esta funcion devuelve dos numeros
evuelve
-- el mayor de una lista y en que posicion esta O.O
d
--Lo primero nombre de funcion y el numero de argumentos
function masgrande (a)
-- variable b = a 1 que es donde guardaremos la posicion de donde esta
la
-- posicion del numero mas grande
b = 1
-- la variable c = a[b] el significado es que c vale el primer valor d
e la
--tabla a significa con esto que lo que recibe la funcion es una tabla
c = a[b]
-- un for nuevo es el equivalente al foreach
el
-- contenido de la tabla a en ese momento
contador i ,valor vale
for i,valor in ipairs(a) do
--un if compara el valor con el el valor guardado al principio si es m
ayor
-- el valor mayor cambia y b guarda la posicion
if valor > c then
b = i
page 6 / 8
Soluciones IT
c = valor
end
end
-- cierra for y if y devuelve c y b
on
donde c es el mayor y b su posici
return c, b
end
--Muestra
io.write(masgrande({20,10,23,55,5}))
--> 23
3
Resultado...
55 4
6.Arrays
-- Esto ya no hace falta comentarlo
denas
a = {"uno", "dos", "tres"}
for i, v in ipairs(a) do
print(i, v)
end
es lo mismo que antes pero con ca
-- Bueno Array basica
--Declaracion y inicializacion
a = {}
for i=1, 100 do
--Asignacion si todas las posiciones valen 0
a[i] = 0
end
**--Bueno vamos ha ponernos serios no se por que sale en negrita :(
--vamos hacer una S.A una super array un array de array ya casi somos
profesionales
page 7 / 8
Soluciones IT
-- la declaramos**
sa = {}
-- primer bloque
for i=1,10 do
--creamos un array en la posicion i del primer array
sa[i] = {}
--segundo bloque
for j=1,10 do
--asignamos valor
mostramos y cerramos los dos bloques
sa[i][j] = i
io.write(sa[i][j],"\n")
end
end
page 8 / 8
Powered by TCPDF (www.tcpdf.org)
Descargar