Quando temos código que queremos que seja executado múltiplas vezes, o que fazemos?
Copiamos e colamos o código várias vezes?
Não. Usamos os loops (ciclos).
O while loop continua a executar o código enquanto uma condição é verdade.
Escrevendo:
Um "while", seguido de um valor lógico (condição) entre ( ) e um bloco de código (código entre { }).
Este loop é infinito, porque true é sempre true.
A condição é verificada no início de cada ciclo, ou seja, logo no começo, e a seguir do código ser executado.
Exemplo:
int num = 2;
while(num < 4){
num += 1;
}
- O inteiro num tem valor 2.
- Começa o while loop e é logo verificada a condição, neste caso "num < 4". Como num é 2 e 2 é menor que 4, executamos o código.
- A única coisa que o código faz é incrementar 1 ao valor de num, ficando 3.
- Volta-se a verificar a condição, e como 3 < 4, executa-se o código novamente, mudando o valor de num para 4.
- Verifica-se mais uma vez a condição, mas desta vez é falsa, 4 não é menor que 4: Acaba-se o loop.
- num foi modificado, e continua com valor 4.
Do... while
Este loop é exatamente o mesmo que o while, com uma pequena diferença. O código é executado pelo menos uma vez, e apenas a partir daí passa a ser testada a condição para os próximos ciclos.
Escreve-se com um "
do" seguido de um bloco de código. No fim do bloco de código (após o
}), "
while" seguido da condição, e um "
;" para finalizar.
do{
//código
}
while(false);
O código é executado pelo menos uma vez, e verifica-se a condição. Neste caso, o loop para porque false é sempre false.
Tem o mesmo efeito que copiar e colar o código antes do while loop.
Programa exemplo
#include <iostream>
using namespace std;
int main()
{
int num = 0;
cout << "Escreve 5!" << endl;
while(num != 5){
cin >> num;
}
cout << "Boa!!! Escreveste 5!" << endl;
}
- O programa começa por dizer ao utilizador para escrever o número 5.
- Um while loop começa e enquanto num for diferente de 5, pede input do utilizador na variável num.
- Quando o utilizador escrever 5 em vez de outra coisa, o loop termina e o programa parabeniza-o por escrever 5.
Escrevendo
3 e depois
5:
Escreve 5!
3
5
Boa!!! Escreveste 5!
Referências - 19/11/2019