Escreva em pseudocódigo um procedimento que receba três entradas textuais: uma que deve representar um…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Escreva em pseudocódigo um procedimento que receba três entradas textuais: uma que deve representar um inteiro, outra um número real e outra uma data; converta cada entrada para o tipo adequado com verificação de erros e retorne os valores convertidos ou mensagens de erro.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Procedimento ConverterEntradas(strInt, strReal, strDate): // inicializa resultados inteiro := null; real := null; data := null erros := lista vazia // inteiro: remover espaços e verificar dígitos s := trim(strInt) se matches(s, "^[+-]?\d+$") então inteiro := parseInt(s) senão adicionar(erros, "inteiro inválido") fimse // real: normalizar vírgula para ponto, verificar formato r := trim(strReal) r := replace(r, ',', '.') se matches(r, "^[+-]?\d+(\.\d+)?$") então real := parseFloat(r) senão adicionar(erros, "real inválido") fimse // data: aceitar formato dd/mm/aaaa e verificar componentes d := trim(strDate) se matches(d, "^\d{1,2}/\d{1,2}/\d{4}$") então partes := split(d, '/') dia := toInt(partes[0]); mes := toInt(partes[1]); ano := toInt(partes[2]) se validaData(dia,mes,ano) então data := makeDate(ano,mes,dia) senão adicionar(erros, "data inválida") fimse senão adicionar(erros, "formato de data inválido") fimse retornar {inteiro: inteiro, real: real, data: data, erros: erros} Explicação: remover espaços e normalizar sinais (vírgula->ponto) evita falhas de parse; expressões regulares verificam formato antes da conversão; validação adicional (faixas, dias por mês, anos) garante integridade; retornar lista de erros permite tratamento posterior sem interromper o algoritmo.
Explicação
A solução apresentada realiza a verificação de formato e integridade dos dados antes da conversão, o que minimiza erros durante o processamento. O uso de expressões regulares e validações específicas garante que apenas dados válidos sejam aceitos, aumentando a robustez do procedimento. Além disso, a coleta de mensagens de erro permite que o usuário identifique e corrija entradas inválidas sem interromper o fluxo do programa.
Raio-X da questão
tipos de dados e conversão
avaliacao
tipos de dados em programação · conversão de tipos
Revisar conversão de tipos de dados e tratamento de erros em pseudocódigo.
O aluno pode confundir a conversão de tipos, tentando tratar uma string como um número sem verificar se é um valor válido.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Descreva um algoritmo que receba três variáveis: 'score' (nota com casas decimais), 'respondeu' (indicador) e 'datahora'…
- Em pseudocódigo, escreva um algoritmo que receba uma lista de valores mistos (cada elemento pode ser inteiro, real ou…
- Descreva um algoritmo para validar, normalizar e escolher tipos de dados ao receber formulário com 'nome', 'telefone'…
- Identifique quais são as entradas e saídas do seguinte problema: Um programa que calcula a média de três notas.
- Escreva um pseudocódigo que receba três números e devolva o maior entre eles. Inclua uma breve explicação de como o…
- Projete um algoritmo em pseudocódigo que receba uma lista de registros de alunos (campos: nome, idade, nota) como dado…
🔎 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
