Análise da Questão
A questão aborda a declaração de estruturas de dados (matrizes bidimensionais) na linguagem de programação C. Para responder corretamente, é necessário compreender como a memória é organizada e como os índices são definidos.
Alternativa A - float notas [30][6];
Desenvolvimento
Para declarar uma matriz bidimensional em C, utilizamos a seguinte sintaxe geral:
tipo\ \{nome\}[tamanho\_linhas][tamanho\_colunas];
O ponto crucial desta questão é interpretar a regra de organização dos dados apresentada no enunciado: "cada linha represente as notas de um único aluno".
- Definindo as Linhas (Primeira Dimensão):
- Como cada linha corresponde a um aluno, o número total de linhas deve ser igual ao número total de alunos.
- Número de alunos = 30.
- Portanto, a primeira dimensão é 30.
- Definindo as Colunas (Segunda Dimensão):
- Considerando que cada aluno possui notas de todas as disciplinas listadas, e são 6 disciplinas, cada linha (aluno) terá 6 valores associados.
- Número de disciplinas = 6.
- Portanto, a segunda dimensão é 6.
## Análise Comparativa
| Elemento | Quantidade | Posição na Declaração | Justificativa |
|---|
| Alunos | 30 | [30] | Define o número de linhas (índice externo). |
| Disciplinas | 6 | [6] | Define o número de colunas (índice interno). |
- Opção A (
float notas [30][6];): Correta. Segue a lógica notas[alunos][disciplinas]. - Opção B (
float notas [6][30];): Incorreta. Inverte a ordem, sugerindo 6 alunos com 30 disciplinas cada. - Opções C, D e E: Incorretas. Utilizam chaves
{} em vez de colchetes [], o que é uma sintaxe inválida para declaração de vetores/matrizes em C.
Conclusão
A declaração correta da matriz deve refletir a estrutura física de armazenamento onde a primeira dimensão conta as linhas (alunos) e a segunda dimensão conta as colunas (notas/disciplinas). Assim, a sintaxe válida é float notas[30][6];.