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!!