Prévia do material em texto
Desafio Prático da Unidade 3 . Desenvolva um algoritmo usando o DEV C++ para resolução do Desafio EcoTecUNIFTEC proposto. ATIVIDADE É INDIVIDUAL - A entrega do programa deve ser realizada como um anexo do arquivo desenvolvido, o arquivo .C ou .Cpp gerado pelo DEV C++. NÃO será aceito a entrega de um arquivo em pdf e nem em forma de imagem, e não em outra ferramenta ou linguagem. SE FOR REALIZADA NESSE FORMATO, OU TRABALHOS IGUAIS OU MUITO PROXIMOS OU NÃO SEGUINDO AS ESPECIFICAÇÕES DE FERRAMENTA ->> A ATIVIDADE SERÁ ZERADA! Peso da atividade avaliativa : 2,5 A pontuação da atividade será distribuída da seguinte forma: - Definições das variáveis, Entrada de dados e Validação das entradas – 0,3 pontos - Cálculo e impressão da Gamificação das Doações e Engajamento – 1,0 ponto - Cálculos e impressão dos cálculos e estatísticas das doações – 1,2 pontos Desafio EcoTecUNIFTEC: Conectando Sustentabilidade à Tecnologia O descarte incorreto de resíduos eletrônicos é um dos grandes desafios ambientais da atualidade. Aparelhos como celulares, televisores, computadores, pilhas e eletrodomésticos contêm substâncias tóxicas que, quando descartadas de forma inadequada, contaminam o solo, a água e colocam em risco a saúde pública. Ao mesmo tempo, esses resíduos são ricos em materiais valiosos como cobre, alumínio e até ouro, que podem ser reciclados e reinseridos na cadeia produtiva, reduzindo o consumo de recursos naturais e promovendo a economia circular. No Brasil, a reciclagem de eletrônicos ainda enfrenta grandes obstáculos, como a falta de conscientização, a ausência de logística reversa eficiente e a baixa participação da população. Por isso, ações locais de coleta, triagem e conscientização são fundamentais para mudar esse cenário. Pensando nisso, as Unidades do Centro Universitário Uniftec e seus polos EAD estão organizando uma campanha de arrecadação de resíduos eletrônicos junto aos seus alunos dos cursos de T.I., como forma de sensibilizar a comunidade acadêmica e a comunidade no entorno sobre a importância do descarte consciente. Os produtos coletados serão classificados em cinco categorias e analisados por meio de um sistema desenvolvido pelos próprios alunos, que serão responsáveis por registrar e monitorar os dados das doações, assim como encaminhar para a AMBE, parceira da coleta , para o destino correto dos materiais coletados. Essa é uma oportunidade de aplicar o conhecimento técnico em prol da sustentabilidade, estimulando o protagonismo estudantil e o compromisso social da instituição com o meio ambiente e a sociedade. A instituição necessita de auxílio para gerenciar a quantidade de produtos que serão coletados . Assim, desenvolva uma solução em Linguagem C, utilizando a IDE DEV C++ estudada na disciplina, para gerenciar as doações de resíduos eletrônicos de diferentes categorias, assim como, gerar alguns dados estatísticos da coleta e do perfil dos doadores, visando promover o descarte correto e o reaproveitamento sustentável desses materiais. O programa deverá ser capaz de cadastrar doações informando o código da categoria do produto eletrônico que será doado e a quantidade doada em kg. A entrada será armazenada em uma matriz de até 1000 linhas e 2 colunas, onde cada linha representa uma doação e as colunas representam o código da categoria e a quantidade doada em kg da respectiva categoria. Como parte da gamificação do projeto, para cada doação, o doador receberá uma classificação com base na quantidade doada em kg. Isso permitirá ao sistema identificar diferentes níveis de engajamento ambiental, promovendo uma identificação saudável e conscientizadora dos seus doadores. • Categorias de Produtos Eletrônicos As categorias aceitas e seus devidos códigos(número inteiro) são: 1. Linha Branca (ex: geladeiras, fogões, máquinas de lavar) 2. Linha Marrom (ex: televisores, rádios, DVDs) 3. Linha Azul (ex: celulares, tablets, notebooks) 4. Linha Verde (ex: placas eletrônicas, cabos, componentes) 5. Pilhas e Baterias • Requisitos do Programa O programa deve conter as seguintes funcionalidades: a) Definir a matriz 1000 x 2 de float para armazenar até 1000 doações. b) Solicitar ao usuário a leitura da quantidade de doações que deseja cadastrar (variável N) e validar se N está entre 1 e 1000, usando o laço do...while para a validação. c) Leitura da matriz para as N doações • Utilize um laço for para receber os dados lidos das N doações na matriz. • Cada linha da matriz conterá 2 colunas que serão lidas: o Coluna 1 – receberá o Código da categoria (inteiro entre 1 e 5) – deve ser validado para não aceitar códigos diferentes. Deve ser lido até o valor estar correto. Utilize laço do..while para a validação da leitura. o Coluna 2 – receberá a Quantidade doada (em kg) . Na leitura deve aceitar somente valores positivos >= 0 . Validar com o laço do..while d) Gamificação das Doações – Regras por Faixa de Peso e Estatísticas de Engajamento • A ideia é identificar virtualmente os participantes com “níveis de doador”, com base na quantidade de quilos doados em cada entrada • Cada doação (linha da matriz) , o doador deve ser classificado com base na quantidade de kg doada e a descrição/mensagem deve ser impressa para cada doação, de acordo com os seguintes critérios: Faixa de Doação (kg) Nível de Doador Descrição / Mensagem até 5 kg Iniciante Verde Você é um Iniciante Verde acima de 5 até 20 kg Contribuinte Sustentável Você é um Contribuinte Sustentável Faixa de Doação (kg) Nível de Doador Descrição / Mensagem acima de 20 até 50 kg Agente Ecológico Você é um Agente Ecológico acima de 50 Guardião do Planeta Você é um Guardião do Planeta • Estatísticas de Engajamento: contabilize quantos doadores foram registrados em cada um dos níveis, conforme tabela acima. Imprima no final a quantidade de doadores conforme cada nível de Doador. Ex: Total de Iniciante Verde - xxx Total de Contribuinte Sustentável - xxx Total de Agente Ecológico : xxx Total de Guardião do Planeta : xx e) Calcule e imprima o total arrecadado e também por categoria. • Crie um vetor totais[5] do tipo float e inicialize com zero. • Some e armazene no vetor o total de Kg doados em cada uma das categorias correspondentes. Imprima o total armazenado no vetor. o Cada posição do vetor representa a soma total de uma determinada categoria: ▪ totais[0] → soma de todos os produtos doados da Categoria 1 ▪ totais[1] → soma de todos os produtos doados da Categoria 2 ▪ totais[2] → soma de todos os produtos doados da Categoria 3 ▪ totais[3] → soma de todos os produtos doados da Categoria 4 ▪ totais[4] → soma de todos os produtos doados da Categoria 5 • Imprima o total geral arrecadado de todas as categorias juntas. • Para cada categoria do vetor, calcule e imprima o seu percentual em relação ao total arrecadado. f) Identifique a categoria mais doada e a menos doada. • Após o cálculo dos totais, identifique e imprima qual categoria teve a maior e qual teve a menor quantidade total arrecadada em Kg, com o código da categoria e o valor em Kg. ====================================================== Abaixo segue uma sugestão para você testar o seu programa, lembrando que os dado do N e os dados das 2 colunas da matriz devem ser lidos como dados de entrada, o restante deve ser calculado pelo programa. Exemplo para Teste do Programa : Dados de Entrada: N = 7 ( exemplo para teste com 7 doações) Cadastro das doações na matriz. Código da Categoria Kg Doados Nível do Doador – deve imprimir na tela a frase para cada doação realizada- conforme perfil do doador - não precisa armazenar na matriz essa coluna. 1 51 Guardião do Planeta 5 0,5 Iniciante Verde 1 60 Guardião do Planeta 3 10 Contribuinte Sustentável 2 50 Agente Ecológico 4 20 Contribuinte Sustentável 5 1,0 Iniciante VerdeExemplo de Saída dos cálculos se os dados de entrada forem os apresentados acima: Totais por categoria de Produto: Categoria 1 : 111.00 kg – 57.66 % Categoria 2 : 50.00 kg – 25.97% Categoria 3 : 10.00 kg – 5.19% Categoria 4 : 20.00 kg – 10.39 % Categoria 5 : 1.50 kg – 0.78% Categoria mais doada: 1 - com 111.00 kg Categoria menos doada: 5 - com 1.50 kg Totais de doadores - por Nível de Doador: Total de Doadores - Iniciante Verde : 2 Total de Doadores - Contribuinte Sustentável : 2 Total de Doadores - Agente Ecológico : 1 Total de Doadores - Guardião do Planeta : 2