Ir ao conteúdo
  • Cadastre-se

C Programa em C para simular operações de uma fila (FIFO)


Posts recomendados

Boa noite.
Estou fazendo um trabalho para uma aula ead no meu curso da fatec e falta só uma questão que não estou conseguindo fazer, se alguém puder me ajudar eu agradeceria muito, o professor não explicou bem e essa é uma parte da matéria que eu tenho muita dificuldade.

 

Faça um programa em C para simular as operações de uma fila (FIFO) com prioridade. A fila tem 10 posições. O primeiro elemento a entrar na fila é o primeiro a ser retirado da fila, porém, dependendo da prioridade, o elemento deve ser posicionado como o próximo a ser atendido. O programa deve ter as operações de inserção e remoção. O processo de remoção não é fisico. Uma remoção deve ser controlada por uma indicação lógica . Os dados armazenados são: Código do processo, código usuário, tamanho do arquivo e prioridade.

Link para o comentário
Compartilhar em outros sites

23 horas atrás, Ferraz.Gabrielle disse:

o professor não explicou bem e essa é uma parte da matéria que eu tenho muita dificuldade.

 

Faça um programa em C para simular as operações de uma fila (FIFO) com prioridade. A fila tem 10 posições. O primeiro elemento a entrar na fila é o primeiro a ser retirado da fila, porém, dependendo da prioridade, o elemento deve ser posicionado como o próximo a ser atendido. O programa deve ter as operações de inserção e remoção. O processo de remoção não é fisico. Uma remoção deve ser controlada por uma indicação lógica . Os dados armazenados são: Código do processo, código usuário, tamanho do arquivo e prioridade

 

 

Você não disse nada sobre qual seria sua dificuldade. Programou alguma outra fila? alguma outra estrutura? Uma pilha talvez? Uma lista ligada?

 

Um fila com prioridade não vai acrescentar muito. Com o máximo definido em 10 posições e nenhuma restrição de como implementar pode ser até simples. Parece claro que vai usar uma struct com o código do processo, do usuário e a prioridade de execução. O tamanho do arquivo como "dado armazenado" é algo meio bobinho já que é bem óbvio que precisa saber quantos caras tem na fila a cada momento.

 

Não escreveu nada? Nem os dados? Comece sue programa sempre em torno dos dados. Escreva a estrutura dos dados e da fila. E entenda que são coisas separadas. A fila nada tem a ver com os dados. Nunca misture as coisas. Há uma razão para o A em ADT. Esses tipos todos são abstratos. o A. Filas, pilhas, filas com prioridade --- porque ---  árvores, tries, hash, todos.

 

No oficial da porque você só precisa de 3 funções:

  • insere(el,F) insere o elemento el na fila F
  • max(F) retorna 'el' o primeiro da fila
  • Extrai(F) exclui o primeiro da fila

Na hora de implementar recomendo que escreva 

  • lista(F) primeiro de tudo, porque é claro que precisa poder listar antes de criar
  • criar pode ser uma consequência de tentar insere() numa lista vazia, certo? Não precisa ser uma função separada

Escreva as estruturas e declare uns valores como constantes e termine o programa. Espere até a última hora para ler valores ou criar menus ou essas coisas que tomam muito tempo e não acrescentam nada. Como o enunciado se for só isso nada diz sobre como implementar use apenas um vetor de 10 estruturas e uma estrutura de controle como achar mais fácil pra controlar.

Como nada foi restrito você pode implementar a prioridade na entrada ou na saída

 

E escreva aqui sobre suas dúvidas e podemos ajudar. 

 

Sobre porque postei vários programas completos aqui neste forum, não sei se em C ou C++. Talvez possa localizar clicando no meu perfil e em explorar conteúdo ou algo assim. Não me lembro agora ao certo.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...