Alternativa E
Análise Detalhada
A questão apresenta um algoritmo escrito em pseudocódigo (estilo Portugol) que utiliza estruturas de dados compostas. Para responder corretamente, é necessário entender a diferença entre Registros e Vetores.
1. O Conceito de Registro (Estrutura Heterogênea)
As linhas 2 a 8 do código definem um novo tipo de dado:
2 tipo
3 registro
4 matricula: inteiro
5 nome: caractere
6 nota1: real
7 nota2: real
8 fimregistro
Este bloco cria um Registro. Ele permite agrupar informações de tipos diferentes (inteiro, caractere, real) sob um único nome lógico. Por conter tipos variados, essa estrutura é chamada de heterogênea.
2. O Conceito de Vetor (Estrutura Homogênea)
Na linha 11, temos a seguinte declaração:
11 p_aluno: vetor [1..30] de registro
Esta linha cria um Vetor chamado p_aluno.
- Um vetor é uma coleção de elementos que deve ter o mesmo tipo.
- Neste caso, todos os 30 elementos do vetor serão do tipo
registro. - Por exigir que todos os elementos sejam iguais, o vetor é uma estrutura homogênea.
3. Por que a Alternativa E está Correta?
A alternativa E resume perfeitamente a lógica do código:
"O código está utilizando um vetor de registros, estrutura que contém diversos tipos de dados, mas é declarado como uma estrutura homogênea porque os dados estão armazenados dentro de um vetor..."
- "Vetor de registros": Combina os dois conceitos estudados acima.
- "Contém diversos tipos de dados": Refere-se à parte interna do registro (linha 4 a 7).
- "Estrutura homogênea": Refere-se ao vetor (linha 11), pois todos os 30 slots do array são obrigatoriamente do mesmo tipo (
registro).
Por que as outras alternativas estão incorretas?
| Alternativa | Motivo do Erro |
|---|
| (A) | A declaração do registro começa na linha 2 (tipo) e só termina na linha 8 (fimregistro). A alternativa menciona erroneamente a linha 6. |
| (B) | A linha 11 declara uma variável (p_aluno), não uma constante. Constantes seriam declaradas com palavras como constante ou definir. |
| (C) | A linha 12 (i: inteiro) declara uma variável simples para controle de loop, não um vetor de matrículas. |
| (D) | A linha 19 (escrever(...)) realiza uma operação de saída (imprimir na tela), não de salvamento ou entrada de dados. |