Operadores lógicos em laços de repetição
Olá pessoal.
Agora vou explicar um pouco sobre os laços de repetição simples em C# e VB.NET.
Porque laços de repetição simples? Porque existem laços de repetição que utilizam somente operadores lógicos para sua execução, enquanto outros laços utilizam objetos como condição de execução.
Então neste caso vamos conhecer os laços do C# conhecidos por “FOR”, “WHILE” e “DO…WHILE” e os laços do VB.NET conhecidos por “WHILE”, “DO…LOOP” e “FOR”.
Vocês lembram dos operadores lógicos que falei aqui Operadores Lógicos em C# e VB.NET ? Eles serão fundamentais para escrever os laços de repetição.
Todos os laços servem para “encapsular” um trecho de código que será repetido “N” vezes de acordo com as condições estipuladas para o laço, ou seja, tudo que estiver dentro do laço será executado toda vez que o laço repetir.
Vamos começar pelos 3 laços de C# e depois vamos aos laços de VB.NET.
C# => Laço de repetição “FOR”.
Este laço é utilizado para executar um número determinado de vezes com um incremento pré definido, como no exemplo abaixo, onde vamos imprimir 5 mensagens em sequência:
for (int contador = 1; contador <= 5; contador++) { Console.WriteLine("Imprimindo o número " + contador.ToString()); }
O exemplo acima irá imprimir o seguinte:
Imprimindo o número 1 Imprimindo o número 2 Imprimindo o número 3 Imprimindo o número 4 Imprimindo o número 5
Como funciona? No exemplo acima estamos dizendo para o laço “FOR” que ele inicie utilizando uma variável do tipo “Inteiro” chamada “contador” iniciada pelo valor 1 (int contador = 1), e que o laço execute enquanto a variável “contador” possuir valor menor ou igual a 5 (contador <= 5) e que a variável “contador” seja incrementada de 1 em 1 (contador++).
Assim, na primeira execução a variável “contador” terá o valor 1, na segunda execução terá o valor 2, e assim sucessivamente até chegar ao valor limite 5.
Podemos utilizar qualquer operador lógico para determinar a execução do “For”, assim como podemos incrementar (contador++) ou decrementar (contador–) com o valor que quisermos, podemos ao invés de somar de 1 em 1, somar de 5 em 5, alterando o incremento para (contador+5).
C# => Laço de repetição “WHILE”.
Este laço irá executar indefinidamente enquanto a condição não for atendida, como no exemplo:
int contador = 1; while (contador != 5) { Console.WriteLine("Imprimindo o número " + contador.ToString()); contador++; }
Este laço irá repetir enquanto a variável contador possuir um valor diferente, no momento que a variável possuir o valor 5, o laço encerrará. O exemplo acima resultará nisso:
Imprimindo o número 1 Imprimindo o número 2 Imprimindo o número 3 Imprimindo o número 4
A diferença entre “FOR” e “WHILE” é que no “FOR” todas as condições de repetição estão declaradas na definição do laço, enquanto que no “WHILE” somente a condição de encerramento do laço é definida, assim, o laço inicia testando a condição e depois executa, e volta a repetir, até o momento que a condição seja atendida e o laço termine.
C# => Laço de repetição “DO…WHILE”.
Este laço de repetição é quase igual ao “WHILE”, porém, enquanto o “WHILE” testa a condição antes da execução, o “DO…WHILE” executa as instruções e depois testa a condição. Como no exemplo abaixo:
int contador = 1; while { Console.WriteLine("Imprimindo o número " + contador.ToString()); contador++; } while(contador != 1)
Este laço imprimirá o seguinte:
Imprimindo o número 1
Este laço repete enquanto a variável “contador” possuir valor diferente de 1, mas então como o laço imprimiu se a variável possui valor 1?
Porque o “DO…WHILE” executa os comandos e depois testa a condição, se fosse feito o mesmo com um laço “WHILE”, o código não imprimiria nada, pois o teste é feito antes da execução do código.
Agora que terminamos os laços em C#, vamos aos laços em VB.NET.
VB.NET => Laço de repetição “WHILE”.
Igualmente ao laço “WHILE” do C#, o laço “WHILE” de VB.NET funcionam da mesma forma, executando o bloco de códigos enquanto as condições forem atendidas, como no exemplo:
Dim contador as Integer = 1 While contador != 5 Debug.Writeline("Imprimindo o número " & contador.ToString()) contador += 1 End While
Este código irá imprimir o seguinte:
Imprimindo o número 1 Imprimindo o número 2 Imprimindo o número 3 Imprimindo o número 4
Notem que é exatamente igual ao laço “WHILE” do “C#”, o código é executado enquanto a variável “contador” possuir valor diferente de 5, sendo iniciada em 1 e incrementada de 1 em 1 a cada execução.
VB.NET => Laço de repetição “DO…LOOP”.
Este laço de repetição é exatamente igual ao “WHILE”, porém, pode conter o teste de condição no inicio ou no final do laço, vamos conferir o exemplo com a condição antes da execução do laço:
Dim contador as Integer = 1 Do While contador < 5 Debug.Writeline("Imprimindo o número " & contador.ToString()) contador += 1 Loop
Neste exemplo será impresso o seguinte resultado:
Imprimindo o número 1 Imprimindo o número 2 Imprimindo o número 3 Imprimindo o número 4
E agora o exemplo com a execução do laço antes da validação da condição:
Dim contador as Integer = 1 Do Debug.Writeline("Imprimindo o número " & contador.ToString()) contador += 1 Loop Until contador < 5
Enquanto neste exemplo será impresso o seguinte:
Imprimindo o número 1 Imprimindo o número 2 Imprimindo o número 3 Imprimindo o número 4 Imprimindo o número 5
Reparem que como o teste é executado no final do laço, o código é executado e depois validado, exibindo uma linha a mais de texto.
VB.NET => Laço de repetição “FOR”.
Este laço de repetição é similar ao seu equivalente em C#, executando um bloco de código uma quantidade “N” de vezes, com as condições de repetição definidas no inicio do laço, como segue:
For contador As Integer = 1 To 5 Debug.Writeline("Imprimindo o número " & contador,ToString()) Next
Neste laço imprimimos o contador de 1 a 5, como veremos abaixo:
Imprimindo o número 1 Imprimindo o número 2 Imprimindo o número 3 Imprimindo o número 4 Imprimindo o número 5
Este laço requer uma variável como contador, definida no inicio do laço, onde também definimos o valor inicial e final desta variável, que por padrão será acrescida de 1 em 1. No exemplo acima definimos a variável “contador” que será iniciada em 1, acrescida de 1 a cada execução até chegar a 5.
E com este laço chegamos ao fim desta lição, acredito ter sido de fácil entendimento, mesmo assim, dúvidas? Escreva nos comentários abaixo.
Abraços.