Buscar

Boa Noite, Alguem Poderia Me Ajudar Com Essas Duas Questões, Eu Não Sei Nem Por Onde Começar,PRECISO URGENTEE...

Sou Novo Em programação, e estou sem saber por onde começar, principalmente na questão B

Questão A

Uma PILHA é uma estrutura de dados “linear” na qual os elementos são inseridos por uma de suas extremidades (normalmente conhecida como “o topo”) e são removidos pela mesma.

Temos muitos exemplos de uso de pilhas no mundo real, como pilha de pratos numa cozinha, pilha de caixas num deposito, entre outras.

O que deve ser realizado na questão:

Esta questão visa verificar sua habilidade de fazer um teste de mesa para pilhas. No teste de mesa, devemos realizar as operações nós mesmos, com papel e caneta; ou no editor de texto, neste caso.

Faça uma sequencia de 15 operações de inserção e remoção de elementos, aleatoriamente, numa única pilha. Mostre o estado da pilha a cada passo. Se a pilha ficar vazia, não tem problema; apenas deixe isto indicado.

Dicas:

·                     Você deve escolher o tipo de elemento e a sequencia de operações.

·                     Procure deixar sua pilha com pelo menos 5 elementos em algum momento.

·                     O exercício pode terminar com a pilha contendo diversos elementos.

·                     As operações de inserção e remoção em pilha se chamam “push” e “pop” (em inglês).

 

 

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.

Respostas

User badge image

Cristiano Silva

https://www.portalgsti.com.br/2018/04/listas-pilhas-e-filas-em-c.html
0
Dislike0
User badge image

Cristiano Silva

Da uma olhada neste link acima, tem alguns códigos referente a este assunto, e código pronto sobre pilha
0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Responda

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Continue navegando