Loop Definido vs Loop Indefinido
Um loop é um bloco de código que se repetiria por um determinado número de vezes ou até que alguma condição fosse satisfeita. Um loop definido é um loop no qual o número de vezes que ele será executado é conhecido com antecedência antes de entrar no loop. Em um loop indefinido, o número de vezes que ele irá executar não é conhecido com antecedência e ele será executado até que alguma condição seja satisfeita.
O que é um Loop Definido?
Um loop definido é um loop no qual o número de vezes que ele será executado é conhecido com antecedência antes de entrar no loop. O número de iterações que ele vai repetir será normalmente fornecido por meio de uma variável inteira. Em geral, os loops for são considerados loops definidos. A seguir está um exemplo de um loop definido implementado usando um loop for (na linguagem de programação Java).
para (int i = 0; i <num; i ++)
{
// corpo do loop for
}
O loop acima executará seu corpo várias vezes fornecido pela variável num. Isso pode ser determinado a partir do valor inicial da variável ie da condição do loop.
Loops while também podem ser usados para implementar loops definidos como mostrado abaixo (em Java).
int i = 0;
enquanto eu
{
// corpo do loop
i ++;
}
Mesmo que use um loop while, este também é um loop definitivo, uma vez que é sabido de antemão que o loop irá executar o número de vezes fornecido pela variável num.
O que é um loop indefinido?
Em um loop indefinido, o número de vezes que ele será executado não é conhecido com antecedência. Normalmente, um loop indefinido será executado até que alguma condição seja satisfeita. Loops while e loops do-while são comumente usados para implementar loops indefinidos. Mesmo que não haja uma razão específica para não usar loops for para construir loops indefinidos, os loops indefinidos podem ser organizados perfeitamente usando loops while. Alguns dos exemplos comuns que você precisaria para implementar loops indefinidos são solicitar a leitura de uma entrada até que o usuário insira um número inteiro positivo, ler uma senha até que o usuário insira a mesma senha duas vezes seguidas, etc.
Qual é a diferença entre Definite Loop e Indefinite Loop?
Um loop definido é um loop no qual o número de vezes que vai ser executado é conhecido com antecedência antes de entrar no loop, enquanto um loop indefinido é executado até que alguma condição seja satisfeita e o número de vezes que vai ser executado não é conhecido antecipadamente. Freqüentemente, loops definidos são implementados usando loops for e loops indefinidos são implementados usando loops while e loops do-while. Mas não há nenhuma razão teórica para não usar loops for para loops indefinidos e loops while para loops definidos. Mas loops indefinidos podem ser perfeitamente organizados com loops while, enquanto loops definidos podem ser perfeitamente organizados com loops for.