9
Estrutura de Dados
UNINTER
16
Estrutura de Dados
UNINTER
30
Estrutura de Dados
UNINTER
29
Estrutura de Dados
UNINTER
9
Estrutura de Dados
SENAC
3
Estrutura de Dados
UMG
9
Estrutura de Dados
UMG
7
Estrutura de Dados
SENAC
3
Estrutura de Dados
UAM
4
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 duas 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ÃONOTAECNOTAES 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 Luis Fernando dos Santos Junior RU 4637844 Prof Me Bruno Kostiuk 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 numglobalV 1 numglobalA 201 class Nodo def initself cor numero None selfcor cor selfnumero numero selfproximo None class ListaEncadeada def initself None selfhead None def inserirSemPrioridadeself cor numero nodoadd Nodocor numero if selfhead is None nodoaddproximo selfhead selfhead nodoadd else anterior selfhead while anteriorproximo is not None anterior anteriorproximo anteriorproximo nodoadd nodoaddproximo None return def inserirComPrioridadeself cor numero nodoadd Nodocor numero se lista vazia deve inserir no começo da lista if selfhead is None or selfverificaPosicaonodoadd selfhead nodoaddproximo selfhead selfhead nodoadd return procura a posição para inserção do novo nodo nodo selfhead while nodoproximo and not selfverificaPosicaonodoadd nodoproximo nodo nodoproximo logica para adicionar o novo nodo nodoaddproximo nodoproximo nodoproximo nodoadd return def verificaPosicaoself nodoadd antigo if nodoaddcor a and antigocor v return True return False def imprimirListaEsperaself if selfhead None printA fila está vazia return printLista end nodo selfhead while nodo is not None printfnodocornodonumero end nodo nodoproximo def atenderPacienteself if selfhead None printA fila está vazia return nodoremover selfhead selfhead nodoremoverproximo printfAtendendo o paciente cartão cor nodoremovercor e número nodoremovernumero listaEncadeada ListaEncadeada def inserir global numglobalA global numglobalV whileTrue cor inputInforme a cor do cartão AV cor corlower if cor not in av print A opção escolhida e inválida continue if listaEncadeadahead None if cor a printfInforme o número do cartãonumglobalA numero numglobalA numglobalA 1 elif cor v printfInforme o número do cartãonumglobalV numero numglobalV numglobalV 1 listaEncadeadainserirSemPrioridadecor numero return elif cor v printfInforme o número do cartãonumglobalV numero numglobalV numglobalV 1 listaEncadeadainserirSemPrioridadecor numero return elif cor a printfInforme o número do cartãonumglobalA numero numglobalA numglobalA 1 listaEncadeadainserirComPrioridadecor numero return whileTrue opcao intinput 1 Adicionar paciente a fila 2 Mostrar pacientes na fila 3 Chamar paciente 4 Sair if opcao not in 1234 print A opção informada e inválida tente novamente continue if opcao 1 inserir elif opcao 2 listaEncadeadaimprimirListaEspera elif opcao 3 listaEncadeadaatenderPaciente else break Apresentação de Saída do Console da Questão 1 QUESTÃO 2 de 2 Tabela Hash Enunciado Com o objetivo de criar um sistema novo de emplacamento de veículos os deputados 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 class Node def initself sigla nomeEstado selfsigla sigla selfnomeEstado nomeEstado selfproximo None class TabelaHash def initself selftamanho 10 selftabela None selftamanho def hashself sigla nomeEstado if sigla DF posicao 7 else posicao selfvalorASCIIsigla0 selfvalorASCIIsigla1 10 novonode Nodesigla nomeEstado novonodeproximo selftabelaposicao selftabelaposicao novonode def valorASCIIself letra return ABCDEFGHIJKLMNOPQRSTUVWXYZindexletra 65 def imprimirTabelaself for index in rangeselftamanho printfindex end atual selftabelaindex while atual printfatualsigla end atual atualproximo printNone tabela TabelaHash tabelaimprimirTabela print30 estados AC Acre AL Alagoas AP Amapá AM Amazonas DF Distrito Federal ES Espírito Santo GO Goiás MA Maranhão MT Mato Grosso MS Mato Grosso do Sul MG Minas Gerais 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 PA Pará BA Bahia CE Ceará for sigla nome in estados tabelahashsigla nome tabelaimprimirTabela print30 tabelahashLJ Luis Fernando dos Santos Junior tabelaimprimirTabela Apresentação de Saída do Console da Questão 2
9
Estrutura de Dados
UNINTER
16
Estrutura de Dados
UNINTER
30
Estrutura de Dados
UNINTER
29
Estrutura de Dados
UNINTER
9
Estrutura de Dados
SENAC
3
Estrutura de Dados
UMG
9
Estrutura de Dados
UMG
7
Estrutura de Dados
SENAC
3
Estrutura de Dados
UAM
4
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 duas 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ÃONOTAECNOTAES 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 Luis Fernando dos Santos Junior RU 4637844 Prof Me Bruno Kostiuk 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 numglobalV 1 numglobalA 201 class Nodo def initself cor numero None selfcor cor selfnumero numero selfproximo None class ListaEncadeada def initself None selfhead None def inserirSemPrioridadeself cor numero nodoadd Nodocor numero if selfhead is None nodoaddproximo selfhead selfhead nodoadd else anterior selfhead while anteriorproximo is not None anterior anteriorproximo anteriorproximo nodoadd nodoaddproximo None return def inserirComPrioridadeself cor numero nodoadd Nodocor numero se lista vazia deve inserir no começo da lista if selfhead is None or selfverificaPosicaonodoadd selfhead nodoaddproximo selfhead selfhead nodoadd return procura a posição para inserção do novo nodo nodo selfhead while nodoproximo and not selfverificaPosicaonodoadd nodoproximo nodo nodoproximo logica para adicionar o novo nodo nodoaddproximo nodoproximo nodoproximo nodoadd return def verificaPosicaoself nodoadd antigo if nodoaddcor a and antigocor v return True return False def imprimirListaEsperaself if selfhead None printA fila está vazia return printLista end nodo selfhead while nodo is not None printfnodocornodonumero end nodo nodoproximo def atenderPacienteself if selfhead None printA fila está vazia return nodoremover selfhead selfhead nodoremoverproximo printfAtendendo o paciente cartão cor nodoremovercor e número nodoremovernumero listaEncadeada ListaEncadeada def inserir global numglobalA global numglobalV whileTrue cor inputInforme a cor do cartão AV cor corlower if cor not in av print A opção escolhida e inválida continue if listaEncadeadahead None if cor a printfInforme o número do cartãonumglobalA numero numglobalA numglobalA 1 elif cor v printfInforme o número do cartãonumglobalV numero numglobalV numglobalV 1 listaEncadeadainserirSemPrioridadecor numero return elif cor v printfInforme o número do cartãonumglobalV numero numglobalV numglobalV 1 listaEncadeadainserirSemPrioridadecor numero return elif cor a printfInforme o número do cartãonumglobalA numero numglobalA numglobalA 1 listaEncadeadainserirComPrioridadecor numero return whileTrue opcao intinput 1 Adicionar paciente a fila 2 Mostrar pacientes na fila 3 Chamar paciente 4 Sair if opcao not in 1234 print A opção informada e inválida tente novamente continue if opcao 1 inserir elif opcao 2 listaEncadeadaimprimirListaEspera elif opcao 3 listaEncadeadaatenderPaciente else break Apresentação de Saída do Console da Questão 1 QUESTÃO 2 de 2 Tabela Hash Enunciado Com o objetivo de criar um sistema novo de emplacamento de veículos os deputados 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 class Node def initself sigla nomeEstado selfsigla sigla selfnomeEstado nomeEstado selfproximo None class TabelaHash def initself selftamanho 10 selftabela None selftamanho def hashself sigla nomeEstado if sigla DF posicao 7 else posicao selfvalorASCIIsigla0 selfvalorASCIIsigla1 10 novonode Nodesigla nomeEstado novonodeproximo selftabelaposicao selftabelaposicao novonode def valorASCIIself letra return ABCDEFGHIJKLMNOPQRSTUVWXYZindexletra 65 def imprimirTabelaself for index in rangeselftamanho printfindex end atual selftabelaindex while atual printfatualsigla end atual atualproximo printNone tabela TabelaHash tabelaimprimirTabela print30 estados AC Acre AL Alagoas AP Amapá AM Amazonas DF Distrito Federal ES Espírito Santo GO Goiás MA Maranhão MT Mato Grosso MS Mato Grosso do Sul MG Minas Gerais 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 PA Pará BA Bahia CE Ceará for sigla nome in estados tabelahashsigla nome tabelaimprimirTabela print30 tabelahashLJ Luis Fernando dos Santos Junior tabelaimprimirTabela Apresentação de Saída do Console da Questão 2