Alternativa A - Apenas o primeiro código está correto.
Análise Detalhada
Para resolver esta questão, precisamos avaliar a sintaxe e a lógica de cada algoritmo apresentado, focando na declaração de tipos, variáveis e comandos básicos de entrada/saída.
1. Análise do Algoritmo I
- Declaração de Tipos: Define um tipo
tipo (embora sem nome explícito, assume-se que é a base para o registro). - Declaração de Variáveis:
Var : cadastro[1..5] de Matriz. Embora o uso de Matriz seja atípico para registros (o ideal seria do tipo NomeDefinido), mantemos essa premissa para comparação. - Comandos: Utiliza
escreva para saída e leitura para entrada, que são os padrões em pseudocódigos brasileiros (como Portugol). - Consistência: A variável
cadastro é declarada e utilizada corretamente dentro do laço (cadastro[i]). - Veredito: É o mais coerente, apesar da possível ambiguidade na palavra
Matriz.
2. Análise do Algoritmo II
- Erro de Nomes: Declara a variável como
versao, mas utiliza cadastro dentro do loop (cadastro[i].idade). Isso causaria erro de compilação/execução. - Tipo Indefinido: Declara a variável como
de estudos, mas estudos nunca foi definido como um tipo no início do algoritmo. - Veredito: Incorreto devido à inconsistência de nomes e tipo não definido.
3. Análise do Algoritmo III
- Comando de Saída: Utiliza
escrita para exibir mensagens. Em português para computação, o comando deve ser um verbo no imperativo (escreva), não um substantivo/particípio (escrita). - Restante: A estrutura é idêntica à do Algoritmo I.
- Veredito: Considerado incorreto pela má utilização da palavra-chave de saída (
escrita vs escreva).
Conclusão
Após eliminar os códigos com erros graves de consistência (II) e erros de sintaxe de comando (III), resta apenas o Algoritmo I, que respeita a lógica de declaração de variáveis e o uso correto dos verbos de comando (escreva).
Alternativa A.