Análise da Questão
A questão aborda a sintaxe básica para declaração de estruturas de dados lineares em linguagens de programação estruturadas, como C ou C++.
Para resolver, precisamos entender como se declaram vetores (arrays unidimensionais) e matrizes (arrays multidimensionais).
Conceitos Fundamentais
- Vetor (Array Unidimensional):
- É uma coleção de elementos do mesmo tipo armazenados em posições consecutivas.
- Sintaxe:
tipo_de_dado nome_do_vetor[tamanho]; - Exemplo para a questão: Um vetor de 100 inteiros seria declarado como
int vet[100];.
- Matriz (Array Bidimensional):
- É uma tabela de dados organizada em linhas e colunas.
- Sintaxe:
tipo_de_dado nome_da_matriz[numero_de_linhas][numero_de_colunas]; - Note que utilizamos dois pares de colchetes para definir as duas dimensões.
- Exemplo para a questão: Uma matriz de caracteres 4x5 seria declarada como
char mat[4][5];.
Comparativo das Alternativas
| Alternativa | Vetor (int vet) | Matriz (char mat) | Status |
|---|
| A | int vet[100]; (Correto) | char mat[4,5] (Incorreto) | ❌ Usa vírgula dentro dos colchetes |
| B | int vet[100]; (Correto) | char mat[4][5] (Correto) | ✅ Sintaxe correta |
| C | real mat[10]; (Incorreto) | char vet[4][5]; (Incorreto) | ❌ Tipos e nomes trocados/inválidos |
| D | int vet; (Incorreto) | char mat; (Incorreto) | ❌ Variáveis simples, sem estrutura |
| E | int vet[1,100]; (Incorreto) | mat[10,20] (Incorreto) | ❌ Sintaxe inválida |
Por que a Alternativa A está errada?
Em C/C++, para matrizes, cada dimensão deve ter seus próprios colchetes. Escrever mat[4,5] é interpretado como uma única dimensão usando uma expressão (onde a vírgula descarta o primeiro valor), o que não cria uma matriz 2D correta.
Por que a Alternativa C está errada?
Primeiro, o tipo real não é um tipo nativo padrão em C (usaríamos float ou double). Segundo, ela inverte os conceitos, chamando a matriz de "vet" e o vetor de "mat".
Conclusão
A única alternativa que respeita a sintaxe de colchetes duplos para matrizes e simples para vetores, utilizando os tipos de dados corretos solicitados, é a B.
Alternativa B