·

Ciência da Computação ·

Estrutura de Dados

Send your question to AI and receive an answer instantly

Ask Question

Preview text

UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Profs Ivan Alcântara de Oliveira e Jean M Laine Estruturas de Dados II Laboratório Aplicação 1 Análise de Dataset de Remuneração de Funcionários Públicos da Prefeitura de São Paulo Introdução a Data Science com Estruturas de Dados1 Considerando as etapas do ciclo de vida de Data Science ilustradas na Figura 1 AWARI 2022 temos a etapa Data Exploration Exploração dos Dados ou podemos dizer Compreensão dos Dados na qual o cientista de dados faz uso de diversas técnicas de análise de dados estatística e visualização para explorar o conjunto de dados obtido para melhor compreendêlo e posterior realização da engenharia de atributos e criação da predição propriamente dita Figura 1 Ciclo de Vida de Ciência de Dados Fonte httpsawaricombrtudosobrecienciadedados Data da Consulta 03022023 Segundo Facelli 2021 a análise das características presentes em um conjunto de dados permite a descoberta de padrões e tendências que podem fornecer informações valiosas que ajudem a compreender o processo que gerou os dados Assim na Aplicação 1 faremos o uso da Estrutura de dados Árvore de Busca Binária BST para realizar algumas análises no conjunto de dados dataset de Histórico de Remuneração dos Servidores Ativos da Prefeitura de São Paulo remuneracao012023aticriacao20230125xlsx tendo por base o pagamento realizado no mês de janeiro de 2023 e originalmente encontrada no endereço httpdadosprefeituraspgovbrdatasetremuneracaoservidoresprefeituradesaopaulo Data da 1 Baseado no trabalho de semestres anteriores da profa Dra Valéria Farinazzo Martins Mackenzie UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Profs Ivan Alcântara de Oliveira e Jean M Laine Estruturas de Dados II Laboratório consulta 25022023 Sugestão ao obter o dataset fazer uso do excel para converter de xlsx para csv para fazer a leitura em C de cada objeto registro como linha de um arquivo texto Originalmente essa base de dados contém 13 colunas atributos e 123812 linhas objetos Alguns dos seus atributos são Nome Completo Cargo Base Cargo em Comissão Remuneração Bruta Unidade Logradouro e Jornada Tenha em mente que nem todos os atributos precisam fazer parte do arquivo a ser lido isso depende de quais tipos de análises o grupo pretende fazer mas a chave deve ser o Nome Completo Obs Por simplificação caso haja dois nomes iguais no momento da inserção desprezar o 2º nome e não inserir na árvore Então elaborar um programa contendo opções de um menu para 1 Leitura dos dados no qual o arquivo original deve ter sido mapeado para um arquivo contendo os atributos relevantes para o grupo ler e montar a árvore BST Pensar na melhor forma de montar a estrutura de dados e o que carregar nela Forneça ao usuário a opção de leitura do nome do arquivo de dados a ser lido 2 Cinco opções contendo métodos para análise de dados como buscar o nome das pessoas com o maior e menor salário apresentar o montante gasto com os salários de um tipo de cargo eou outras questões pertinentes para análise de dados Cada grupo irá planejar as questões que deseja responder sobre os dados mapeados na estrutura montada Com os resultados obtidos em cada um dos cinco métodos apresentar uma descrição textual eou criar tabelasgráficos ou outros recursos que julgar pertinentes para demonstrar esses resultados É necessário utilizar adaptações dos três métodos de percurso préordem em ordem simétrica e pósordem em pelo menos três das opções Outro ponto importante é CONSIDERE variações de tipos de análises diferentes Você será avaliado nesse aspecto também ok Análises muito parecidas não agregam nada de conhecimento útil Pense nisso 3 Insere funcionário os dados de um novo funcionário devem ser inseridos em um novo nó da árvore 4 Remove funcionário o nó da árvore correspondente e os seus dados devem ser removidos 5 Salva dados salva os dados atualmente armazenados na árvore em disco Forneça a opção ao usuário de informar o nome do arquivo de gravação é permitido gravar os novos dados no arquivo já existente Obs Não utilizar o percurso em ordem simétrica para salvar os dados 6 Encerra a Aplicação os dados alocados são liberados e a aplicação desenvolvida é finalizada Observações 1 O trabalho pode ser feito por grupos de até 5 pessoas 2 Um único aluno do grupo deverá publicar o trabalho no Moodle 3 Deverá ser entregue um relatório com os resultados da Atividade Aplicação 1 deste projeto com base no Template disponibilizado contendo Dados dos integrantes do grupo nome e TIA UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Profs Ivan Alcântara de Oliveira e Jean M Laine Estruturas de Dados II Laboratório Decisões relativas ao dataset por exemplo remoção de objetos motivo eliminação de colunas atributos motivos outros Informações e detalhes sobre as cinco opções selecionadas pelo grupo para análise Printscreen de testes de execução das opções do menu Ao menos 2 testes de cada opção se for permitido caso contrário basta um único teste da opção O relatório deve conter ao seu final um Apêndice contendo o código fonte desenvolvido separado por arquivos se for o caso Em cada arquivo inserir o um cabeçalho comentário com as identificações completas de todos os membros do grupo o Documentação adequada e inclusão de comentários úteis e informativos 4 Junto ao relatório também devem ser entregues os códigos fontes em C e o dataset utilizado contendo as modificações realizadas pelo grupo A entrega deve ser realizada na data limite 29 de março até as 23h59min 5 Deverá ser realizada uma apresentação do projeto no dia 30 de março no horário da aula O grupo deverá apresentar o processo de construção da solução do seu projeto resultados obtidos e testes do menu de opções no tempo máximo de 6 seis minutos O projeto será avaliado de acordo com os seguintes critérios Completude clareza e ausência de erros de linguagem no relatório Funcionamento correto da Aplicação O trabalho deve ser desenvolvido na linguagem C e será testado usando o compilador do Dev C O quão fiel é o programa quanto à descrição do enunciado Indentação comentários e legibilidade do código Clareza na nomenclatura de variáveis e funções Apresentação realizada com clareza conhecimento e cumprimento do tempo estabelecido Para auxiliar na documentação do código e entendimento do que é um programa com boa legibilidade siga as dicas apresentadas nas páginas abaixo httpwwwimeuspbrpfalgoritmosaulaslayouthtml httpwwwimeuspbrpfalgoritmosaulasdocuhtml Como este trabalho pode ser feito em grupo evidentemente você pode discutir o problema dado com outros grupos inclusive as dicas para chegar às soluções mas você deve ser responsável pela solução final e pelo desenvolvimento da sua aplicação Um vídeo ilustrativo sobre a leitura de um arquivo texto e montagem em uma estrutura em C pode ser encontrado em AlgoritmosAZ CC 2019 UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Profs Ivan Alcântara de Oliveira e Jean M Laine Estruturas de Dados II Laboratório O dataset obtido do site da prefeitura segue dentro da nossa disciplina no Moodle para seu uso e modificação Porém quem desejar pode obter do próprio site conforme detalhes informados anteriormente Com a finalidade de auxiliar a manipulação de arquivos seguem exemplos simples de código cm C a Salvar dados em um arquivo texto include fstream using namespace std int main ofstream foutTestetxt fout Exemplo 1 salvando em arquivo endl fout Pratique endl return 0 b Ler dados de um arquivo texto include fstream include iostream using namespace std const int MAX 80 int main char bufferMAX ifstream finTestetxt while fineof fingetlinebuffer MAX cout buffer endl return 0 Referências AlgoritmosAZ CC Ler arquivo e armazenar em uma struct em C 2019 Vídeo encontrado em httpswwwyoutubecomwatchvUTFw9SY42bY Data da consulta 03022023 AWARI Tudo sobre Ciência de Dados o que é como funciona e qual sua importância Fevereiro 2022 Endereço httpsawaricombrtudosobrecienciadedados Data da Consulta 03022023 FACELI Katti et al Inteligência artificial uma abordagem de aprendizado de máquina 2ª Edição Rio de Janeiro LTC Livros Técnicos e Científicos 2012 Endereço da biblioteca do Mackenzie httpsappminhabibliotecacombrreaderbooks9788521637509epubcfi623Bvndvstidref3D cover42240513 Data da consulta 08022023 UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática Profs Ivan C A de Oliveira e Jean M Laine Estruturas de Dados II Laboratório Relatório da Aplicação 1 Análise de Dataset de Remuneração de Funcionários Públicos da Prefeitura de São Paulo Nome do Integrante ordem alfabética TIA Conteúdo do Relatório