Ir para conteúdo

Material De Apoio V


joaohd

Posts Recomendados

Material de Apoio

Loops

 

 

Antes de começarmos, o que vem a ser um loop em programação?

Um loop é a repetição de um bloco de código por diversas vezes, com a finalidade de verificar uma condição, economizar linhas e alterar estados de variáveis.

 

Em lua, temos três estruturas capazes de realizar loops, o comando while, o comando repeat e o comando for veremos agora como proceder para fazer um loop usando o while.

 

Compreendendo o WHILE:

 

O comando while, pode ser entendido como "enquanto" e deve vir junto a uma condição. Ou seja, ele executa e testa a condição enquanto esta não for satisfeita. Vejamos um exemplo:

 

i = 10
while i>0 do
print(i)
i = i-1
end

 

Como podemos observar no exemplo acima, temos uma variável i com o valor 10 e a estrutura while comparando i a 0, mostrando o valor de i e decrementando seu valor em 1 (subtraindo 1 do valor). Logo, neste exemplo teremos uma contagem regressiva de 10 até 0, quando a condição será obedecida e o laço terminado.

 

Podemos ainda fazer uso do comando break para terminar o laço em algum ponto de sua execução:

 

a = 1
while true do
print(a)
a = a + 1
if a > 10 then break end
end

 

Neste segundo exemplo, o while está configurado para executar infinitamente, entretanto, dentro do bloco de execução, temos uma condição if que caso a seja maior que 10, ele encerra o laço. Neste segundo exemplo, nos será mostrado os números de 1 a 10 em ordem crescente.

 

A estrutura REPEAT:

 

O comando repeat, é a segunda estrutura que podemos usar para fazer loops. Sempre vem acompanhado de outro comando, o until. Pode ser compreendido como "repita até que". Sua sintaxe é parecida ao do while, e também obedece a uma condição. Enquanto falsa, ele executa. Quando verdadeira, o laço é interrompido.

Observem um exemplo:

 

i = 3
repeat
print(i)
i = i-1
until i==0

 

Como vemos, no início, definimos a variável que será usada para controlar o laço e colocamos um decremento. É importante ressaltar a condição que o until impõe: caso i seja igual a 0, interrompa. O comando acima, deverá mostrar-nos os números de 3 a 0 em ordem decrescente.

 

O comando repeat também pode ser usado junto ao break:

 

i = 1
repeat
print(i)
i = i+1
if i>10 then break end
until false

 

Caso não tivessemos o if para controlar o ponto de interrupção, o comando executaria infinitamente, pois no until, não temos condição, logo será sempre falsa.

 

O todo poderoso FOR:

 

Este comando, apesar de sua simplicidade, é complicado de se entender completamente, hoje darei apenas uma pincelada. Haverá outro tutorial somente usando o for.

 

O for em lua, apresenta dois usos possíveis para fazermos laços. A primeira, é a forma numérica e a segunda, chama-se sequencial. Não explicarei a diferença funcional entre elas, somente mostrarei como fazer loops usando-as.

 

A forma numérica é bem direta:

 

for i = 1, 3 do
print(i)
end

 

A variável i não precisa ser declarada anteriormente. No caso desta estrutura, a variável assume os valores de 1 a 3 e repete o bloco com estes valores.

 

Em sua forma sequencial, precisamos fazer uso de tabelas. Observe:

 

for i, x in pairs({"Indice 1", "Indice 2", "Indice 3"}) do
print(i, x)
end

 

No caso acima, será mostrada uma estrutura mais ou menos assim:

 

1	Indice 1
2	Indice 2
3	Indice 3

 

Bom, acho que isso é tudo.

 

flw

Editado por apocarai
Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...