Prévia do material em texto
Conclusão Você foi encarregado de resolver um problema em seu novo emprego, que consiste em criar um programa para descobrir quantos clientes de uma agência bancária Customização Dúvidas ao tutorUnidade 2 / Aula 3 Filas 100% Introdução da aula Fila Fila ligada Fila vazia Vídeoaula: Fila Vídeoaula: Exercício Listas Conclusão Referências Fe ed ba ck teriam que esperar mais do que 20 minutos na fila do banco, contrariando, assim, a nova legislação brasileira. Para isso, você tem como informações a quantidade de clientes e, para cada cliente, o momento que ele entrou na fila o tempo necessário para seu atendimento. Para resolver esse problema, vamos iniciar lendo o número de clientes que entraram na agência. Logo depois, você pode adicionar suas informações, uma a uma, em duas filas. Na primeira fila, armazenaremos o tempo em que o cliente entrou na fila. Na segunda, será armazenado o tempo necessário para seu atendimento. Observe parte da solução no código – Solução para descobrir o número de clientes que precisam esperar mais que 20 minutos –, a seguir. Unidade 2 / Aula 3 Filas 100% Introdução da aula Fila Fila ligada Fila vazia Vídeoaula: Fila Vídeoaula: Exercício Listas Conclusão Referências Fe ed ba ck Solução para descobrir o número de clientes que precisam esperar mais que 20 minutos. Fonte: elaborada pelos autores. Após isso, vamos criar uma função que recebe as duas filas como parâmetros e retorna um número inteiro, representando a quantidade de clientes que terão que esperar mais do que 20 minutos na fila. Unidade 2 / Aula 3 Filas 100% Introdução da aula Fila Fila ligada Fila vazia Vídeoaula: Fila Vídeoaula: Exercício Listas Conclusão Referências Fe ed ba ck Função que recebe duas filas. Fonte: elaborada pelos autores. Entre as linhas 6 e 15, os elementos das filas são removidos e o seguinte cálculo é feito: para cada cliente, subtrai-se o tempo de espera total (que é acumulado na linha 14, somando-se o tempo de atendimento de cada cliente) do tempo de entrada do cliente na fila. Por exemplo: supondo que um cliente seja o quarto a ser atendido e que os três antes dele apresentarem um tempo de atendimento de 10 minutos, ele teria que ficar esperando por 30 minutos, caso tenha chegado no minuto 0. Unidade 2 / Aula 3 Filas 100% Introdução da aula Fila Fila ligada Fila vazia Vídeoaula: Fila Vídeoaula: Exercício Listas Conclusão Referências Fe ed ba ck Supondo, entretanto, que ele tenha chegado no minuto 10, seu tempo de espera será de 20 minutos. Então, nas linhas 10 a 12, verificamos se o tempo de espera do cliente será maior do que 20 minutos. Caso sim, o valor da variável “cientesEmEsperaMaxima” é incrementado de 1. Ao final, o valor dessa variável é retornado para quem chamou a função (linha 17). O código completo, incluindo a chamada na função “calcularClientesEmEsperaMaxima” é apresentado a seguir: Unidade 2 / Aula 3 Filas 100% Introdução da aula Fila Fila ligada Fila vazia Vídeoaula: Fila Vídeoaula: Exercício Listas Conclusão Referências Fe ed ba ck Função calcularClientesEmEsperaMaxima. Fonte: elaborada pelos autores. Você pode testar a solução completa utilizando a ferramenta Paiza.io. Unidade 2 / Aula 3 Filas 100% Introdução da aula Fila Fila ligada Fila vazia Vídeoaula: Fila Vídeoaula: Exercício Listas Conclusão Referências Fe ed ba ck https://paiza.io/projects/48R-eKuY-xY6zvc91XsmEg Avalie este conteúdo Escolha de 1 a 5 estrelas Unidade 2 / Aula 3 Filas 100% Introdução da aula Fila Fila ligada Fila vazia Vídeoaula: Fila Vídeoaula: Exercício Listas Conclusão Referências Fe ed ba ck Conteúdo anterior Próximo conteúdoUnidade 2 / Aula 3 Filas 100% Introdução da aula Fila Fila ligada Fila vazia Vídeoaula: Fila Vídeoaula: Exercício Listas Conclusão Referências Fe ed ba ck