Identifique e corrija os erros dos seguintes trechos e códigos: [Nota: pode haver mais de um erro em cada um.]
a) if ( idade >= 65 );
printf( “Idade é maior ou igual a 65\n” );
else
printf( “Idade é menor que 65\n”);
b) int x = 1, total;
while ( x
total += x;
++x;
}
c) while ( x
total += x;
++x;
d) while ( y > 0 ) {
printf( “%d\n”, y );
++y;}
Passo 1
E ai pessoal, tudo tranquilo? Prontos para identificar mais alguns erros e corrigir eles? Esse exercício é pequeno, mas os erros são sutis. Como esse errinho no item (a). Deve-se acrescente as chaves em else no início e no fim pois sem elas, a mensagem em printf( “Idade é menor que 65\n”) não iria aparecer dentro da condição.
Passo 2
Item (a) Aqui de cara já percebemos a falta das { }.
Item (b) neste item o erro se encontra na atribuição. Ele faz a atribuição de inicializar x, mas não fez em total. O qual deve inicializar a partir do ZERO.
Item (c) o que nos falta aqui neste item são novamente as chaves { }, galera. Só acrescentar elas logo após o parênteses e fechar com chave após o incremento.
Item (d) Percebem a falta de um contador ou soma ou produto, também está faltando um elemento >= ou
if (idade > 18) {
printf(“Você não pode entrar, \n” );
}
Outro erro também está no printf que se encontra na linha errada do código.
Então, agora vamos corrigir todos!
Resposta
a) if ( idade >= 65 ) {
printf( “Idade é maior ou igual a 65\n” );
}
else {
printf( “Idade é menor que 65\n”);
}
b) int x=1, total = 0;
while ( x
total += x;
++x;
}
c) while ( x
total += x;
++x;
}
d) while ( y
produto *=y
++y;}
printf( “%d\n”, y );
Espero ter ajudado, pessoal. Até breve!!