"Atualmente, o Brasil passa por um momento nunva visto na história do país, no
qual esquemas de corrupção vêm sendo escancarados para toda a sociedade
brasileira. Bom saber que corruptos estão sendo presos por seus atos ilícitos. no
entando, por outro lado, é triste saber que há muito tempo o dinheiro públido é
surrupiado dos nossos bolsos para encherem os bolsos de corruptos. O Brasil é a
quarta nação mais corrupta do mundo, segundo o índice de corrupção do Fórum
Econômico Mundial. O país está atrás apenas do Chade, da Bolívida e da Venezuela.
que lidera o ranking.¹
Diante de tantos esquemas sendo descobertos pela olícia Federal (PF). e consequentemente, com a quantidade de informações que estão sendo reveladas. a Polícia Federal está precisando de um sistema computacional para armazenar, organizar e gerar informações relevantes para as investigações.
O Diretor do setor de Inteligência da PF é um ex-aluno do curso de Engenharia de Computação da UEFS,e sabendo da qualidade do nosso curso, solicitou aos professores do MI de Algoritmos o desenvolvimento deste sistema, sendo assim esta será a proxima tarefa deste MI."
Vale destacar que esse problema foi desenvolvido em 2017. E por esse motivo as informações aqui presentes podem não condizer com a situação atual do Brasil.
"De acordo com as investigações da PF. as propinas eram pagas em parcelas aos políticos corruptos pelas empresas, para conseguirem vantagens no processo de licitação de grandes obras. No entanto, os políticos cobravam juros compostos do valor solicitados."
Diante dessa informação o sitema deverá:
Requisito nº | Descrição | Status |
---|---|---|
01 | Calcular para cada politico, o montante (considerando uma taaxa de juros e o número de parcelas) a ser recebido de cada empresa. | ✅ |
02 | Calcular o valor total recebido por cada político (considerando os juros). | ✅ |
03 | Calcular o valor total de propina paga de cada empresa. | ✅ |
04 | Informar qual foi o político que mais recebeu propina, o total de propina recebida (com e sem juros) e o juros recebido. |
✅ |
05 | Informar qual foi o político que menos recebeu propina, o total de propina recebida (com e sem juros) e o juros recebido. |
✅ |
06 | Informar qual foi a empresa que mais pagou propina, o total de propina paga (com e sem juros) e o juros pago. |
✅ |
07 | Informar qual foi a empresa que menos pagou propina, o total de propina paga (com e sem juros) e o juros pago. |
✅ |
08 | Informar qual foi a média de propina recebida por cada político . |
✅ |
09 | Informar qual foi a média de propina paga por cada empresa . |
✅ |
- Um sistema bem modularizado e que não faz uso de variáveis globais e que atenda os requisitos básicos, usando a linguagem de programação C.
- Um Relatório conforme o modelo e instrução disponibilizados pelo tutor.
- Leitura e escrita de arquivos em C.
- Operações aritiméticas com matrizes e vetores.
- Modularização, Funções e procedimentos.
- Cálculo de juro composto.
Caso tenha interesse em mais detalhes recomendo fortemente que olhe o relatório nele você poderá encontrar todos os detalhes de implementação da leitura, validação e geração dos arquivos.
O arquivo de entrada deve seguir o seguinte padrão:
Nº da linha | Descrição | Tipo |
---|---|---|
01 | Valor correspondente a taxa de juros | float |
02 | Número de políticos que receberam propina | int |
03 | Número de empresas | int |
A partir da terceira linha, deve existir uma matriz com valores que correspondem ao valor da propina paga pelas empreas. Essa matriz deve seguir os segintes requisitos:
Nº da coluna | Descrição | Tipo |
---|---|---|
01 | Identificação do político | int |
n | Valores das propinas pagas | float |
Em seguida deve existir outra matriz que indica quantas parcelas cada propina foi paga, cada linha dessa matriz corresponde a uma linha da matriz anterior.
Segue abaixo uma imagem com o padrão do arquivo de entrada.
A imagem abaixo corresponde ao padrão do arquivo de saída esperado para a entrada apresentada anteriormente.
Imagem retirada do descritivo do problema.
- Particionar as matrizes e multplicar blocos menores por vez a fim de reduzir a quantidade de acesso a memória RAM e consequentemente aumentar a velocidade das operações. mais detalhes
- Renomar algumas variáveis como por exemplo o vetor JPDNE. (Fazia sentido na época kkkk).
- Inserir bibliotecas necessárias para o bom funcionamento do software em sistemas operacionais baseado em Linux.
- O nome do repositório é uma referência e tem como objetivo ser diferente e chamativo. Por favor, julge o código e não minha habilidade em fazer referências. Taokey?.
- Há um cálculo que está errado mas pode dá o resultado correto em uma determinada situação. (Gostaria de saber qual é? Descobriu? Manda um oi e vamos conversar sobre).
- Ao olhar as versões anteriores verá que durante muito tempo digitei "propina" errado.
- Há uma coisa que descobrir para validar o arquivo de entrada que me deixou muito orgulhoso. Caso tenha curiosidade dê uma olhada na sessão
2.3.4
do relatório. - Os códigos na pasta de versões anteriores possuem uma descrição que lista as diferenças entre a versão atual e a anterior.
- Antes de escolher esse nome para o repositório fiquei na dúvida entre
trabalhei-na-PF
eonde-foi-meu-money
. - Aceito sugestões de como fazer os links "Problema anterior" e "Proximo problema" ficarem separados de forma responsiva.
⬅️ Problema anterior | ............................... ⬆️ Voltar ao topo ⬆️ ............................... | Próximo problema ➡️ |
---|