Em uma matriz de registros 'vendas', cada registro tem o campo 'data' no formato texto 'DD/MM/AAAA'. Ao…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Classificar informações, agrupando-as em coleções (conjuntos) e associando cada coleção a um ‘tipo de dado’.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em uma matriz de registros 'vendas', cada registro tem o campo 'data' no formato texto 'DD/MM/AAAA'. Ao projetar um algoritmo que compare datas para ordenar ou filtrar, qual tipo de variável é mais apropriado para o campo 'data'?
- A) Utilizar um formato de data como 'AAAA-MM-DD'.
- B) Usar um tipo booleano que indique se a data é válida.
- C) Usar um tipo texto para o campo 'data'.
- D) Usar um tipo data/datetime ou representar a data como número (timestamp) em vez de texto.
- E) Usar um número inteiro para o campo, representando dia do mês.
✅ Resposta correta: alternativa D
Resolução passo a passo
- O problema pede o tipo de variável mais adequado para um campo de data que será usado em comparações (ordenar ou filtrar registros). Passo 2: Ao comparar datas guardadas como texto no formato DD/MM/AAAA, a comparação feita caractere a caractere ordena incorretamente, pois '01/12/2023' viria antes de '15/01/2022'. Passo 3: Um tipo data/datetime, ou a representação em timestamp (número de segundos ou dias desde uma data de referência), permite comparar, ordenar e calcular intervalos diretamente, com a ordem cronológica correta e validação embutida. Passo 4: Por isso a alternativa D é a correta, e o gabarito oficial coincide com essa conclusão. Passo 5: A alternativa A é uma solução parcial: o formato AAAA-MM-DD torna a ordenação textual correta, mas o campo continua sendo texto e perde as operações nativas de data. Passo 6: A alternativa B está errada porque um booleano só indica sim ou não e não guarda a informação da data. Passo 7: A alternativa C está errada porque manter o tipo texto é justamente o problema que se quer evitar. Passo 8: A alternativa E está errada porque um inteiro que representa só o dia do mês perde mês e ano, impedindo comparar datas diferentes.
💡 Dica: Considere o tipo de variável que melhor representa uma data.
Alternativa por alternativa
Acredita que basta mudar a ordem dos elementos do texto para resolver a comparação, sem perceber que o campo continua sendo texto e não ganha as operações próprias de data.
Confunde validação de dados com o próprio armazenamento da informação, supondo que um campo booleano pode representar a data em si.
Acha que, como a data já está escrita como texto no formato dia/mês/ano, o tipo texto é suficiente para comparar datas, ignorando que a ordem alfabética não corresponde à ordem cronológica.
Por que engana: Escolher um tipo de variável inadequado, como texto, para manipulação de datas, o que pode dificultar operações de comparação e ordenação.
Tipos de data nativos ou timestamps permitem comparações e ordenações corretas sem ambiguidade de formato; strings podem ordenar incorretamente ('02/01' > '10/12').
Imagina que o dia do mês é a informação central para comparar datas e não percebe que mês e ano também são necessários para determinar a ordem cronológica.
Raio-X da questão
tipos de variáveis
avaliacao
tipos de variáveis · formato de dados
Revisar os tipos de variáveis em programação e suas aplicações.
Escolher um tipo de variável inadequado, como texto, para manipulação de datas, o que pode dificultar operações de comparação e ordenação.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Em um algoritmo que percorre uma matriz 'vendas', cada registro tem campo 'valor' monetário. Qual tipo de variável é…
- Em um algoritmo que armazena registros de clientes em uma matriz, cada registro tem um campo 'email'. Qual tipo de…
- Em um registro que armazena o CPF de usuários, qual tipo de variável é mais apropriado para o campo 'CPF' em um…
- Em um algoritmo que armazena o mês de nascimento dos alunos em uma variável com valores fixos (janeiro...dezembro), qual…
- Em uma matriz de registros 'estoque', cada registro possui o campo 'quantidade' que indica o número de unidades. Em um…
- Ao programar um sistema de cadastro, você deve escolher o tipo de dado para armazenar a idade dos usuários. Qual seria a…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
