Em um sistema brasileiro de transporte público, o software de um cartão de passagem precisa reagir a…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Usar autômatos para descrever comportamentos de forma abstrata automatizando-os através de uma linguagem de programação baseada em eventos.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em um sistema brasileiro de transporte público, o software de um cartão de passagem precisa reagir a diferentes situações: cartão válido, saldo insuficiente, cartão bloqueado e passagem liberada. Para organizar esse comportamento, a equipe representa cada situação como um estado e define transições entre elas conforme os eventos recebidos, como a aproximação do cartão ou a confirmação do pagamento. Essa representação é um exemplo de autômato e ajuda a prever como o sistema deve reagir a cada entrada, inclusive em aplicações com muitas regras e possibilidades de interação. Com base no texto, qual é a importância do uso de autômatos na programação de sistemas complexos?
- A) Eliminam testes ao prever todas as entradas.
- B) Organizam estados e transições para representar comportamentos.
- C) Reduzem códigos apenas por aumentar processamento.
- D) Substituem algoritmos gerais por regras automáticas.
- E) Convertem qualquer problema em sequência linear.
✅ Resposta correta: alternativa B
Resolução passo a passo
- O texto descreve um cartão de transporte cujas situações (válido, saldo insuficiente, bloqueado, liberada) são tratadas como estados, e os eventos (aproximação, confirmação do pagamento) provocam transições entre eles. Isso é exatamente a representação de um autômato.
- O texto diz que essa representação ajuda a prever como o sistema reage a cada entrada, sobretudo em sistemas com muitas regras. A importância, portanto, está em organizar estados e transições para representar e prever o comportamento do sistema.
- A alternativa B expressa exatamente essa ideia, sendo a correta e coincidindo com o gabarito oficial.
- A alternativa A está errada porque o texto não diz que autômatos eliminam testes; apenas ajudam a prever reações, o que não dispensa verificação.
- A alternativa C está errada porque o texto não associa autômatos a redução de código ou aumento de processamento.
- A alternativa D está errada porque autômatos não substituem algoritmos gerais; são um modelo de comportamento por estados.
- A alternativa E está errada porque o texto mostra justamente um comportamento não linear, com estados e transições condicionadas a eventos.
💡 Dica: Considere exemplos de sistemas complexos ao responder.
Alternativa por alternativa
O aluno pode ter supervalorizado a ideia de previsibilidade e concluído que, se todas as entradas são previstas, não são mais necessários testes. O texto fala em prever a reação, não em dispensar verificação.
O autômato descreve as situações possíveis de um sistema e as mudanças entre elas a partir de determinadas entradas. Assim, torna mais clara e previsível a programação de comportamentos complexos, sem substituir algoritmos gerais nem eliminar a necessidade de testes.
O aluno pode ter associado autômatos a otimização de desempenho e código mais enxuto, algo que o texto não menciona.
O aluno pode ter entendido 'autômato' como sinônimo de automação genérica que substitui algoritmos, confundindo o conceito de modelo de estados com algoritmos em geral.
O aluno pode ter imaginado que um modelo organizado por passos sequenciais seja a forma de resolver qualquer problema, ignorando que o texto descreve reações condicionadas a eventos, ou seja, não lineares.
Por que engana: Achar que autômatos substituem algoritmos ou eliminam testes, confundindo suas funções.
Raio-X da questão
autômatos na programação
avaliacao
conceito de autômatos · fundamentos de programação
Revisar a teoria sobre autômatos e sua aplicação em sistemas complexos.
Achar que autômatos substituem algoritmos ou eliminam testes, confundindo suas funções.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Quais elementos são essenciais para construir um programa baseado em eventos utilizando autômatos?
- Qual a principal vantagem de utilizar autômatos em programação baseada em eventos?
- Pesquisadores testam modelo de semáforo que responde a eventos para estudar fluxo de veículos. Para controlar o…
- Explique como um autômato pode ser utilizado para automatizar a coleta de dados em um sistema de programação baseado em…
- Um cientista da computação usa um autômato para prever padrões de dados. Qual a importância desse método?
- Identifique a principal função de um autômato em uma linguagem de programação baseada em eventos.
Todas as questões de Programação - Autômatos e linguagens baseadas em eventos
🔎 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
