• HOME
  • MAPAS RESOLVIDOS
  • SOBRE NÓS
Nossa equipe é composta por profissionais especializados em diversas áreas, o que nos permite oferecer uma assessoria completa na elaboração de uma ampla variedade de atividades. Estamos empenhados em garantir a autenticidade e originalidade de todos os trabalhos que realizamos.

Ficaríamos muito satisfeitos em poder ajudar você. Entre em contato conosco para solicitar o seu serviço.
(62) 9 9878-8622
integrareacademy.com.br
Aponte o celular para abrir o WhatsApp
ou clique aqui

Filas e pilhas são muito importantes em diferentes processos no dia a dia, tanto para processos em computação quanto no “mundo real”. As filas são estruturas sequenciais ordenadas, onde um novo elemento sempre é inserido no final da fila e só pode ser removido o elemento do início da fila. Não se pode “furar a fila”.

  • Período

    01/07/2025
  • Status

    Aberto
  • Nota máxima

    100,00%
  • Data Final

    valendo 100% da nota
  • Finalizado

    Não
  • Nota obtida

    100%
  • Data Gabarito/ Feedback

    a definir
  • Data e Hora Atual

    Horário de Brasília
  • Finalizado em

    31/12/2030

Filas e pilhas são muito importantes em diferentes processos no dia a dia, tanto para processos em computação quanto no “mundo real”. As filas são estruturas sequenciais ordenadas, onde um novo elemento sempre é inserido no final da fila e só pode ser removido o elemento do início da fila. Não se pode “furar a fila”.

Vamos alterar um pouco essa definição de fila para atender a um problema real. Imagine que você entra em uma fila em um banco que é gerenciada através de senhas. Porém, não é uma fila única e simples, mas uma fila que comporta diferentes situações:

• Existem 4 caixas realizando o atendimento.
• As senhas distribuídas possuem uma letra, que indica a categoria, seguida por um número sequencial.
• Considere as seguintes categorias:
– C – Comum
– P – Prioridade (idosos, gestantes, etc.)
– R – Atendimento rápido (operações simples)
• O caixa 1 atende às prioridades. Se não houver prioridades na fila, atendem o próximo da fila, de qualquer categoria.
• Os caixas 2 e 3 realizam atendimentos comuns. Se não houver, atendem o próximo da fila, de qualquer categoria.
• O caixa 4 é especial para atendimentos rápidos. Se não houver, atendem o próximo da fila, de qualquer categoria.

Segue uma implementação em linguagem C seguindo as regras apresentadas.
 

1 //Bibliotecas

2 #include <stdio.h>

3 #include <stdlib.h>

4 #include <locale.h>

5

6 //Constantes

7 #define tamanho 20

8

9 //Estrutura da Senha

10 typedef struct tsenha {

11    int numero;

12    char tipo;

13 } tsenha;

14 

15 //Estrutura da Fila

16 struct tfilabanco {

17    tsenha dados[tamanho];

18    int ini;

19    int fim;

20 };

21

22 //Variáveis globais

23 struct tfilabanco fila;

24 int op, proximo;

25

26 //Protipação

27 void fila_entrar();

28 void fila_sair();

29 void fila_mostrar();

30 void menu_mostrar();

31

32 //Função principal

33 int main(){

34    setlocale(LC_ALL, “Portuguese”);

35    op = 1;

36    proximo = 1;

37    fila.ini = 0;

38    fila.fim = 0;

39    while (op != 0) {

40        system(“cls”);

41        fila_mostrar();

42        menu_mostrar();

43        scanf(“%d”, &op);

44        switch (op) {

45            case 1:

46                fila_entrar();

47                break;

48            case 2:

49                fila_sair();

50                break;

51        }

52    }

53    return 0;

54 }

55

56 //Adicionar um elemento no final da Fila

57 void fila_entrar(){

58    if (fila.fim == tamanho) {

59        printf(“\nA fila está cheia, volte outro dia!\n\n”);

60        system(“pause”);

61        return;

62    }

63

64    char tipo;

65    printf(“\nEscolha o tipo do atendimento:”);

66    printf(“\nC – Comum”);

67    printf(“\nP – Prioridade”);

68    printf(“\nR – Rápido: “);

69    scanf(” %c”, &tipo);

70    if (tipo != ‘C’ && tipo != ‘P’ && tipo != ‘R’) {

71        printf(“\nTipo de atendimento inválido!\n\n”);

72        return;

73    }

74    fila.dados[fila.fim].tipo = tipo;

75    fila.dados[fila.fim].numero = proximo;

76    proximo++;

77    fila.fim++;

78 }

79

80 //Retirar o primeiro elemento da Fila de acordo com o caixa

