Diferença entre for e while Loop

Diferença de chave - para vs while Loop
 

Um programa é um conjunto de instruções escritas em uma linguagem de programação para executar uma determinada tarefa. Pode ser uma operação lógica ou uma operação matemática. Geralmente, as instruções no programa são executadas uma após a outra. Às vezes é necessário executar um conjunto de instruções repetidamente. As estruturas de controle são usadas para realizar esta tarefa. Dois deles são para e enquanto loop. Essas estruturas ajudam a executar uma sequência de código até que a condição fornecida seja verdadeira. A sintaxe do loop for consiste em inicialização, expressão de teste e expressão de atualização. A sintaxe do loop while contém a expressão de teste. Este artigo discute a diferença entre o loop for e while. o diferença chave entre for e while loop é que o loop for pode ser usado quando o número de iterações é conhecido e o loop while pode ser usado quando o número de iterações não é conhecido.

CONTEÚDO

1. Visão geral e principais diferenças
2. O que é Loop
3. O que é while Loop
4. Semelhanças entre for e while Loop
5. Comparação lado a lado - for vs while Loop em forma de tabela
6. Resumo

O que é Loop?

O loop for é usado em muitas linguagens de programação como C, Java etc. É usado para executar um conjunto de instruções várias vezes. A sintaxe do loop for é a seguinte.

for (inicialização; expressão do teste, atualização)

// instruções dentro do loop for

A expressão de inicialização é executada apenas uma vez. Em seguida, a expressão de teste é avaliada. A expressão de teste pode conter variáveis, valores, constante e operadores. É uma expressão booleana. Se a expressão avaliada for verdadeira, o código dentro do loop for será executado. Depois de atingir o final do loop, a expressão de atualização é executada. Pode ser um incremento ou um decréscimo. Mais uma vez a expressão de teste é verificada. Se a expressão avaliada for verdadeira, as instruções dentro do loop for serão executadas. No final do loop, a expressão de atualização é executada. Esse processo se repete até que a expressão de teste seja falsa. Quando a expressão de teste é falsa, o loop for termina e o controle é passado para a próxima instrução após o loop for.

Figura 01: Um programa com loop for para calcular a soma de 5 números

O programa acima é encontrar a soma dos cinco primeiros números, que são 1,2,3,4 e 5. No loop for, i é 1. É menor que 5. Portanto, a soma é calculada. Inicialmente, soma é 0. É adicionado a i, que é 1. O total é atribuído à soma variável. Agora a soma é 1. Então a expressão de atualização é avaliada. O i é incrementado em um. Agora i é 2. É menor que 5. Portanto, a soma é calculada. O valor da soma anterior é 1 e é adicionado ao valor i que é 2. Agora a soma é 3. A expressão de atualização é avaliada e i é incrementado em 1. Agora é 3. Esse processo se repete. Quando i se torna 6, a expressão se torna falsa porque 6 não é igual ou menor que 5. Portanto, o loop for termina. Finalmente, a soma dos cinco números é impressa na tela.

O que é while Loop?

O loop while executa as instruções de destino desde que a condição fornecida seja verdadeira. A sintaxe do loop while é a seguinte.

while (expressão de teste)

// instruções dentro do loop while

O loop while contém uma expressão de teste. É uma expressão booleana. Se a expressão avaliada for verdadeira, as instruções dentro do loop while serão executadas. No final dessas instruções, a expressão de teste é avaliada novamente. Esse processo se repete até que a expressão de teste se torne falsa. Quando se torna falso, o loop while termina e o controle é passado para a instrução após o loop while.

Figura 02: Um programa com loop while para calcular a soma de 5 números

De acordo com o programa acima, a soma é inicializada em 0 e i é inicializada em 1. No loop while, o valor de i é avaliado. É menor que 5. Portanto, a soma é calculada. O valor inicial da soma é 0. Ele é adicionado ao valor i 1. Agora a soma é 1. Então o valor i é incrementado em um. Agora, o valor de i é 2. É menor que 5. Portanto, a soma é calculada. A soma atual que é 1 é adicionada ao valor de i que é 2. Agora a soma é 3. Novamente, o valor de i é incrementado. Agora o valor de i é 3. Esse processo se repete. Quando o valor de i se torna 6, a expressão se torna falsa porque não é menor ou igual a 5. Portanto, o loop while termina. Finalmente, o valor da soma é impresso na tela. Se não houver incremento como o i ++, o valor de i permanecerá o mesmo que é 1. É menor que 5. A condição é verdadeira sempre. Então será um loop infinito.

Quais são as semelhanças entre o loop for e while?

  • O loop for e while são estruturas de controle de repetição na programação.
  • A execução do loop depende da expressão de teste.

Qual é a diferença entre for e while Loop?

para vs enquanto Loop

O loop for é uma estrutura de controle de repetição que permite ao programador escrever eficientemente um loop que precisa executar um número específico de vezes. O loop while é uma estrutura de controle de repetição que executa instruções de destino desde que a condição fornecida seja verdadeira.
 Uso
O loop for pode ser usado quando o número de iterações é conhecido. O loop while pode ser usado quando o número de iterações não for conhecido.
Inicialização
A inicialização ocorre uma vez no loop for. No loop while, se a instrução de inicialização estiver dentro do loop, a inicialização será feita sempre que o loop iterar.

Sumário - para vs while Loop

Na programação, às vezes é necessário repetir um conjunto de instruções várias vezes. Existem estruturas de controle de repetição para realizar essas tarefas. Dois deles são para e enquanto loop. A diferença entre o loop for e while é que o loop for é usado quando o número de iterações é conhecido e o loop while é usado quando o número de iterações não é conhecido.

Referência:

1.Point, Tutoriais. “For loop in C.”, Tutorials Point, 8 de janeiro de 2018, www.tutorialspoint.com/cprogramming/c_for_loop.htm.
2.Point, Tutoriais. “While loop in C.”, Ponto de tutoriais, 8 de janeiro de 2018, www.tutorialspoint.com/cprogramming/c_ilst_loop.htm.