9
Estrutura de Dados
UNINTER
16
Estrutura de Dados
UNINTER
29
Estrutura de Dados
UNINTER
29
Estrutura de Dados
UNINTER
28
Estrutura de Dados
UNIPA
5
Estrutura de Dados
UMG
6
Estrutura de Dados
UMG
9
Estrutura de Dados
UNIPA
9
Estrutura de Dados
SENAC
3
Estrutura de Dados
UMG
Texto de pré-visualização
ANO 2025 ATIVIDADE PRÁTICA ESTRUTURA DE DADOS PROGRAMAÇÃO III COLOQUE SEU NOME AQUI RU XXXXXX Prof Me Bruno Kostiuk INSTRUÇÕES SOMENTE INFORMATIVO PODE APAGAR AO ENTREGAR O TRABALHO Esta atividade deve ser desenvolvida individualmente não sendo permitido a utilização de Inteligência Artificial para resolução das questões A entrega deve ser feita na seção Trabalhos do Univirtus Depois do arquivo enviado não há possibilidade de reenvio Verifique o arquivo enviado antes de confirmar a entrega Só envie seu trabalho quando tiver certeza de que está tudo correto Preste muita atenção ao prazo Não haverá prorrogação Só serão aceitas submissões em formato doc ou docx Pois estes formatos mantém a indentação do Python facilitando a execução dos códigos de vocês Em caso de dificuldade na elaboração ou publicação do trabalho envie uma tutoria Iremos auxiliar na tutoria desde que não envolva fazer uma correção prévia do trabalho Na tutoria nós damos dicas de como solucionar o problema mas a solução é com vocês alunos As quatro questões não poderão ser feitas por qualquer tipo de Inteligência Artificial Caso seja identificado esse método de solução o trabalho receberá nota zero automaticamente A proposta deste trabalho é que o aluno coloque em prática e demonstre suas competências e habilidades adquiridas ao longo da disciplina Para isso pedese neste trabalho a confecção e entrega das duas questões a seguir QUESTÃO 1 de 2 Lista Encadeada Enunciado Com a finalidade de melhorar o atendimento e priorizar os casos mais urgentes a direção de um hospital criou um sistema de triagem em que um profissional da saúde classifica a ordem de atendimento com base numa avaliação prévia do paciente entregandolhe um cartão numerado verde V ou amarelo A que define o menor ou maior grau de urgência da ocorrência respectivamente Para informatizar esse processo a direção do hospital contratou você para desenvolver uma fila de chamada seguindo as seguintes regras Pacientes com cartão numerado amarelo A são chamados antes dos pacientes com cartão numerado verde V Entre os pacientes com cartão numerado amarelo A os que tem numeração menor são atendidos antes Entre os pacientes com cartão numerado verde V os que tem numeração menor são atendidos antes As numerações dos cartões verdes V iniciam em 1 As numerações dos cartões amarelos A iniciam em 201 Elabore um programa em Python que A Devese implementar uma Lista Encadeada Simples em que EXIGÊNCIA DE CÓDIGO 1 de 7 a O Nodo representa um cartão numerado contendo número cor e um ponteiro para o próximo b A lista é não circular ou seja seu último elemento aponta para nulo B Devese implementar a função inserirSemPrioridadenodo em que EXIGÊNCIA DE CÓDIGO 2 de 7 a Devese andar pela lista a partir da cabeça head e inserir o nodo no final da lista C Devese implementar a função inserirComPrioridadenodo em que EXIGÊNCIA DE CÓDIGO 3 de 7 a Devese andar pela lista a partir da cabeça head e inserir o nodo após todos os nodos com cor A que estão na lista b O nodo inserido deve sempre estar antes de todos os nodos com cor V D Devese implementar a função inserir em que EXIGÊNCIA DE CÓDIGO 4 de 7 a Devese solicitar ao usuário a cor A ou V b A partir da cor o número inteiro do paciente deve ser atribuído automaticamente seguindo a ordem numérica Por exemplo o primeiro paciente V será o 1 o segundo 2 e assim por diante c Devese criar um nodo com a cor e o número atribuído ao paciente d Se a lista estiver vazia a cabeça head da lista deve apontar para o nodo criado Senão se a cor do nodo for V devese chamar a função inserirSemPrioridadenodo Senão se a cor do nodo for A devese chamar a função inserirComPriordadenodo E Devese implementar a função imprimirListaEspera em que EXIGÊNCIA DE CÓDIGO 5 de 7 a Devese imprimir todos os cartões e seus respectivos números a partir do primeiro até o último da lista F Devese implementar a função atenderPaciente em que EXIGÊNCIA DE CÓDIGO 6 de 7 a Devese remover o primeiro paciente da fila e imprimir uma mensagem chamando o paciente para atendimento informando o número do seu cartão G Devese implementar um menu para utilização do sistema em que EXIGÊNCIA DE CÓDIGO 7 de 7 a Devese apresentar as opções 1 adicionar paciente a fila 2 mostrar pacientes na fila 3 chamar paciente 4 sair b Se escolhida a opção 1 chamar a função inserir c Se escolhida a opção 2 chamar a função imprimirListaEspera d Se escolhida a opção 3 chamar a função atenderPaciente e Se escolhida a opção 4 encerrar o programa f Se escolhida uma opção diferente as opções disponíveis volte para o menu Para testar o software execute os seguintes passos e apresente a saída do console conforme exemplo de saída de console próxima página H Devese testar o sistema inserindo três 3 pacientes com cartão de cor V dois 2 pacientes com cartão de cor A dois 2 pacientes com cartão V e três 3 pacientes com cartão de cor A nessa respectiva ordem EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 3 I Devese apresentar na saída de console a impressão da lista de espera opção 2 do menu principal EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 3 J Devese apresentar na saída de console o atendimento de dois 2 pacientes opção 3 do menu principal e em seguida mostrar a lista de espera opção 2 do menu principal EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 3 EXEMPLO DE SAÍDA DE CONSOLE SOMENTE INFORMATIVO PODE APAGAR AO ENTREGAR O TRABALHO Figura 1 Exemplo de saída de console que o aluno deve fazer Em que se insere 10 pacientes 5 com cartão verde e 5 com cartão amarelo conforme EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 3 Figura 2 Exemplo de saída de console que o aluno deve fazer Em que mostra a lista de pacientes conforme EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 3 Figura 3 Exemplo de saída de console que o aluno deve fazer Em que ele chama dois pacientes para atendimento e em seguida mostra a lista de pacientes conforme EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 3 Apresentação de Código da Questão 1 SUBSTITUIR ESSE TEXTO QUE ESTÁ EM VERMELHO PELO SEU CÓDIGO DO EXERCÍCIO 1 NÃO ESQUECER DE CUMPRIR AS EXIGÊNCIAS DE CÓDIGO O CÓDIGO DEVE ESTAR IDENTADO SERÃO ACEITOS SOMENTE CÓDIGOS NO FORMATO TEXTO NADA DE IMAGEM NEM PRINT ZERA A QUESTÃO Apresentação de Saída do Console da Questão 1 SUBSTITUIR ESSE TEXTO QUE ESTÁ EM LARANJA PELA A SAÍDA DO CONSOLE DO EXERCÍCIO 1 NÃO ESQUECER DE CUMPRIR AS EXIGÊNCIAS SERÁ ACEITO SOMETE SAÍDAS DO CONSOLE NO FORMATO IMAGEM NADA DE TEXTO AQUI ZERA ESSA PARTE DA QUESTÃO QUESTÃO 2 de 2 Tabela Hash Enunciado Com o objetivo de criar um sistema novo de emplacamento de veículos deputados em do Distrito Federal DF decidiram que o último número da placa dos veículos irá representar o estado de registro dele Para isso sua equipe de desenvolvedores foi encarregada de desenvolver uma Tabela Hash com endereçamento em cadeia de 10 posições cada posição do vetor deve ser uma lista encadeada representando os números de 0 a 9 que irão representar os 26 estados e o Distrito Federal total 27 A função hash deve seguir as seguintes regras A entrada da função hash deve ser uma string com 2 letras representando a sigla do estado eou distrito federal Caso a sigla seja DF Distrito Federal por questões de superstição os deputados solicitaram que o retorno da função seja 7 sempre Caso contrário a função deve retornar a posição com base no valor ASCII das duas letras e seguindo a seguinte regra posiçãoCHAR1ASCIICHAR2ASCII MOD10 Onde CHAR1ASCII e CHAR2ASCII são os valores ASCII da primeira e segunda letra respectivamente Tabela ASCII no final do documento Elabore um programa em Python que A Devese implementar a tabela Hash com 10 posições onde inicialmente todas as posições possuem valor None EXIGÊNCIA DE CÓDIGO 1 de 7 B Devese implementar as Listas Encadeadas Simples em que EXIGÊNCIA DE CÓDIGO 2 de 7 a O Nodo representa um Estado contendo sigla nomeEstado e um ponteiro para o próximo b As 10 posições da tabela hash representam a cabeça de cada lista head C Devese implementar a inserção no início da lista encadeada cada elemento novo deve ser sempre inserido no início da lista EXIGÊNCIA DE CÓDIGO 3 de 7 D Devese implementar a impressão da tabela hash onde devem ser impressas as siglas de todos os nodos que estão na tabela hash separados por posição EXIGÊNCIA DE CÓDIGO 4 de 7 E Devese implementar a função hash conforme enunciado EXIGÊNCIA DE CÓDIGO 5 de 7 F Devese implementar a inserção dos estados e distrito federal todos os 27 com nome e sigla na tabela hash utilizando a função hash não precisa solicitar ao usuário a digitação via teclado pode inserir no código mesmo de modo hard code EXIGÊNCIA DE CÓDIGO 6 de 7 G Devese inserir na Tabela além dos estados e distrito federal um estado fictício sendo que esse estado tenha seu nome completo e como siglas a primeira letra do seu nome e a primeira letra do seu último sobrenome Exemplo Bruno Kostiuk BK EXIGÊNCIA DE CÓDIGO 7 de 7 Para testar o software execute os seguintes passos e apresente a saída do console conforme exemplo de saída de console próxima página H Devese apresentar na saída de console a impressão da tabela hash antes de inserir qualquer informação EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 3 I Devese apresentar na saída de console a impressão da tabela hash após inserir os 26 estados e o Distrito Federal DF EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 3 J Devese apresentar na saída de console a impressão da tabela hash após inserir os 26 estados Distrito Federal DF e o estado fictício com seu nome completo EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 3 EXEMPLO DE SAÍDA DE CONSOLE SOMENTE INFORMATIVO PODE APAGAR AO ENTREGAR O TRABALHO Figura 1 Exemplo de saída de console que o aluno deve fazer Impressão da tabela hash antes de inserir qualquer informação conforme EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 3 Figura 2 Exemplo de saída de console que o aluno deve fazer Impressão da tabela hash após inserir os 26 estados e o Distrito Federal DF conforme EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 3 Figura 3 Exemplo de saída de console que o aluno deve fazer Impressão da tabela hash após inserir os 26 estados Distrito Federal DF e o estado fictício com seu nome completo No caso foi inserido BK na posição 1 conforme EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 3 Apresentação de Código da Questão 2 SUBSTITUIR ESSE TEXTO QUE ESTÁ EM VERMELHO PELO SEU CÓDIGO DO EXERCÍCIO 2 NÃO ESQUECER DE CUMPRIR AS EXIGÊNCIAS DE CÓDIGO O CÓDIGO DEVE ESTAR IDENTADO SERÃO ACEITOS SOMENTE CÓDIGOS NO FORMATO TEXTO NADA DE IMAGEM NEM PRINT ZERA A QUESTÃO Apresentação de Saída do Console da Questão 2 SUBSTITUIR ESSE TEXTO QUE ESTÁ EM LARANJA PELA A SAÍDA DO CONSOLE DO EXERCÍCIO 2 NÃO ESQUECER DE CUMPRIR AS EXIGÊNCIAS SERÁ ACEITO SOMETE SAÍDAS DO CONSOLE NO FORMATO IMAGEM NADA DE TEXTO AQUI ZERA ESSA PARTE DA QUESTÃO CRITÉRIOS DE AVALIAÇÃO SOMENTE INFORMATIVO PODE APAGAR AO ENTREGAR O TRABALHO A avaliação se dará através de critérios estritamente objetivos Dentro de cada questão metade da nota se refere as exigências de implementação do código EC e a outra metade as exigências de saída ES de funcionamento do código NOTAQUEST Ã O NOTAECNOTA ES 2 Cada questão vale metade da nota da atividade Assim calculamos a sua nota final na atividade prática com a fórmula abaixo NOTAAP NOTAQUEST ÃO1NOTAQUEST Ã O2 2 Os critérios e suas respectivas pontuações estão na tabela a seguir QUESTÃO 1 Exigências de Código EC Pts EC 1 Implementar corretamente a Lista Encadeada Simples 10 EC 2 Implementar corretamente a funçãométodo inserirSemPrioridade 15 EC 3 Implementar corretamente a funçãométodo inserirComPrioridade 30 EC 4 Implementar corretamente a funçãométodo inserir 15 EC 5 Implementar corretamente a funçãométodo imprimirListaEspera 10 EC 6 Implementar corretamente a funçãométodo atenderPaciente 10 EC 7 Implementar corretamente o menu principal 10 Total 100 Exigências de Saída ES Pts ES 1 Apresentar a inserção de 10 pacientes 50 ES 2 Apresentar a impressão da lista de espera 30 ES 3 Apresentar o atendimento de 2 pacientes 20 Total 100 QUESTÃO 2 Exigências de Código EC Pts EC 1 Implementar corretamente a Tabela Hash 20 EC 2 Implementar corretamente a Lista Encadeada Simples 10 EC 3 Implementar corretamente a inserção no inicio 10 EC 4 Implementar corretamente a impressão da Tabela Hash 20 EC 5 Implementar corretamente a função hash para os estados 10 EC 6 Implementar corretamente a função para o Distrito Federal 10 EC 7 Implementar corretamente a inserção dos estados na tabela 10 EC 8 Implementar corretamente a inserção de um estado com seu nome 10 Total 100 Exigências de Saída ES Pts ES 1 Apresentar a impressão da Tabela Hash vazia 30 ES 2 Apresentar a impressão da Tabela Hash com 26 estados DF 30 ES 3 Apresentar a impressão da Tabela Hash Completa com seu nome 40 Total 100 ANO 2025 ATIVIDADE PRÁTICA ESTRUTURA DE DADOS PROGRAMAÇÃO III COLOQUE SEU NOME AQUI RU XXXXXX Prof Me Bruno Kostiuk INSTRUÇÕES SOMENTE INFORMATIVO PODE APAGAR AO ENTREGAR O TRABALHO Esta atividade deve ser desenvolvida individualmente não sendo permitido a utilização de Inteligência Artificial para resolução das questões A entrega deve ser feita na seção Trabalhos do Univirtus Depois do arquivo enviado não há possibilidade de reenvio Verifique o arquivo enviado antes de confirmar a entrega Só envie seu trabalho quando tiver certeza de que está tudo correto Preste muita atenção ao prazo Não haverá prorrogação Só serão aceitas submissões em formato doc ou docx Pois estes formatos mantém a indentação do Python facilitando a execução dos códigos de vocês Em caso de dificuldade na elaboração ou publicação do trabalho envie uma tutoria Iremos auxiliar na tutoria desde que não envolva fazer uma correção prévia do trabalho Na tutoria nós damos dicas de como solucionar o problema mas a solução é com vocês alunos As quatro questões não poderão ser feitas por qualquer tipo de Inteligência Artificial Caso seja identificado esse método de solução o trabalho receberá nota zero automaticamente A proposta deste trabalho é que o aluno coloque em prática e demonstre suas competências e habilidades adquiridas ao longo da disciplina Para isso pedese neste trabalho a confecção e entrega das duas questões a seguir QUESTÃO 1 de 2 Lista Encadeada Enunciado Com a finalidade de melhorar o atendimento e priorizar os casos mais urgentes a direção de um hospital criou um sistema de triagem em que um profissional da saúde classifica a ordem de atendimento com base numa avaliação prévia do paciente entregandolhe um cartão numerado verde V ou amarelo A que define o menor ou maior grau de urgência da ocorrência respectivamente Para informatizar esse processo a direção do hospital contratou você para desenvolver uma fila de chamada seguindo as seguintes regras Pacientes com cartão numerado amarelo A são chamados antes dos pacientes com cartão numerado verde V Entre os pacientes com cartão numerado amarelo A os que tem numeração menor são atendidos antes Entre os pacientes com cartão numerado verde V os que tem numeração menor são atendidos antes As numerações dos cartões verdes V iniciam em 1 As numerações dos cartões amarelos A iniciam em 201 Elabore um programa em Python que A Devese implementar uma Lista Encadeada Simples em que EXIGÊNCIA DE CÓDIGO 1 de 7 a O Nodo representa um cartão numerado contendo número cor e um ponteiro para o próximo b A lista é não circular ou seja seu último elemento aponta para nulo B Devese implementar a função inserirSemPrioridadenodo em que EXIGÊNCIA DE CÓDIGO 2 de 7 a Devese andar pela lista a partir da cabeça head e inserir o nodo no final da lista C Devese implementar a função inserirComPrioridadenodo em que EXIGÊNCIA DE CÓDIGO 3 de 7 a Devese andar pela lista a partir da cabeça head e inserir o nodo após todos os nodos com cor A que estão na lista b O nodo inserido deve sempre estar antes de todos os nodos com cor V D Devese implementar a função inserir em que EXIGÊNCIA DE CÓDIGO 4 de 7 a Devese solicitar ao usuário a cor A ou V b A partir da cor o número inteiro do paciente deve ser atribuído automaticamente seguindo a ordem numérica Por exemplo o primeiro paciente V será o 1 o segundo 2 e assim por diante c Devese criar um nodo com a cor e o número atribuído ao paciente d Se a lista estiver vazia a cabeça head da lista deve apontar para o nodo criado Senão se a cor do nodo for V devese chamar a função inserirSemPrioridadenodo Senão se a cor do nodo for A devese chamar a função inserirComPriordadenodo E Devese implementar a função imprimirListaEspera em que EXIGÊNCIA DE CÓDIGO 5 de 7 a Devese imprimir todos os cartões e seus respectivos números a partir do primeiro até o último da lista F Devese implementar a função atenderPaciente em que EXIGÊNCIA DE CÓDIGO 6 de 7 a Devese remover o primeiro paciente da fila e imprimir uma mensagem chamando o paciente para atendimento informando o número do seu cartão G Devese implementar um menu para utilização do sistema em que EXIGÊNCIA DE CÓDIGO 7 de 7 a Devese apresentar as opções 1 adicionar paciente a fila 2 mostrar pacientes na fila 3 chamar paciente 4 sair b Se escolhida a opção 1 chamar a função inserir c Se escolhida a opção 2 chamar a função imprimirListaEspera d Se escolhida a opção 3 chamar a função atenderPaciente e Se escolhida a opção 4 encerrar o programa f Se escolhida uma opção diferente as opções disponíveis volte para o menu Para testar o software execute os seguintes passos e apresente a saída do console conforme exemplo de saída de console próxima página H Devese testar o sistema inserindo três 3 pacientes com cartão de cor V dois 2 pacientes com cartão de cor A dois 2 pacientes com cartão V e três 3 pacientes com cartão de cor A nessa respectiva ordem EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 3 I Devese apresentar na saída de console a impressão da lista de espera opção 2 do menu principal EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 3 J Devese apresentar na saída de console o atendimento de dois 2 pacientes opção 3 do menu principal e em seguida mostrar a lista de espera opção 2 do menu principal EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 3 Apresentação de Código da Questão 1 class Nodo Representa um cartão numerado de paciente def initself numero cor selfnumero numero selfcor cor selfproximo None class ListaEncadeada Lista Encadeada Simples para gerenciar a fila de pacientes Exigência de código 1 def initself selfhead None selfcontadorverde 1 Numeração dos cartões verdes inicia em 1 selfcontadoramarelo 201 Numeração dos cartões amarelos inicia em 201 def inserirSemPrioridadeself nodo Insere o nodo no final da lista Exigência de código 2 if selfhead is None selfhead nodo else atual selfhead while atualproximo is not None atual atualproximo atualproximo nodo def inserirComPrioridadeself nodo Insere o nodo após todos os nodos com cor A que estão na lista Exigência de código 3 if selfhead is None selfhead nodo return Se a lista só tem cartões verdes inserir no início if selfheadcor V nodoproximo selfhead selfhead nodo return Encontrar a posição após o último cartão amarelo atual selfhead anterior None Percorrer todos os cartões amarelos while atual is not None and atualcor A anterior atual atual atualproximo Inserir após o último cartão amarelo if anterior is not None nodoproximo anteriorproximo anteriorproximo nodo else Caso não haja cartões amarelos só verdes nodoproximo selfhead selfhead nodo def inserirself Solicita cor do usuário e insere paciente na lista Exigência de código 4 while True cor inputDigite a cor do cartão A para amarelo V para verde upperstrip if cor in A V break printCor inválida Digite A para amarelo ou V para verde Atribuir número automaticamente baseado na cor if cor V numero selfcontadorverde selfcontadorverde 1 else cor A numero selfcontadoramarelo selfcontadoramarelo 1 Criar nodo nodo Nodonumero cor Inserir na lista if selfhead is None selfhead nodo elif cor V selfinserirSemPrioridadenodo else cor A selfinserirComPrioridadenodo printfPaciente adicionado Cartão cornumero def imprimirListaEsperaself Imprime todos os cartões da lista em ordem de atendimento Exigência de código 5 if selfhead is None printNão há pacientes na fila de espera return print FILA DE ESPERA atual selfhead posicao 1 while atual is not None printfPosição posicao Cartão atualcoratualnumero atual atualproximo posicao 1 print 22 def atenderPacienteself Remove o primeiro paciente da fila e chama para atendimento Exigência de código 6 if selfhead is None printNão há pacientes na fila para atendimento return Remover o primeiro paciente paciente selfhead selfhead selfheadproximo printf CHAMANDO PARA ATENDIMENTO Paciente do cartão pacientecorpacientenumero def menu Exibe o menu principal do sistema Exigência de código 7 lista ListaEncadeada while True printSISTEMA DE TRIAGEM HOSPITALAR print print1 Adicionar paciente à fila print2 Mostrar pacientes na fila print3 Chamar paciente print4 Sair print try opcao intinputEscolha uma opção if opcao 1 listainserir elif opcao 2 listaimprimirListaEspera elif opcao 3 listaatenderPaciente elif opcao 4 printEncerrando sistema de triagem Até logo break else printOpção inválida Escolha uma opção de 1 a 4 except ValueError printPor favor digite um número válido Executar o programa if name main menu Apresentação de Saída do Console da Questão 1 Adicionando os pacientes Apre Lista de espera Chamando 2 pacientes e mostrando a lista QUESTÃO 2 de 2 Tabela Hash Enunciado Com o objetivo de criar um sistema novo de emplacamento de veículos deputados em do Distrito Federal DF decidiram que o último número da placa dos veículos irá representar o estado de registro dele Para isso sua equipe de desenvolvedores foi encarregada de desenvolver uma Tabela Hash com endereçamento em cadeia de 10 posições cada posição do vetor deve ser uma lista encadeada representando os números de 0 a 9 que irão representar os 26 estados e o Distrito Federal total 27 A função hash deve seguir as seguintes regras A entrada da função hash deve ser uma string com 2 letras representando a sigla do estado eou distrito federal Caso a sigla seja DF Distrito Federal por questões de superstição os deputados solicitaram que o retorno da função seja 7 sempre Caso contrário a função deve retornar a posição com base no valor ASCII das duas letras e seguindo a seguinte regra posiçãoCHAR1ASCIICHAR2ASCII MOD10 Onde CHAR1ASCII e CHAR2ASCII são os valores ASCII da primeira e segunda letra respectivamente Tabela ASCII no final do documento Elabore um programa em Python que A Devese implementar a tabela Hash com 10 posições onde inicialmente todas as posições possuem valor None EXIGÊNCIA DE CÓDIGO 1 de 7 B Devese implementar as Listas Encadeadas Simples em que EXIGÊNCIA DE CÓDIGO 2 de 7 a O Nodo representa um Estado contendo sigla nomeEstado e um ponteiro para o próximo b As 10 posições da tabela hash representam a cabeça de cada lista head C Devese implementar a inserção no início da lista encadeada cada elemento novo deve ser sempre inserido no início da lista EXIGÊNCIA DE CÓDIGO 3 de 7 D Devese implementar a impressão da tabela hash onde devem ser impressas as siglas de todos os nodos que estão na tabela hash separados por posição EXIGÊNCIA DE CÓDIGO 4 de 7 E Devese implementar a função hash conforme enunciado EXIGÊNCIA DE CÓDIGO 5 de 7 F Devese implementar a inserção dos estados e distrito federal todos os 27 com nome e sigla na tabela hash utilizando a função hash não precisa solicitar ao usuário a digitação via teclado pode inserir no código mesmo de modo hard code EXIGÊNCIA DE CÓDIGO 6 de 7 G Devese inserir na Tabela além dos estados e distrito federal um estado fictício sendo que esse estado tenha seu nome completo e como siglas a primeira letra do seu nome e a primeira letra do seu último sobrenome Exemplo Bruno Kostiuk BK EXIGÊNCIA DE CÓDIGO 7 de 7 Para testar o software execute os seguintes passos e apresente a saída do console conforme exemplo de saída de console próxima página H Devese apresentar na saída de console a impressão da tabela hash antes de inserir qualquer informação EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 3 I Devese apresentar na saída de console a impressão da tabela hash após inserir os 26 estados e o Distrito Federal DF EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 3 J Devese apresentar na saída de console a impressão da tabela hash após inserir os 26 estados Distrito Federal DF e o estado fictício com seu nome completo EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 3 Apresentação de Código da Questão 2 Sistema de Emplacamento de Veículos Tabela Hash com Endereçamento em Cadeia class Nodo Classe que representa um nodo da lista encadeada def initself sigla nomeestado selfsigla sigla selfnomeestado nomeestado selfproximo None class TabelaHash Classe que implementa a tabela hash com listas encadeadas def initself Inicializa a tabela hash com 10 posições todas com valor None selftabela None 10 def funcaohashself sigla Função hash que calcula a posição baseada na sigla do estado Caso especial para o Distrito Federal if sigla DF return 7 Calcula o hash baseado nos valores ASCII das duas letras asciiprimeira ordsigla0 asciisegunda ordsigla1 Aplicando a fórmula asciiprimeira asciisegunda 10 posicao asciiprimeira asciisegunda 10 return posicao def inserirself sigla nomeestado Insere um estado na tabela hash sempre no início da lista posicao selffuncaohashsigla novonodo Nodosigla nomeestado Inserção no início da lista encadeada novonodoproximo selftabelaposicao selftabelaposicao novonodo def imprimirtabelaself Imprime a tabela hash separada por posições for i in range10 printfi end Se a posição estiver vazia if selftabelai is None printNone else Percorre a lista encadeada e imprime as siglas atual selftabelai siglas while atual is not None siglasappendatualsigla atual atualproximo printjoinsiglas None def main Criação da tabela hash tabela TabelaHash Estados e Distrito Federal do Brasil estados AC Acre AL Alagoas AP Amapá AM Amazonas BA Bahia CE Ceará DF Distrito Federal ES Espírito Santo GO Goiás MA Maranhão MT Mato Grosso MS Mato Grosso do Sul MG Minas Gerais PA Pará PB Paraíba PR Paraná PE Pernambuco PI Piauí RJ Rio de Janeiro RN Rio Grande do Norte RS Rio Grande do Sul RO Rondônia RR Roraima SC Santa Catarina SP São Paulo SE Sergipe TO Tocantins tabelaimprimirtabela print for sigla nome in estados tabelainserirsigla nome tabelaimprimirtabela print tabelainserirBK Bruno Kostiuk tabelaimprimirtabela if name main main Apresentação de Saída do Console da Questão 2 CRITÉRIOS DE AVALIAÇÃO SOMENTE INFORMATIVO PODE APAGAR AO ENTREGAR O TRABALHO A avaliação se dará através de critérios estritamente objetivos Dentro de cada questão metade da nota se refere as exigências de implementação do código EC e a outra metade as exigências de saída ES de funcionamento do código NOTAQUEST Ã O NOTAECNOTA ES 2 Cada questão vale metade da nota da atividade Assim calculamos a sua nota final na atividade prática com a fórmula abaixo NOTAAP NOTAQUEST ÃO1NOTAQUEST Ã O2 2 Os critérios e suas respectivas pontuações estão na tabela a seguir QUESTÃO 1 Exigências de Código EC Pts EC 1 Implementar corretamente a Lista Encadeada Simples 10 EC 2 Implementar corretamente a funçãométodo inserirSemPrioridade 15 EC 3 Implementar corretamente a funçãométodo inserirComPrioridade 30 EC 4 Implementar corretamente a funçãométodo inserir 15 EC 5 Implementar corretamente a funçãométodo imprimirListaEspera 10 EC 6 Implementar corretamente a funçãométodo atenderPaciente 10 EC 7 Implementar corretamente o menu principal 10 Total 100 Exigências de Saída ES Pts ES 1 Apresentar a inserção de 10 pacientes 50 ES 2 Apresentar a impressão da lista de espera 30 ES 3 Apresentar o atendimento de 2 pacientes 20 Total 100 QUESTÃO 2 Exigências de Código EC Pts EC 1 Implementar corretamente a Tabela Hash 20 EC 2 Implementar corretamente a Lista Encadeada Simples 10 EC 3 Implementar corretamente a inserção no inicio 10 EC 4 Implementar corretamente a impressão da Tabela Hash 20 EC 5 Implementar corretamente a função hash para os estados 10 EC 6 Implementar corretamente a função para o Distrito Federal 10 EC 7 Implementar corretamente a inserção dos estados na tabela 10 EC 8 Implementar corretamente a inserção de um estado com seu nome 10 Total 100 Exigências de Saída ES Pts ES 1 Apresentar a impressão da Tabela Hash vazia 30 ES 2 Apresentar a impressão da Tabela Hash com 26 estados DF 30 ES 3 Apresentar a impressão da Tabela Hash Completa com seu nome 40 Total 100
9
Estrutura de Dados
UNINTER
16
Estrutura de Dados
UNINTER
29
Estrutura de Dados
UNINTER
29
Estrutura de Dados
UNINTER
28
Estrutura de Dados
UNIPA
5
Estrutura de Dados
UMG
6
Estrutura de Dados
UMG
9
Estrutura de Dados
UNIPA
9
Estrutura de Dados
SENAC
3
Estrutura de Dados
UMG
Texto de pré-visualização
ANO 2025 ATIVIDADE PRÁTICA ESTRUTURA DE DADOS PROGRAMAÇÃO III COLOQUE SEU NOME AQUI RU XXXXXX Prof Me Bruno Kostiuk INSTRUÇÕES SOMENTE INFORMATIVO PODE APAGAR AO ENTREGAR O TRABALHO Esta atividade deve ser desenvolvida individualmente não sendo permitido a utilização de Inteligência Artificial para resolução das questões A entrega deve ser feita na seção Trabalhos do Univirtus Depois do arquivo enviado não há possibilidade de reenvio Verifique o arquivo enviado antes de confirmar a entrega Só envie seu trabalho quando tiver certeza de que está tudo correto Preste muita atenção ao prazo Não haverá prorrogação Só serão aceitas submissões em formato doc ou docx Pois estes formatos mantém a indentação do Python facilitando a execução dos códigos de vocês Em caso de dificuldade na elaboração ou publicação do trabalho envie uma tutoria Iremos auxiliar na tutoria desde que não envolva fazer uma correção prévia do trabalho Na tutoria nós damos dicas de como solucionar o problema mas a solução é com vocês alunos As quatro questões não poderão ser feitas por qualquer tipo de Inteligência Artificial Caso seja identificado esse método de solução o trabalho receberá nota zero automaticamente A proposta deste trabalho é que o aluno coloque em prática e demonstre suas competências e habilidades adquiridas ao longo da disciplina Para isso pedese neste trabalho a confecção e entrega das duas questões a seguir QUESTÃO 1 de 2 Lista Encadeada Enunciado Com a finalidade de melhorar o atendimento e priorizar os casos mais urgentes a direção de um hospital criou um sistema de triagem em que um profissional da saúde classifica a ordem de atendimento com base numa avaliação prévia do paciente entregandolhe um cartão numerado verde V ou amarelo A que define o menor ou maior grau de urgência da ocorrência respectivamente Para informatizar esse processo a direção do hospital contratou você para desenvolver uma fila de chamada seguindo as seguintes regras Pacientes com cartão numerado amarelo A são chamados antes dos pacientes com cartão numerado verde V Entre os pacientes com cartão numerado amarelo A os que tem numeração menor são atendidos antes Entre os pacientes com cartão numerado verde V os que tem numeração menor são atendidos antes As numerações dos cartões verdes V iniciam em 1 As numerações dos cartões amarelos A iniciam em 201 Elabore um programa em Python que A Devese implementar uma Lista Encadeada Simples em que EXIGÊNCIA DE CÓDIGO 1 de 7 a O Nodo representa um cartão numerado contendo número cor e um ponteiro para o próximo b A lista é não circular ou seja seu último elemento aponta para nulo B Devese implementar a função inserirSemPrioridadenodo em que EXIGÊNCIA DE CÓDIGO 2 de 7 a Devese andar pela lista a partir da cabeça head e inserir o nodo no final da lista C Devese implementar a função inserirComPrioridadenodo em que EXIGÊNCIA DE CÓDIGO 3 de 7 a Devese andar pela lista a partir da cabeça head e inserir o nodo após todos os nodos com cor A que estão na lista b O nodo inserido deve sempre estar antes de todos os nodos com cor V D Devese implementar a função inserir em que EXIGÊNCIA DE CÓDIGO 4 de 7 a Devese solicitar ao usuário a cor A ou V b A partir da cor o número inteiro do paciente deve ser atribuído automaticamente seguindo a ordem numérica Por exemplo o primeiro paciente V será o 1 o segundo 2 e assim por diante c Devese criar um nodo com a cor e o número atribuído ao paciente d Se a lista estiver vazia a cabeça head da lista deve apontar para o nodo criado Senão se a cor do nodo for V devese chamar a função inserirSemPrioridadenodo Senão se a cor do nodo for A devese chamar a função inserirComPriordadenodo E Devese implementar a função imprimirListaEspera em que EXIGÊNCIA DE CÓDIGO 5 de 7 a Devese imprimir todos os cartões e seus respectivos números a partir do primeiro até o último da lista F Devese implementar a função atenderPaciente em que EXIGÊNCIA DE CÓDIGO 6 de 7 a Devese remover o primeiro paciente da fila e imprimir uma mensagem chamando o paciente para atendimento informando o número do seu cartão G Devese implementar um menu para utilização do sistema em que EXIGÊNCIA DE CÓDIGO 7 de 7 a Devese apresentar as opções 1 adicionar paciente a fila 2 mostrar pacientes na fila 3 chamar paciente 4 sair b Se escolhida a opção 1 chamar a função inserir c Se escolhida a opção 2 chamar a função imprimirListaEspera d Se escolhida a opção 3 chamar a função atenderPaciente e Se escolhida a opção 4 encerrar o programa f Se escolhida uma opção diferente as opções disponíveis volte para o menu Para testar o software execute os seguintes passos e apresente a saída do console conforme exemplo de saída de console próxima página H Devese testar o sistema inserindo três 3 pacientes com cartão de cor V dois 2 pacientes com cartão de cor A dois 2 pacientes com cartão V e três 3 pacientes com cartão de cor A nessa respectiva ordem EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 3 I Devese apresentar na saída de console a impressão da lista de espera opção 2 do menu principal EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 3 J Devese apresentar na saída de console o atendimento de dois 2 pacientes opção 3 do menu principal e em seguida mostrar a lista de espera opção 2 do menu principal EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 3 EXEMPLO DE SAÍDA DE CONSOLE SOMENTE INFORMATIVO PODE APAGAR AO ENTREGAR O TRABALHO Figura 1 Exemplo de saída de console que o aluno deve fazer Em que se insere 10 pacientes 5 com cartão verde e 5 com cartão amarelo conforme EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 3 Figura 2 Exemplo de saída de console que o aluno deve fazer Em que mostra a lista de pacientes conforme EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 3 Figura 3 Exemplo de saída de console que o aluno deve fazer Em que ele chama dois pacientes para atendimento e em seguida mostra a lista de pacientes conforme EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 3 Apresentação de Código da Questão 1 SUBSTITUIR ESSE TEXTO QUE ESTÁ EM VERMELHO PELO SEU CÓDIGO DO EXERCÍCIO 1 NÃO ESQUECER DE CUMPRIR AS EXIGÊNCIAS DE CÓDIGO O CÓDIGO DEVE ESTAR IDENTADO SERÃO ACEITOS SOMENTE CÓDIGOS NO FORMATO TEXTO NADA DE IMAGEM NEM PRINT ZERA A QUESTÃO Apresentação de Saída do Console da Questão 1 SUBSTITUIR ESSE TEXTO QUE ESTÁ EM LARANJA PELA A SAÍDA DO CONSOLE DO EXERCÍCIO 1 NÃO ESQUECER DE CUMPRIR AS EXIGÊNCIAS SERÁ ACEITO SOMETE SAÍDAS DO CONSOLE NO FORMATO IMAGEM NADA DE TEXTO AQUI ZERA ESSA PARTE DA QUESTÃO QUESTÃO 2 de 2 Tabela Hash Enunciado Com o objetivo de criar um sistema novo de emplacamento de veículos deputados em do Distrito Federal DF decidiram que o último número da placa dos veículos irá representar o estado de registro dele Para isso sua equipe de desenvolvedores foi encarregada de desenvolver uma Tabela Hash com endereçamento em cadeia de 10 posições cada posição do vetor deve ser uma lista encadeada representando os números de 0 a 9 que irão representar os 26 estados e o Distrito Federal total 27 A função hash deve seguir as seguintes regras A entrada da função hash deve ser uma string com 2 letras representando a sigla do estado eou distrito federal Caso a sigla seja DF Distrito Federal por questões de superstição os deputados solicitaram que o retorno da função seja 7 sempre Caso contrário a função deve retornar a posição com base no valor ASCII das duas letras e seguindo a seguinte regra posiçãoCHAR1ASCIICHAR2ASCII MOD10 Onde CHAR1ASCII e CHAR2ASCII são os valores ASCII da primeira e segunda letra respectivamente Tabela ASCII no final do documento Elabore um programa em Python que A Devese implementar a tabela Hash com 10 posições onde inicialmente todas as posições possuem valor None EXIGÊNCIA DE CÓDIGO 1 de 7 B Devese implementar as Listas Encadeadas Simples em que EXIGÊNCIA DE CÓDIGO 2 de 7 a O Nodo representa um Estado contendo sigla nomeEstado e um ponteiro para o próximo b As 10 posições da tabela hash representam a cabeça de cada lista head C Devese implementar a inserção no início da lista encadeada cada elemento novo deve ser sempre inserido no início da lista EXIGÊNCIA DE CÓDIGO 3 de 7 D Devese implementar a impressão da tabela hash onde devem ser impressas as siglas de todos os nodos que estão na tabela hash separados por posição EXIGÊNCIA DE CÓDIGO 4 de 7 E Devese implementar a função hash conforme enunciado EXIGÊNCIA DE CÓDIGO 5 de 7 F Devese implementar a inserção dos estados e distrito federal todos os 27 com nome e sigla na tabela hash utilizando a função hash não precisa solicitar ao usuário a digitação via teclado pode inserir no código mesmo de modo hard code EXIGÊNCIA DE CÓDIGO 6 de 7 G Devese inserir na Tabela além dos estados e distrito federal um estado fictício sendo que esse estado tenha seu nome completo e como siglas a primeira letra do seu nome e a primeira letra do seu último sobrenome Exemplo Bruno Kostiuk BK EXIGÊNCIA DE CÓDIGO 7 de 7 Para testar o software execute os seguintes passos e apresente a saída do console conforme exemplo de saída de console próxima página H Devese apresentar na saída de console a impressão da tabela hash antes de inserir qualquer informação EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 3 I Devese apresentar na saída de console a impressão da tabela hash após inserir os 26 estados e o Distrito Federal DF EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 3 J Devese apresentar na saída de console a impressão da tabela hash após inserir os 26 estados Distrito Federal DF e o estado fictício com seu nome completo EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 3 EXEMPLO DE SAÍDA DE CONSOLE SOMENTE INFORMATIVO PODE APAGAR AO ENTREGAR O TRABALHO Figura 1 Exemplo de saída de console que o aluno deve fazer Impressão da tabela hash antes de inserir qualquer informação conforme EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 3 Figura 2 Exemplo de saída de console que o aluno deve fazer Impressão da tabela hash após inserir os 26 estados e o Distrito Federal DF conforme EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 3 Figura 3 Exemplo de saída de console que o aluno deve fazer Impressão da tabela hash após inserir os 26 estados Distrito Federal DF e o estado fictício com seu nome completo No caso foi inserido BK na posição 1 conforme EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 3 Apresentação de Código da Questão 2 SUBSTITUIR ESSE TEXTO QUE ESTÁ EM VERMELHO PELO SEU CÓDIGO DO EXERCÍCIO 2 NÃO ESQUECER DE CUMPRIR AS EXIGÊNCIAS DE CÓDIGO O CÓDIGO DEVE ESTAR IDENTADO SERÃO ACEITOS SOMENTE CÓDIGOS NO FORMATO TEXTO NADA DE IMAGEM NEM PRINT ZERA A QUESTÃO Apresentação de Saída do Console da Questão 2 SUBSTITUIR ESSE TEXTO QUE ESTÁ EM LARANJA PELA A SAÍDA DO CONSOLE DO EXERCÍCIO 2 NÃO ESQUECER DE CUMPRIR AS EXIGÊNCIAS SERÁ ACEITO SOMETE SAÍDAS DO CONSOLE NO FORMATO IMAGEM NADA DE TEXTO AQUI ZERA ESSA PARTE DA QUESTÃO CRITÉRIOS DE AVALIAÇÃO SOMENTE INFORMATIVO PODE APAGAR AO ENTREGAR O TRABALHO A avaliação se dará através de critérios estritamente objetivos Dentro de cada questão metade da nota se refere as exigências de implementação do código EC e a outra metade as exigências de saída ES de funcionamento do código NOTAQUEST Ã O NOTAECNOTA ES 2 Cada questão vale metade da nota da atividade Assim calculamos a sua nota final na atividade prática com a fórmula abaixo NOTAAP NOTAQUEST ÃO1NOTAQUEST Ã O2 2 Os critérios e suas respectivas pontuações estão na tabela a seguir QUESTÃO 1 Exigências de Código EC Pts EC 1 Implementar corretamente a Lista Encadeada Simples 10 EC 2 Implementar corretamente a funçãométodo inserirSemPrioridade 15 EC 3 Implementar corretamente a funçãométodo inserirComPrioridade 30 EC 4 Implementar corretamente a funçãométodo inserir 15 EC 5 Implementar corretamente a funçãométodo imprimirListaEspera 10 EC 6 Implementar corretamente a funçãométodo atenderPaciente 10 EC 7 Implementar corretamente o menu principal 10 Total 100 Exigências de Saída ES Pts ES 1 Apresentar a inserção de 10 pacientes 50 ES 2 Apresentar a impressão da lista de espera 30 ES 3 Apresentar o atendimento de 2 pacientes 20 Total 100 QUESTÃO 2 Exigências de Código EC Pts EC 1 Implementar corretamente a Tabela Hash 20 EC 2 Implementar corretamente a Lista Encadeada Simples 10 EC 3 Implementar corretamente a inserção no inicio 10 EC 4 Implementar corretamente a impressão da Tabela Hash 20 EC 5 Implementar corretamente a função hash para os estados 10 EC 6 Implementar corretamente a função para o Distrito Federal 10 EC 7 Implementar corretamente a inserção dos estados na tabela 10 EC 8 Implementar corretamente a inserção de um estado com seu nome 10 Total 100 Exigências de Saída ES Pts ES 1 Apresentar a impressão da Tabela Hash vazia 30 ES 2 Apresentar a impressão da Tabela Hash com 26 estados DF 30 ES 3 Apresentar a impressão da Tabela Hash Completa com seu nome 40 Total 100 ANO 2025 ATIVIDADE PRÁTICA ESTRUTURA DE DADOS PROGRAMAÇÃO III COLOQUE SEU NOME AQUI RU XXXXXX Prof Me Bruno Kostiuk INSTRUÇÕES SOMENTE INFORMATIVO PODE APAGAR AO ENTREGAR O TRABALHO Esta atividade deve ser desenvolvida individualmente não sendo permitido a utilização de Inteligência Artificial para resolução das questões A entrega deve ser feita na seção Trabalhos do Univirtus Depois do arquivo enviado não há possibilidade de reenvio Verifique o arquivo enviado antes de confirmar a entrega Só envie seu trabalho quando tiver certeza de que está tudo correto Preste muita atenção ao prazo Não haverá prorrogação Só serão aceitas submissões em formato doc ou docx Pois estes formatos mantém a indentação do Python facilitando a execução dos códigos de vocês Em caso de dificuldade na elaboração ou publicação do trabalho envie uma tutoria Iremos auxiliar na tutoria desde que não envolva fazer uma correção prévia do trabalho Na tutoria nós damos dicas de como solucionar o problema mas a solução é com vocês alunos As quatro questões não poderão ser feitas por qualquer tipo de Inteligência Artificial Caso seja identificado esse método de solução o trabalho receberá nota zero automaticamente A proposta deste trabalho é que o aluno coloque em prática e demonstre suas competências e habilidades adquiridas ao longo da disciplina Para isso pedese neste trabalho a confecção e entrega das duas questões a seguir QUESTÃO 1 de 2 Lista Encadeada Enunciado Com a finalidade de melhorar o atendimento e priorizar os casos mais urgentes a direção de um hospital criou um sistema de triagem em que um profissional da saúde classifica a ordem de atendimento com base numa avaliação prévia do paciente entregandolhe um cartão numerado verde V ou amarelo A que define o menor ou maior grau de urgência da ocorrência respectivamente Para informatizar esse processo a direção do hospital contratou você para desenvolver uma fila de chamada seguindo as seguintes regras Pacientes com cartão numerado amarelo A são chamados antes dos pacientes com cartão numerado verde V Entre os pacientes com cartão numerado amarelo A os que tem numeração menor são atendidos antes Entre os pacientes com cartão numerado verde V os que tem numeração menor são atendidos antes As numerações dos cartões verdes V iniciam em 1 As numerações dos cartões amarelos A iniciam em 201 Elabore um programa em Python que A Devese implementar uma Lista Encadeada Simples em que EXIGÊNCIA DE CÓDIGO 1 de 7 a O Nodo representa um cartão numerado contendo número cor e um ponteiro para o próximo b A lista é não circular ou seja seu último elemento aponta para nulo B Devese implementar a função inserirSemPrioridadenodo em que EXIGÊNCIA DE CÓDIGO 2 de 7 a Devese andar pela lista a partir da cabeça head e inserir o nodo no final da lista C Devese implementar a função inserirComPrioridadenodo em que EXIGÊNCIA DE CÓDIGO 3 de 7 a Devese andar pela lista a partir da cabeça head e inserir o nodo após todos os nodos com cor A que estão na lista b O nodo inserido deve sempre estar antes de todos os nodos com cor V D Devese implementar a função inserir em que EXIGÊNCIA DE CÓDIGO 4 de 7 a Devese solicitar ao usuário a cor A ou V b A partir da cor o número inteiro do paciente deve ser atribuído automaticamente seguindo a ordem numérica Por exemplo o primeiro paciente V será o 1 o segundo 2 e assim por diante c Devese criar um nodo com a cor e o número atribuído ao paciente d Se a lista estiver vazia a cabeça head da lista deve apontar para o nodo criado Senão se a cor do nodo for V devese chamar a função inserirSemPrioridadenodo Senão se a cor do nodo for A devese chamar a função inserirComPriordadenodo E Devese implementar a função imprimirListaEspera em que EXIGÊNCIA DE CÓDIGO 5 de 7 a Devese imprimir todos os cartões e seus respectivos números a partir do primeiro até o último da lista F Devese implementar a função atenderPaciente em que EXIGÊNCIA DE CÓDIGO 6 de 7 a Devese remover o primeiro paciente da fila e imprimir uma mensagem chamando o paciente para atendimento informando o número do seu cartão G Devese implementar um menu para utilização do sistema em que EXIGÊNCIA DE CÓDIGO 7 de 7 a Devese apresentar as opções 1 adicionar paciente a fila 2 mostrar pacientes na fila 3 chamar paciente 4 sair b Se escolhida a opção 1 chamar a função inserir c Se escolhida a opção 2 chamar a função imprimirListaEspera d Se escolhida a opção 3 chamar a função atenderPaciente e Se escolhida a opção 4 encerrar o programa f Se escolhida uma opção diferente as opções disponíveis volte para o menu Para testar o software execute os seguintes passos e apresente a saída do console conforme exemplo de saída de console próxima página H Devese testar o sistema inserindo três 3 pacientes com cartão de cor V dois 2 pacientes com cartão de cor A dois 2 pacientes com cartão V e três 3 pacientes com cartão de cor A nessa respectiva ordem EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 3 I Devese apresentar na saída de console a impressão da lista de espera opção 2 do menu principal EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 3 J Devese apresentar na saída de console o atendimento de dois 2 pacientes opção 3 do menu principal e em seguida mostrar a lista de espera opção 2 do menu principal EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 3 Apresentação de Código da Questão 1 class Nodo Representa um cartão numerado de paciente def initself numero cor selfnumero numero selfcor cor selfproximo None class ListaEncadeada Lista Encadeada Simples para gerenciar a fila de pacientes Exigência de código 1 def initself selfhead None selfcontadorverde 1 Numeração dos cartões verdes inicia em 1 selfcontadoramarelo 201 Numeração dos cartões amarelos inicia em 201 def inserirSemPrioridadeself nodo Insere o nodo no final da lista Exigência de código 2 if selfhead is None selfhead nodo else atual selfhead while atualproximo is not None atual atualproximo atualproximo nodo def inserirComPrioridadeself nodo Insere o nodo após todos os nodos com cor A que estão na lista Exigência de código 3 if selfhead is None selfhead nodo return Se a lista só tem cartões verdes inserir no início if selfheadcor V nodoproximo selfhead selfhead nodo return Encontrar a posição após o último cartão amarelo atual selfhead anterior None Percorrer todos os cartões amarelos while atual is not None and atualcor A anterior atual atual atualproximo Inserir após o último cartão amarelo if anterior is not None nodoproximo anteriorproximo anteriorproximo nodo else Caso não haja cartões amarelos só verdes nodoproximo selfhead selfhead nodo def inserirself Solicita cor do usuário e insere paciente na lista Exigência de código 4 while True cor inputDigite a cor do cartão A para amarelo V para verde upperstrip if cor in A V break printCor inválida Digite A para amarelo ou V para verde Atribuir número automaticamente baseado na cor if cor V numero selfcontadorverde selfcontadorverde 1 else cor A numero selfcontadoramarelo selfcontadoramarelo 1 Criar nodo nodo Nodonumero cor Inserir na lista if selfhead is None selfhead nodo elif cor V selfinserirSemPrioridadenodo else cor A selfinserirComPrioridadenodo printfPaciente adicionado Cartão cornumero def imprimirListaEsperaself Imprime todos os cartões da lista em ordem de atendimento Exigência de código 5 if selfhead is None printNão há pacientes na fila de espera return print FILA DE ESPERA atual selfhead posicao 1 while atual is not None printfPosição posicao Cartão atualcoratualnumero atual atualproximo posicao 1 print 22 def atenderPacienteself Remove o primeiro paciente da fila e chama para atendimento Exigência de código 6 if selfhead is None printNão há pacientes na fila para atendimento return Remover o primeiro paciente paciente selfhead selfhead selfheadproximo printf CHAMANDO PARA ATENDIMENTO Paciente do cartão pacientecorpacientenumero def menu Exibe o menu principal do sistema Exigência de código 7 lista ListaEncadeada while True printSISTEMA DE TRIAGEM HOSPITALAR print print1 Adicionar paciente à fila print2 Mostrar pacientes na fila print3 Chamar paciente print4 Sair print try opcao intinputEscolha uma opção if opcao 1 listainserir elif opcao 2 listaimprimirListaEspera elif opcao 3 listaatenderPaciente elif opcao 4 printEncerrando sistema de triagem Até logo break else printOpção inválida Escolha uma opção de 1 a 4 except ValueError printPor favor digite um número válido Executar o programa if name main menu Apresentação de Saída do Console da Questão 1 Adicionando os pacientes Apre Lista de espera Chamando 2 pacientes e mostrando a lista QUESTÃO 2 de 2 Tabela Hash Enunciado Com o objetivo de criar um sistema novo de emplacamento de veículos deputados em do Distrito Federal DF decidiram que o último número da placa dos veículos irá representar o estado de registro dele Para isso sua equipe de desenvolvedores foi encarregada de desenvolver uma Tabela Hash com endereçamento em cadeia de 10 posições cada posição do vetor deve ser uma lista encadeada representando os números de 0 a 9 que irão representar os 26 estados e o Distrito Federal total 27 A função hash deve seguir as seguintes regras A entrada da função hash deve ser uma string com 2 letras representando a sigla do estado eou distrito federal Caso a sigla seja DF Distrito Federal por questões de superstição os deputados solicitaram que o retorno da função seja 7 sempre Caso contrário a função deve retornar a posição com base no valor ASCII das duas letras e seguindo a seguinte regra posiçãoCHAR1ASCIICHAR2ASCII MOD10 Onde CHAR1ASCII e CHAR2ASCII são os valores ASCII da primeira e segunda letra respectivamente Tabela ASCII no final do documento Elabore um programa em Python que A Devese implementar a tabela Hash com 10 posições onde inicialmente todas as posições possuem valor None EXIGÊNCIA DE CÓDIGO 1 de 7 B Devese implementar as Listas Encadeadas Simples em que EXIGÊNCIA DE CÓDIGO 2 de 7 a O Nodo representa um Estado contendo sigla nomeEstado e um ponteiro para o próximo b As 10 posições da tabela hash representam a cabeça de cada lista head C Devese implementar a inserção no início da lista encadeada cada elemento novo deve ser sempre inserido no início da lista EXIGÊNCIA DE CÓDIGO 3 de 7 D Devese implementar a impressão da tabela hash onde devem ser impressas as siglas de todos os nodos que estão na tabela hash separados por posição EXIGÊNCIA DE CÓDIGO 4 de 7 E Devese implementar a função hash conforme enunciado EXIGÊNCIA DE CÓDIGO 5 de 7 F Devese implementar a inserção dos estados e distrito federal todos os 27 com nome e sigla na tabela hash utilizando a função hash não precisa solicitar ao usuário a digitação via teclado pode inserir no código mesmo de modo hard code EXIGÊNCIA DE CÓDIGO 6 de 7 G Devese inserir na Tabela além dos estados e distrito federal um estado fictício sendo que esse estado tenha seu nome completo e como siglas a primeira letra do seu nome e a primeira letra do seu último sobrenome Exemplo Bruno Kostiuk BK EXIGÊNCIA DE CÓDIGO 7 de 7 Para testar o software execute os seguintes passos e apresente a saída do console conforme exemplo de saída de console próxima página H Devese apresentar na saída de console a impressão da tabela hash antes de inserir qualquer informação EXIGÊNCIA DE SAÍDA DE CONSOLE 1 de 3 I Devese apresentar na saída de console a impressão da tabela hash após inserir os 26 estados e o Distrito Federal DF EXIGÊNCIA DE SAÍDA DE CONSOLE 2 de 3 J Devese apresentar na saída de console a impressão da tabela hash após inserir os 26 estados Distrito Federal DF e o estado fictício com seu nome completo EXIGÊNCIA DE SAÍDA DE CONSOLE 3 de 3 Apresentação de Código da Questão 2 Sistema de Emplacamento de Veículos Tabela Hash com Endereçamento em Cadeia class Nodo Classe que representa um nodo da lista encadeada def initself sigla nomeestado selfsigla sigla selfnomeestado nomeestado selfproximo None class TabelaHash Classe que implementa a tabela hash com listas encadeadas def initself Inicializa a tabela hash com 10 posições todas com valor None selftabela None 10 def funcaohashself sigla Função hash que calcula a posição baseada na sigla do estado Caso especial para o Distrito Federal if sigla DF return 7 Calcula o hash baseado nos valores ASCII das duas letras asciiprimeira ordsigla0 asciisegunda ordsigla1 Aplicando a fórmula asciiprimeira asciisegunda 10 posicao asciiprimeira asciisegunda 10 return posicao def inserirself sigla nomeestado Insere um estado na tabela hash sempre no início da lista posicao selffuncaohashsigla novonodo Nodosigla nomeestado Inserção no início da lista encadeada novonodoproximo selftabelaposicao selftabelaposicao novonodo def imprimirtabelaself Imprime a tabela hash separada por posições for i in range10 printfi end Se a posição estiver vazia if selftabelai is None printNone else Percorre a lista encadeada e imprime as siglas atual selftabelai siglas while atual is not None siglasappendatualsigla atual atualproximo printjoinsiglas None def main Criação da tabela hash tabela TabelaHash Estados e Distrito Federal do Brasil estados AC Acre AL Alagoas AP Amapá AM Amazonas BA Bahia CE Ceará DF Distrito Federal ES Espírito Santo GO Goiás MA Maranhão MT Mato Grosso MS Mato Grosso do Sul MG Minas Gerais PA Pará PB Paraíba PR Paraná PE Pernambuco PI Piauí RJ Rio de Janeiro RN Rio Grande do Norte RS Rio Grande do Sul RO Rondônia RR Roraima SC Santa Catarina SP São Paulo SE Sergipe TO Tocantins tabelaimprimirtabela print for sigla nome in estados tabelainserirsigla nome tabelaimprimirtabela print tabelainserirBK Bruno Kostiuk tabelaimprimirtabela if name main main Apresentação de Saída do Console da Questão 2 CRITÉRIOS DE AVALIAÇÃO SOMENTE INFORMATIVO PODE APAGAR AO ENTREGAR O TRABALHO A avaliação se dará através de critérios estritamente objetivos Dentro de cada questão metade da nota se refere as exigências de implementação do código EC e a outra metade as exigências de saída ES de funcionamento do código NOTAQUEST Ã O NOTAECNOTA ES 2 Cada questão vale metade da nota da atividade Assim calculamos a sua nota final na atividade prática com a fórmula abaixo NOTAAP NOTAQUEST ÃO1NOTAQUEST Ã O2 2 Os critérios e suas respectivas pontuações estão na tabela a seguir QUESTÃO 1 Exigências de Código EC Pts EC 1 Implementar corretamente a Lista Encadeada Simples 10 EC 2 Implementar corretamente a funçãométodo inserirSemPrioridade 15 EC 3 Implementar corretamente a funçãométodo inserirComPrioridade 30 EC 4 Implementar corretamente a funçãométodo inserir 15 EC 5 Implementar corretamente a funçãométodo imprimirListaEspera 10 EC 6 Implementar corretamente a funçãométodo atenderPaciente 10 EC 7 Implementar corretamente o menu principal 10 Total 100 Exigências de Saída ES Pts ES 1 Apresentar a inserção de 10 pacientes 50 ES 2 Apresentar a impressão da lista de espera 30 ES 3 Apresentar o atendimento de 2 pacientes 20 Total 100 QUESTÃO 2 Exigências de Código EC Pts EC 1 Implementar corretamente a Tabela Hash 20 EC 2 Implementar corretamente a Lista Encadeada Simples 10 EC 3 Implementar corretamente a inserção no inicio 10 EC 4 Implementar corretamente a impressão da Tabela Hash 20 EC 5 Implementar corretamente a função hash para os estados 10 EC 6 Implementar corretamente a função para o Distrito Federal 10 EC 7 Implementar corretamente a inserção dos estados na tabela 10 EC 8 Implementar corretamente a inserção de um estado com seu nome 10 Total 100 Exigências de Saída ES Pts ES 1 Apresentar a impressão da Tabela Hash vazia 30 ES 2 Apresentar a impressão da Tabela Hash com 26 estados DF 30 ES 3 Apresentar a impressão da Tabela Hash Completa com seu nome 40 Total 100