Projete um algoritmo em pseudocódigo que receba um vetor de registros 'colaboradores' (campos: id, nome…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Aplicar a estratégia de decomposição para resolver problemas complexos, dividindo esse problema em partes menores, resolvendo-as e combinando suas soluções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete um algoritmo em pseudocódigo que receba um vetor de registros 'colaboradores' (campos: id, nome, setor, salario) e um vetor de registros 'promocoes' (campos: id, aumentoPercentual). O algoritmo deve: 1) atualizar o campo salario dos colaboradores correspondentes; 2) contar quantas promoções foram aplicadas por setor; 3) retornar um vetor de registros 'resumo' (campos: setor, totalPromocoes). Descreva a estrutura de dados, a lógica de busca por id e o fluxo de atualização, considerando eficiência e uso de matrizes unidimensionais.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Resposta modelo (pseudocódigo e justificativa): Estrutura: vetor colaboradores[0..n-1] de registros {id,nome,setor,salario}; vetor promocoes[0..m-1] de registros {id,aumentoPercentual}; vetor resumoMap (associação setor?total) implementado como vetor de registros {setor,totalPromocoes} ou tabela simples. Pseudocódigo: inicializar resumoMap vazio para cada p em promocoes: idp ? p.id aumento ? p.aumentoPercentual i ? buscarÍndicePorId(colaboradores, idp) // busca linear ou índice auxiliar se i ? -1 então colaboradores[i].salario ? colaboradores[i].salario * (1 + aumento/100) setor ? colaboradores[i].setor resumoMap[setor].totalPromocoes ? resumoMap[setor].totalPromocoes + 1 fim se fim para construir vetor resumo a partir de resumoMap retornar resumo Busca e eficiência: se m e n forem pequenos, busca linear (percorrer colaboradores) é suficiente (O(m·n)). Para maior eficiência, construir um índice auxiliar (por exemplo, vetor de pares id?índice ou tabela de dispersão) antes do loop de promoções, reduzindo a busca a O(1) e total para O(n + m). Justificativa: usa apenas vetores unidimensionais de registros, atualiza campos diretamente nos registros do vetor, e agrega contagens por setor em outro vetor de registros, atendendo requisitos de atualização e relatório.
Explicação
A solução proposta utiliza estruturas de dados adequadas para armazenar as informações dos colaboradores e das promoções, permitindo uma atualização eficiente dos salários e a contagem das promoções por setor. A lógica de busca por ID é otimizada através da possibilidade de implementar um índice auxiliar, reduzindo o tempo de busca. Além disso, a construção do vetor resumo a partir de um mapa de associações garante que as informações sejam organizadas e acessíveis de forma clara.
Raio-X da questão
algoritmo em pseudocódigo
avaliacao
estrutura de dados · algoritmos em pseudocódigo
Revisar conceitos de vetores e estruturas de dados em programação.
O aluno pode confundir a lógica de atualização do salário com a contagem de promoções, não separando corretamente as duas operações no algoritmo.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Projete um algoritmo em pseudocódigo que recebe dois vetores unidimensionais de registros 'estoqueA' e 'estoqueB' (cada…
- Projete um algoritmo em pseudocódigo que utilize um vetor (matriz unidimensional) de registros para gerenciar a escala…
- Projete um algoritmo em pseudocódigo que receba um vetor de registros 'estudantes' (campos: nome, notas[3]) e retorne um…
- Desenvolva um algoritmo em pseudocódigo que processe um vetor de registros 'emprestimos' (campos: idAluno…
- Elabore um algoritmo em pseudocódigo que, dado um vetor 'alunos' de registros onde cada registro tem campos 'nome'…
- Projete em pseudocódigo um algoritmo que recebe uma matriz de registros 'alunos' (linhas = turmas, colunas = posições)…
🔎 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
