Matemática Múltipla Escolha

Considere o seguinte algoritmo (os dois dígitos à esquerda identificam o número da linha do algoritmo): 01- Algoritmo “vetores” 02- valores: vetor[1..5] de real 03- indice: inteiro 04- inicio 05- dica indice de 1 ate 5 progama de instruções faz a 06- para indice de 1 ate 5 passo 1 faça 07- escreval(“Digite valor: ”) 08- leia(valores[indice]) 09- fimpara 10- para indice de 1 ate 5 passo 1 faça 11- escreval(“Valor”,indice,”:” ,valores[indice]) 12- fimpara 13- finalgoritmo Analise as alternativas a seguir e selecione a INCORRETA.

Considere o seguinte algoritmo (os dois dígitos à esquerda identificam o número da linha do algoritmo):

01- Algoritmo “vetores”
02- valores: vetor[1..5] de real
03- indice: inteiro
04- inicio
05- dica indice de 1 ate 5 progama de instruções faz a
06- para indice de 1 ate 5 passo 1 faça
07- escreval(“Digite valor: ”)
08- leia(valores[indice])
09- fimpara
10- para indice de 1 ate 5 passo 1 faça
11- escreval(“Valor”,indice,”:” ,valores[indice])
12- fimpara
13- finalgoritmo

Analise as alternativas a seguir e selecione a INCORRETA.

  1. Entre as linhas 10 e 12 realiza-se a repetição que permite escrever o valor de cada um dos elementos armazenados no vetor.
  2. Entre as linhas 06 e 09 realiza-se a repetição que faz a leitura de cada um dos elementos do vetor.
  3. Se forem trocados de lugar os blocos de instruções das linhas 06-09 com 10-12, o programa será executado da mesma forma e funcionará corretamente.
  4. A declaração da linha 03 for alterada, mudando o limite superior do arranjo, também devem ser alterados os limites superiores dos comandos “para.” nas linhas 06 e 10.
  5. O bloco de comandos das linhas 06-09 poderia ser substituído pela seguinte sequência de comandos: escreval(“Digite valor: ”); leia(valores[1]); escreval(“Digite valor: ”); leia(valores[2]); escreval(“Digite valor: ”); leia(valores[3]); escreval(“Digite valor: ”); leia(valores[4]); escreval(“Digite valor: ”); leia(valores[5]);

Resolução completa

Explicação passo a passo

C
Alternativa C

Alternativa C - Troca dos blocos de instrução

Análise da Questão

A questão apresenta um algoritmo simples que manipula vetores (arrays), dividido em duas etapas principais: entrada de dados e saída de dados. Para identificar a alternativa incorreta, devemos analisar a lógica sequencial do código.

O algoritmo funciona da seguinte maneira:

  1. Declaração (Linhas 02-04): Define um vetor de números reais chamado valores com índice de 1 a 5.
  2. Entrada de Dados (Linhas 06-09): Um laço para solicita ao usuário que digite 5 valores, armazenando-os na memória.
  3. Saída de Dados (Linhas 10-12): Outro laço para exibe os valores que foram previamente armazenados.

Por que a Alternativa C está Incorreta?

A alternativa C afirma que trocar a ordem dos blocos (ler depois de imprimir) faria o programa funcionar da mesma forma. Isso é falso por dois motivos fundamentais:

  • Dependência Lógica: O bloco de impressão (saída) depende dos dados já estarem preenchidos no vetor. Se tentarmos imprimir antes de ler, o programa exibirá valores vazios ou indefinidos, pois a memória ainda não foi ocupada pelos dados do usuário.
  • Ordem de Execução: A experiência do usuário seria completamente diferente. No original, o usuário digita primeiro e vê o resultado depois. Invertendo a ordem, o sistema pediria para ver resultados que ainda não existem.

Portanto, a troca altera o comportamento funcional do programa, tornando a afirmação incorreta.

Validação das Outras Alternativas

Para confirmar nossa escolha, analisamos por que as demais estão corretas:

  • A: Descreve corretamente o laço de saída (linhas 10-12) que percorre o vetor para exibir os valores.
  • B: Descreve corretamente o laço de entrada (linhas 06-09) que percorre o vetor para receber dados.
  • D: É uma regra essencial de programação. Se o tamanho do vetor mudar (ex: 1 a 10), os limites dos laços devem acompanhar essa alteração para evitar erros de índice ou perda de dados.
  • E: É tecnicamente possível substituir um laço fixo por instruções repetidas manualmente (unrolling), embora seja menos eficiente. Funcionalmente, o resultado final é o mesmo.

Resumo Comparativo

AlternativaAfirmaçãoStatusJustificativa
ALaço 10-12 escreve valoresCorretoDescrição precisa da saída.
BLaço 06-09 lê valoresCorretoDescrição precisa da entrada.
CTrocar ordem mantém funcionamentoIncorretoImprimir sem ler gera erro lógico.
DAlterar tamanho exige alterar laçosCorretoCoerência entre tamanho e iteração.
ESubstituir laço por repetiçãoCorretoEquivalente funcionalmente.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

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