"No MI de Algoritmos, ao londo do semestre, são apresentados aos estudantes desta disciplina no mínimo três problemas. O arquivamento adequado das informações referentes aos problemas aplicados se faz importante, dentre outras questões, para se manter um histórico do que foi realizado em cada semestre e para facilitar o processo de consulta por parte de antigos e novos professores, com o objetivo de melhorar os processos e a elaboração de novos problemas. Com o rodízio de professores que atuaram no MI de Algoritmos nos últimos anos, aliado a falta de um sistema de informação que permita o cadastro e consulta destes problemas, muito do histórico dos problemas ficou segmentado nos arquivos pessoais dos professores que participaram do processo ao longo do tempo.
Felizmente, parte do acervo de problemas foi recuperado e, atualmente, encontra-se
armazenado em um arquivo de texto. Esse arquivo de texto possui as seguintes
informações a respeito dos problemas: Semestre
, Número
, Ano
, Título
e
Descritivo
. Agora os professores desejam um sistema capaz de realizar leitura
desse arquivo de texto e que forneça capacidades mínimas de manipulação das
informações.
Os professores do MI de Algoritmos, sabendo da experiência e do comprometimento dos alunos na solução de problemas, decidiram solicitar a participação destes na construção de um sistema capaz de atender a essa necessidade dos professores."
O Sistema deve atender os seguintes requisitos:
Requisito nº | Descrição | Status |
---|---|---|
01 | Os dados deverão ser lidos de apenas um arquivo de texto. Os dados poderão está desorganizados. | ✅ |
02 | O usuário pode consultar todos os problemas de um determinado semestre, ou um problema de um determinado semestre. | ✅ |
03 | O usuário pode cadastrar novos problemas. | ✅ |
04 | Exportar um arquivo de saída com todos os problemas em ordem decrescente. | ✅ |
05 | Os problemas repetidos deverão ser removidos durante a ordenação | ✅ |
- Ponteiros.
- Alocação dinâmica.
- Structs e typedef.
- Lista encadeada.
- Inserção ordenada de um nó.
- Ordenação.
- Tentei fazer algo semelhante a um índice invertido com árvore binária para resolver esse problema. Mas isso era matar formiga com uma bazuca e meu sonho de fazer coisas mirabulantes com árvore binária só se realizou no 3º PBL do MI de algoritmos II.
- Ainda pensando em matar formiga com bazuca. Pensei em implementar o quicksort para ordenar os problemas, mas acabei usando uma inserção ordenada :). Esse por sua vez foi implementado no 2º PBL do MI de algoritmos II.
- Esse foi o último problema do MI de algoritmos I.
- Tirei 9.4 na média final do MI, mas perdi na disciplina teórica.
⬅️ Problema anterior | ............................... ⬆️ Voltar ao topo ⬆️ ............................... | Próximo problema ➡️ |
---|