Curing22
(usa Outra)
Enviado em 18/10/2018 - 20:34h
Boa Noite, Galera
Eu Comecei a Cursar Analise e Desenvolvimento de Sistema e estou extremamente travado em uma questão, eu simplesmente não sei por onde começar,
Questão B
Existem diferentes formas de manipulação de itens em estruturas lineares. Uma das formas de manipulação é a “fila”, que implementa o conceito de FIFO (First In, First Out), no qual o primeiro elemento que entra é o primeiro que sai. Muitas vezes, o controle de execução dos processos em um sistema operacional é gerenciado utilizando este conceito, para que o sistema possa atender de forma satisfatória, e sob uma determinada ordem, diversas tarefas que são executadas simultaneamente.
A seguir, propomos outra tarefa que também é gerenciada deste modo: um supermercado possui 3 filas de carrinhos (caixas) que vão chegando e são atendidos quando chega a sua vez.
O que deve ser realizado na questão:
1) Primeiramente defina um tipo abstrato de dados (TAD) para comportar os dados de um carrinho: um identificador numérico, o nome do cliente (com máximo de 30 caracteres); o número de produtos; e o valor total da compra.
2) Em seguida, crie um tipo abstrato de dados (TAD) que define a “fila” de carrinhos, para comportar um máximo de 10 clientes.
3) E, por último, crie três filas de carrinhos (os caixas), como três variáveis globais: caixa1, caixa2 e caixa3.
4) De posse desse trecho de código, faça as seguintes rotinas ou funções:
· Crie a função “enqueue” ou “insert”, que recebe por parâmetro os dados de um carrinho (encapsulados em um tad) e insere na fila escolhida pelo cliente, verificando se existe espaço na fila, e emitindo mensagem de erro caso a fila esteja cheia.
· Crie uma função “inicializa”, que esvazia as 3 filas no inicio do dia de trabalho.
· Crie a função “remove”, que retira um cliente de uma fila indicada.
· Crie também uma função “total”, que recebe uma fila de carrinhos como parâmetro e retorna o valor total arrecadado pelo supermercado nela.
5) No main, chame estas rotinas para:
o Inicializar as filas
o Colocar alguns clientes nas filas (4 ou 5 em cada uma bastam).
o Retirar pelo menos um cliente de uma das filas.
o E por ultimo calcular seus valores totais.
Dicas:
· Você pode fazer a fila com vetores de carrinhos; ou com nós alocados dinamicamente.
· Prefira passar a fila por parâmetro e por referencia ao fazer uma rotina.
· Diferencie os conceitos de pilha, fila e lista antes de iniciar a questão.