81 void fila_sair() {

82    if (fila.ini == fila.fim) {

83        printf(“\nFila vazia, mas logo aparece alguém!\n\n”);

84        system(“pause”);

85    } else {

86        int caixa;

87        char tipoatendimento;

88        printf(“\nQual caixa vai atender (1 a 4)?: “);

89        scanf(“%d”, &caixa);

90        switch (caixa) {

91            case 1:

92                tipoatendimento = ‘P’;

93                break;

94            case 2:

95            case 3:

96                tipoatendimento = ‘C’;

97                break;

98            case 4:

99                tipoatendimento = ‘R’;

100                break;

101            default:

102                printf(“\nValor inválido!”);

103                return;

104        }

105        // Define a posição do elemento aser removido como 0

106        int posicao = 0;

107

108        // Procura elemento do tipo correspondente

109        for (int i = 0; i < tamanho; i++) {

110            if (fila.dados[i].tipo == tipoatendimento) {

111                posicao = i;

112                break;

113            }

114        }

115

116        printf(“\n\n###### ATENDIMENTO #########\n”);

117        printf(“Senha: %c-%d\n”, fila.dados[posicao].tipo, fila.dados[posicao].numero);

118        printf(“Caixa: %d\n”, caixa);

119        printf(“###### ATENDIMENTO #########\n\n”);

120

121        // Retira elemento da posição e move os demais

122        for (int i = posicao; i < tamanho; i++) {

123            fila.dados[i].numero = fila.dados[i+1].numero;

124            fila.dados[i].tipo = fila.dados[i+1].tipo;

125        }

126        fila.dados[fila.fim].numero = 0;

127        fila.dados[fila.fim].tipo = ‘ ‘;

128        fila.fim–;

129    }

130 }

131

132 //Mostrar o conteúdo da Fila

133 void fila_mostrar() {

134    int i;

135    printf(“[ “);

136    for (i = 0; i < tamanho; i++) {

137        printf(“%c-%d “, fila.dados[i].tipo, fila.dados[i].numero);

138    }

139    printf(“]\n\n”);

140 }

141

142 //Mostrar o menu de opções

143 void menu_mostrar() {

144    printf(“\nEscolha uma opção:\n”);

145    printf(“1 – Nova senha\n”);

146    printf(“2 – Atender\n”);

147    printf(“0 – Sair\n\n”);

148 }

​
Fonte: Elaborado pelo professor, 2024.

Baseado nas regras apresentadas e no código fonte apresentado, RESPONDA às perguntas a seguir:

1- Explique como é possível armazenar número e letra para cada senha nessa solução.
2- Explique como é que o caixa 4 consegue chamar primeiro quem tem senha de atendimento rápido, detalhando esse trecho do algoritmo, e o que acontece caso não haja nenhuma senha dessa categoria.
3- Suponha que a fila esteja composta por: P-512, R-513, C-514, C-515, P-516. Quando o caixa 3 fizer uma chamada, qual senha será atendida? Como fica a fila após esse atendimento?
4 – Nas linhas 76 e 77 há dois incrementos de variáveis. Por que isso é feito e qual é a diferença entre essas variáveis?

O que devo entregar?
Deverá ser entregar as respostas das 4 perguntas anteriores em um arquivo de WORD ou PDF, conforme formulário padrão constante nos materiais da disciplina.

Orientações:
1. Acesse o link com um vídeo tutorial para ajudá-lo neste processo de criação e desenvolvimento.
2. A entrega deve ser feita exclusivamente por meio do Template de entrega da atividade MAPA disponível no material da disciplina.
3. Antes de enviar sua atividade, certifique-se de que respondeu a todas as perguntas e realize uma cuidadosa correção ortográfica.
4. Após o envio não são permitidas alterações, ou modificações. Logo, você tem apenas uma chance de enviar o arquivo corretamente. Revise bem antes de enviar!
5. Lembre-se que evidências de cópias de materiais, incluindo de outros acadêmicos, sem devidas referências serão inquestionavelmente zeradas. As citações e referências, mesmo que do livro da disciplina, devem ser realizadas conforme normas da Instituição de Ensino.
6. Não são permitidas correções parciais no decorrer do módulo, ou seja, o famoso: “professor, veja se minha atividade está certa?”. Isso invalida seu processo avaliativo. Lembre-se que a interpretação da atividade também faz parte da avaliação.
7. Procure sanar suas dúvidas junto à mediação em tempo hábil sobre o conteúdo exigido na atividade, de modo que consiga realizar sua participação.
8. Atenção ao prazo de entrega, evite envio de atividade em cima do prazo. Você pode ter algum problema com internet, computador, software etc. e os prazos não serão flexibilizados, mesmo em caso de comprovação.

Bons estudos!
Em caso de dúvidas, encaminhar mensagem ao seu Professor(a) Mediador(a).

Nossa equipe é composta por profissionais especializados em diversas áreas, o que nos permite oferecer uma assessoria completa na elaboração de uma ampla variedade de atividades. Estamos empenhados em garantir a autenticidade e originalidade de todos os trabalhos que realizamos.

Ficaríamos muito satisfeitos em poder ajudar você. Entre em contato conosco para solicitar o seu serviço.
(62) 9 9878-8622
integrareacademy.com.br
Aponte o celular para abrir o WhatsApp
ou clique aqui

Feedbacks

Atividades Relacionadas

MAPA - PERÍCIA DIGITAL - 52_2024
05/06/2024
Integrare Academy

MAPA - PERÍCIA DIGITAL - 52_2024 No decorrer da Perícia Digital, é importante ressaltar que a etapa de coleta é fundamental para uma perícia bem-sucedida, pois, conforme mencionado por Teixeira (2022), é por meio da cadeia de custódia que toda a análise do perito pode ser validada. Para facilitar o trabalho de coleta de evidências […]

Quando pensamos nos estudos para formar um fisioterapeuta, a alavanca não pode ficar de fora, pois é um sistema mecânico que tem a função de aumentar o efeito de uma força em relação a uma resistência, em decorrência da ação de um momento favorável. O Sistema de Alavanca é um tema conhecido dos fisioterapeutas, pois ele é composto por um corpo com um ponto de fixação ou eixo e nesse corpo atua alguma força, a uma certa distância desse eixo, ou seja, consiste em um corpo rígido com duas forças aplicadas externamente e um ponto de rotação. Se pensarmos no corpo humano como uma articulação musculoesquelética, uma das forças é produzida pelo músculo, a outra força é gerada pelo contato com o ambiente e o ponto de rotação é o centro de rotação da articulação.
02/08/2024
Integrare Academy

  Quando pensamos nos estudos para formar um fisioterapeuta, a alavanca não pode ficar de fora, pois é um sistema mecânico que tem a função de aumentar o efeito de uma força em relação a uma resistência, em decorrência da ação de um momento favorável. O Sistema de Alavanca é um tema conhecido dos fisioterapeutas, […]

Pode-se inferir que as novas exigências, buscam aprimorar a segurança dos veículos novos, trazendo assim novos sistema e tecnologias voltadas para segurança, que buscam minimizar lesões e até a redução
28/08/2024
Integrare Academy

MAPA - SEP - SEGURANÇA NO TRÂNSITO - 53_2024   Olá, estudante da Disciplina de Segurança no Trânsito. O objetivo desta atividade é que você compreenda o tema Segurança no Trânsito. No ano de 2024, algumas alterações significativas na legislação de trânsito entraram em vigor, especificamente no que se refere aos equipamentos de segurança obrigatórios […]

Em sua composição, necrochorume apresenta 60% de água, 30% de substâncias mineralizáveis e 10% de substâncias complexas, além de carga virótica alta e fármacos, a depender das circunstâncias em que a pessoa morreu. A decomposição das substâncias orgânicas do corpo pode produzir diaminas como a cadaverina (C5H14N2) e a putrescina (C4H12N2), que ao serem degradadas geram NH4+ (íon amônio, amônia na forma ionizada), substância que apresenta toxicidade em altas concentrações. A cadaverina e a putrescina são danosas também por serem responsáveis pela transmissão de doenças infectocontagiosas, como a hepatite e a febre tifoide. Essas substâncias podem se proliferar em um raio superior a 400 metros de distância do cemitério, a depender da geologia da região.
19/07/2024
Integrare Academy

  Em sua composição, necrochorume apresenta 60% de água, 30% de substâncias mineralizáveis e 10% de substâncias complexas, além de carga virótica alta e fármacos, a depender das circunstâncias em que a pessoa morreu. A decomposição das substâncias orgânicas do corpo pode produzir diaminas como a cadaverina (C5H14N2) e a putrescina (C4H12N2), que ao serem […]

No cenário dinâmico dos negócios, o marketing e o planejamento das vendas são fundamentais para as estratégias das organizações. No entanto, muitos profissionais carecem de uma compreensão sólida sobre a avaliação de métricas e o impacto direto de suas ações no desempenho da empresa.
18/07/2024
Integrare Academy

  No cenário dinâmico dos negócios, o marketing e o planejamento das vendas são fundamentais para as estratégias das organizações. No entanto, muitos profissionais carecem de uma compreensão sólida sobre a avaliação de métricas e o impacto direto de suas ações no desempenho da empresa.   Quais as consequências disso para as organizações?   A […]

10) Caso pudesse escolher outra profissão, qual você gostaria de ter? Por quê?
22/07/2024
Integrare Academy

10) Caso pudesse escolher outra profissão, qual você gostaria de ter? Por quê? Informações Importantes: – A entrevista pode ser realizada de forma presencial ou on-line, via plataformas de comunicação como Whatsapp, Telegram, Instagram, entre outras, a critério do aluno; o importante na atividade é fazer a entrevista (coletar as informações, não precisa gravar nada, […]

1 2 3 … 1.562 Próximo »
Sobre
Sobre NósTrabalhe ConoscoAcessibilidade
Suporte
Perguntas FrequentesAcessibilidadeFale Conosco
Jurídico
Termos de UsoPolíticas de PrivacidadePolíticas de Cookies
Social
Instagram
Youtube
© Integrare Academy. Todos os Direitos Reservados.
Desenvolvido por: Athomus Tecnologia da Informação
laptopyoutube-playinstagramdot-circle-owhatsapp