Português Múltipla Escolha

Faça um programa que leia uma lista de números terminada em zero e mostre se o número é par ou ímpar. Assinale a alternativa que apresenta corretamente esse trecho de código em Portugol Studio, usando o comando com teste no início (pré-teste).

Faça um programa que leia uma lista de números terminada em zero e mostre se o número é par ou ímpar. Assinale a alternativa que apresenta corretamente esse trecho de código em Portugol Studio, usando o comando com teste no início (pré-teste).

  1. leia(num) enquanto (num!=0){ escreva ("numero par") se num%2==0 senao escreva ("numero impar") leia (num) }
  2. leia(num) faca{ escreva ("numero par") se num%2==0 senao escreva ("numero impar") leia (num) } enquanto (num!=0)
  3. leia(num) enquanto (num<>0){ escreva ("numero impar") leia (num) }
  4. leia(num) enquanto (num<>0){ se num%2==0 escreva ("numero par") senao escreva ("numero impar") leia (num) }
  5. leia(num) enquanto (num!=0){ escreva ("numero impar") leia (num) }

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A

Análise da Questão

O objetivo é identificar o algoritmo correto em Portugol Studio que atenda a três requisitos específicos:

  1. Ler uma sequência de números.
  2. Parar quando o número lido for zero.
  3. 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:

  1. O primeiro número seja verificado contra o zero antes de entrar no loop.
  2. Se o primeiro número for zero, o programa encerra imediatamente (lógica de "terminada em zero").
  3. Os números subsequentes são lidos ao final de cada iteração, atualizando a variável para o próximo teste.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Português

Ver mais Português resolvidas

Tem outra questão de Português?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.