Matemática Múltipla Escolha

Considere os três códigos abaixo e analise se estão corretos ou não:

Considere os três códigos abaixo e analise se estão corretos ou não:

  1. Apenas o primeiro código está correto.
  2. Apenas o segundo código está correto.
  3. Apenas o terceiro código está correto.
  4. Apenas o primeiro e o segundo código estão corretos.
  5. Apenas o segundo e o terceiro código estão corretos.

Resolução completa

Explicação passo a passo

B
Alternativa B

Alternativa B - Apenas o segundo código está correto.

Para resolver esta questão, é necessário compreender como funciona a manipulação de vetores de registros (ou estruturas) em programação estruturada. O objetivo é armazenar dados de 5 funcionários em uma lista, onde cada item possui múltiplas informações (idade, nome, salário, etc.).

Análise dos Algoritmos

A seguir, detalhamos o porquê de cada algoritmo estar certo ou errado:

  • Algoritmo I (Incorreto):
  • Declara um vetor dados do tipo registo.
  • No entanto, dentro do laço para i de 1 ate 5, ele tenta ler os dados diretamente nas variáveis simples (ex: leia(idade), leia(codigo)).
  • Erro: Ele não utiliza o índice do loop (i) para salvar os dados no vetor (dados[i]). Além disso, as variáveis idade, nome, etc., não foram declaradas na seção Var, causando erro de compilação ou lógica. Os dados seriam perdidos a cada iteração.
  • Algoritmo II (Correto):
  • Declara o vetor corretamente: vetor <- vetor[1..5] do tipo registo.
  • No laço, utiliza a sintaxe correta para acessar o elemento específico do vetor e seu campo: leia(vetor[i].codigo).
  • Sucesso: O uso de [i] garante que cada funcionário tenha seus dados salvos em posições distintas do vetor. O uso de . garante que o dado seja salvo no campo correto daquele registro.
  • Algoritmo III (Incorreto):
  • Declara o vetor dados, mas nunca o utiliza.
  • Tenta ler os dados usando índices globais: leia(idade[i]), leia(nome[i]).
  • Erro: As variáveis idade, nome, etc., são campos definidos apenas dentro da estrutura tipo. Elas não foram declaradas como vetores globais na seção Var. Tentar acessar idade[i] gera erro pois idade não é um vetor independente.

Resumo

AlgoritmoStatusMotivo Principal
I❌ IncorretoNão referencia o índice do vetor (i) nem declara as variáveis de entrada.
II✅ CorretoAcessa corretamente o vetor pelo índice e pelo campo (vetor[i].campo).
III❌ IncorretoTenta indexar campos de estrutura como se fossem vetores globais não declarados.

Portanto, apenas o Algoritmo II segue a lógica correta de inicialização de um vetor de registros.

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.