← Questões de Programação

Programação · CONSULPLAN · 2022

Questão comentada de Programação

Analise o código a seguir escrito em C: int main() { for(int count=0; count<10;count++) { if((count%3)==0) { printf(“1”); } else { printf(“0”); } } return 0; } Assinale a alternativa que apresenta a saída impressa por tal código.

Gabarito: D

Aqui a lógica é bem simples: o laço percorre os valores de count de 0 até 9, ou seja, 10 voltas no total. Em cada volta, o código testa se count%3 == 0, isto é, se o número é divisível por 3. Quando isso acontece, ele imprime "1"; caso contrário, imprime "0". Agora vem o pulo do gato: os valores de count que satisfazem essa condição são 0, 3, 6 e 9. Então a saída vai ser: 1 no início, depois dois 0, depois outro 1, mais dois 0, e assim por diante. Montando a sequência completa, temos 1001001001. É exatamente por isso que a alternativa D está correta. Em questões de C, vale sempre lembrar que o for começa no valor inicial, testa a condição antes de cada repetição e usa o incremento ao final de cada volta. Ou seja, não tem mistério: o código não imprime os números, e sim uma marcação binária baseada na divisibilidade por 3. Bem estilo banca gosta de confundir com contagem visual, mas aqui é só matemática modular mesmo.

Continue treinando

Questões relacionadas