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.
Soluções para a tarefa
Respondido por
1
isso tá parecendo um texto é não uma pergunta
Perguntas interessantes
Biologia,
7 meses atrás
História,
7 meses atrás
Matemática,
11 meses atrás
Matemática,
11 meses atrás
Química,
1 ano atrás
Física,
1 ano atrás
Física,
1 ano atrás