Alternativa A
Análise da Questão
O objetivo é identificar o algoritmo correto em Portugol Studio que atenda a três requisitos específicos:
- Ler uma sequência de números.
- Parar quando o número lido for zero.
- Utilizar um laço de repetição com teste no início (pré-teste).
1. Tipo de Laço de Repetição
O enunciado exige um comando com teste no início.
- Pré-teste (
enquanto): Verifica a condição antes de executar o bloco de comandos. Se a condição for falsa imediatamente, o bloco nem entra. - Pós-teste (
faca...enquanto): Executa o bloco pelo menos uma vez e só verifica a condição no final.
Isso elimina a Alternativa B, que utiliza faca [...] enquanto, caracterizando um pós-teste.
2. Condição de Parada
O programa deve ler números "terminados em zero". Isso significa que o loop deve continuar rodando enquanto o número NÃO for zero.
- Correto:
enquanto (num != 0) ou enquanto (num <> 0). - Incorreto:
enquanto (num = 0) (atribuição ou lógica invertida) ou enquanto (num > 0) (exclui números negativos).
Isso elimina a Alternativa C (que usa num=0) e a Alternativa D (que restringe a números positivos com num > 0).
3. Sintaxe de Comparação e Paridade
Para verificar se um número é par, usamos o operador módulo (%) para obter o resto da divisão por 2. A comparação deve ser feita com o operador de igualdade (==).
- Correto:
se num % 2 == 0. - Incorreto:
se num % 2 = 0 (uso de operador de atribuição em vez de comparação).
Isso elimina a Alternativa E, que comete um erro de sintaxe ao usar = dentro da instrução condicional se.
Resumo da Lógica da Alternativa Correta (A)
leia(num) // Leitura inicial (preparação do laço)
enquanto (num != 0){ // Teste no início: enquanto não for zero
se num % 2 == 0 // Verificação de paridade correta
escreva ("numero e par")
senao
escreva ("numero impar")
leia (num) // Nova leitura no final do ciclo para atualizar a condição
}
Esta estrutura garante que:
- O primeiro número seja verificado contra o zero antes de entrar no loop.
- Se o primeiro número for zero, o programa encerra imediatamente (lógica de "terminada em zero").
- Os números subsequentes são lidos ao final de cada iteração, atualizando a variável para o próximo teste.