Analise o código fonte abaixo.
#include
int main(void)
{
int i, pessoas, idade;
printf("Informe a quantidade de pessoas: ");
scanf("%d", &pessoas);
for(i = 0; i < pessoas; i++)
{
printf("Informe a idade %d:", i + 1);
scanf("%d", &idade);
}
}
Dado o código fonte acima, assine a alternativa correta para trocar o laço FOR pelo laço WHILE.
I – Apenas trocar a palavra FOR, pela palavra WHILE, devido às estruturas serem idênticas quando se sabe o critério de parada.
II - Será necessário inicializar a variável contadora “i” o com o valor 0 antes da estrutura WHILE.
III – Trocar a estrutura FOR pelo WHILE, dentro parênteses colocar a condição de parada, e colocar o WHILE no fim do laço.
IV - Na declaração da estrutura WHILE, deve-se colocar a condição de parada idêntica ao que esta no segundo parâmetro do FOR.
V - Colocar a variável contadora “i” dentro da estrutura WHILE, logo após a leitura da variável idade para que possa ser realizado o incremento do laço.
É correto o que se afirma em:
Alternativas
Alternativa 1:
I, apenas.
Alternativa 2:
I e II, apenas.
Alternativa 3:
I e III, apenas.
Alternativa 4:
II, IV e V, apenas.
Alternativa 5:
I, II, III e IV.
Soluções para a tarefa
Alternativa 4, onde apenas as alternativas II, IV e V estão corretas. Vamos analisar as alternativas erradas:
Na alternativa I, ela falar que basta apenas substituir a palavra FOR por WHILE, isso está totalmente errado, uma vez que a estrutura do WHILE funciona totalmente diferente do FOR, o WHILE tem apenas um parâmetro para sua condição enquanto o FOR tem três.
Não existe a III afirmativa na construção do WHILE, a estrutura de repetição do WHILE, o WHILE sempre vem antes da execução da ação. Ele funciona da seguinte forma;
Exemplo
while ( i <= 10) //Enquanto o i for menor ou igual a 10 o programa irá rodar(Condição de Parada)
{
printf("%d ", contador); //Executando um comando dentro do laço
i++; // incremento de i apos a execução do print
}
Printf("Espero ter ajudado!");