·
Análise e Desenvolvimento de Sistemas ·
Estrutura de Dados
Send your question to AI and receive an answer instantly
Recommended for you
9
Trabalho Prático de Estrutura de Dados
Estrutura de Dados
UNINTER
5
Av - Complexidade de Algoritmos - Nota 10
Estrutura de Dados
UMG
6
Questões 04 Banco de Dados
Estrutura de Dados
UMG
2
Avaliação 2 - Linguagens de Programação e Estruturas de Dados
Estrutura de Dados
UMG
4
Simulado Av 1
Estrutura de Dados
UMG
2
Implementacao de Arvore Binaria - Contagem de Nos Festivos e Impressao com Recuo
Estrutura de Dados
SENAC
1
TAD-LIVE-Gerenciamento-de-Lives-em-C-ou-Python
Estrutura de Dados
UCDB
7
Prova Discursiva Estrutura de Dados
Estrutura de Dados
UMG
1
uma Porta Lógica É um Ponto Virtual Onde Começam e Terminam as Conexões de Rede
Estrutura de Dados
UMG
11
Linguagens de Programaçao e Estruturas de Dados - Unopar
Estrutura de Dados
UNOPAR
Preview text
CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER ESCOLA SUPERIOR POLITÉCNICA CURSO ESTRUTURA DE DADOS ATIVIDADE PRÁTICA NOME ALUNO RU 1234567 SUA CIDADE SEU ESTADO 2024 1 EXERCÍCIO 1 Enunciado da Questão coloque aqui o enunciado do Exercício 1 Código completo coloque aqui a solução para o Exercício 1 Imagem do código funcionando no seu computador print do terminal coloque aqui as prints do terminal mostrando o funcionamento do seu código 2 EXERCÍCIO 2 Enunciado da Questão coloque aqui o enunciado do Exercício 2 Código completo coloque aqui a solução para o Exercício 2 Imagem do código funcionando no seu computador print do terminal coloque aqui as prints do terminal mostrando o funcionamento do seu código 3 EXERCÍCIO 3 Enunciado da Questão coloque aqui o enunciado do Exercício 3 Código completo coloque aqui a solução para o Exercício 3 Imagem do código funcionando no seu computador print do terminal coloque aqui as prints do terminal mostrando o funcionamento do seu código 1 4 EXERCÍCIO 4 Enunciado da Questão coloque aqui o enunciado do Exercício 4 Código completo coloque aqui a solução para o Exercício 4 Imagem do código funcionando no seu computador print do terminal coloque aqui as prints do terminal mostrando o funcionamento do seu código ATIVIDADE PRÁTICA ESTRUTURA DE DADOS Roteiro Elaborado por Profa Me Bruno Kostiuk ANO 2024 Roteiro de Atividade Prática de Estrutura de Dados 1 INTRODUÇÃO Olá a todos Sejam todos muito bemvindos Esta avaliação foi preparada e planejada para a disciplina de Estrutura de Dados O objetivo desta atividade é fazer com que você estudante desenvolva os conhecimentos teóricos aprendidos nas rotas de maneira práticas Para o desenvolvimento desta atividade iremos utilizar os conceitos que estudamos na disciplina Ao longo desse roteiro serão passadas as orientações gerais para realização da avaliação bem como os seus critérios de correção Seguindo o roteiro estarão as práticas a serem realizadas com explicações de como deve ser feita e como será avaliada No mais desejolhe boa atividade prática Roteiro de Atividade Prática de Estrutura de Dados 2 SUMÁRIO INTRODUÇÃO 1 ORIENTAÇÕES GERAIS 3 OBJETIVO 3 PROGRAMAS NECESSÁRIOS 3 ORIENTAÇÕES GERAIS 3 COMO SE DARÁ A CORREÇÃO DA ATIVIDADE 5 EXERCÍCIOS 7 Roteiro de Atividade Prática de Estrutura de Dados 3 ORIENTAÇÕES GERAIS Esta atividade é para ser realizada com consulta e pesquisa OBJETIVO Desenvolver os exercícios colocados no tópico Exercícios ao final deste documento PROGRAMAS NECESSÁRIOS Os exercícios que exigirem Implementação da Atividade Prática de Estrutura de Dados poderá ser realizado com a utilização do software Pycharm IMPORTANTE caso o estudante tenha familiaridade com outro ambiente de desenvolvimento Google Colab Visual Studio Code entre outros é possível utilizálo Porém nossa ferramenta oficial nessa disciplina é o Pycharm portanto fica a cargo do estudante saber utilizar as outras ferramentas ORIENTAÇÕES GERAIS O estudante deverá entregar um ARQUIVO ÚNICO NO FORMATO PDF no AVA no ícone Trabalhos Caso o formato de entrega seja diferente do formato PDF a nota máxima do trabalho será decrescida Submeter o trabalho em múltiplos arquivos separados ou em formato diferente do imposto acima acarretará redução de nota Esta atividade é para ser realizada com consulta e pesquisa Portanto não basta somente estudar o material da rota de aprendizagem Leia também os livros bases materiais complementares e procure seu tutor para tirar dúvidas diretamente via Canal de Tutoria Cada linha de código programada código escrito pelo estudante deverá ser explicada através de comentário A falta de comentários no código implicará em redução de nota Roteiro de Atividade Prática de Estrutura de Dados 4 Para cada exercício coloque no seu relatório o ENUNCIADO do mesmo e coloque como resposta o seu código COMPLETO Deste a primeira até a última linha que você digitou No Pycharm para inserir os códigos nas respostas faça um CTRLCCTRLV do código criado por você na ferramenta e coleo no documento do Word Pode ainda utilizar o botão direito do mouse para escolher a formatação adequada no word Assim o código já virá colorido organizado e indentado facilitando a correção da sua atividade No AVA existe um modelo em WORD para você utilizar Após concluir suas alterações salve o arquivo editado no formato PDF para entrega ou imprima em PDF Segue exemplo Clique em Salvar uma cópia em seguida selecione o formato PDF Ou clique em Imprimir e selecione a impressora Microsoft Print to PDF Qualquer dúvida sobre como salvar em PDF contate a Tutoria Além do código em python você deverá colocar uma captura de tela da saída do console Capture a saída mostrando a resposta Roteiro de Atividade Prática de Estrutura de Dados 5 COMO SE DARÁ A CORREÇÃO DA ATIVIDADE Como temos 4 questões Seus pesos estão igualmente distribuídos Para que você ganhe nota máxima em cada exercício você deverá desenvolver o código corretamente de forma que cumpra o que foi solicitado Além disso precisará cumprir os requisitos básicos explicados nas ORIENTAÇÕES GERAIS Salvar o documento em formato PDF Apresentar seu código completo indentado e organizado Explicar cada linha do seu código através de comentários Colocar uma IMAGEM com o terminal rodando e mostrando o que cada exercício pede Os requisitos têm influência direta na nota final do trabalho Salvar o documento em PDF a Enviar o documento em formato diferente irá descontar 20 da nota do trabalho Enviar o documento em arquivo corrompido irá descontar 100 da nota do trabalho ou seja o estudante irá automaticamente receber a nota ZERO Após enviar seu trabalho realize o download do arquivo e verifique se está tudo OK Caso haja algum problema envie o arquivo correto via Tutoria dentro do prazo de entrega do Trabalho Apresentar o código completo indentado e organizado a Códigos sem indentação ou indentação incorreta serão descontados 10 da nota final b A indentação em Python é muito importante se sua indentação estiver incorreta seu código também realizará algo diferente do que você deseja então tome cuidado com isso Caso não consiga indentar o código no documento de entrega envie também uma print do seu código dentro do ambiente de desenvolvimento mostrando que está tudo correto Roteiro de Atividade Prática de Estrutura de Dados 6 Explicar cada linha do seu código através de comentários a CADA LINHA DE CÓDIGO DESENVOLVIDA DEVE SER EXPLICADA Cada linha de código que você estudante desenvolver deve ser explicada através de comentários b Comentários valem 10 da nota final sendo que será a nota de comentários será baseada na fórmula 𝑵𝒐𝒕𝒂𝑪𝒐𝒎𝒆𝒏𝒕á𝒓𝒊𝒐𝒔 𝑻𝒐𝒕𝒂𝒍 𝒅𝒆 𝒍𝒊𝒏𝒉𝒂𝒔 𝒄𝒐𝒎𝒆𝒏𝒂𝒅𝒂𝒔 𝑪𝒐𝒓𝒓𝒆𝒕𝒂𝒎𝒆𝒏𝒕𝒆 𝑻𝒐𝒕𝒂𝒍 𝒅𝒆 𝒍𝒊𝒏𝒉𝒂𝒔 𝒑𝒓𝒐𝒈𝒓𝒂𝒎𝒂𝒅𝒂𝒔 c Comentários incompatíveis com o código desenvolvido serão desconsiderados d Exemplo de comentário correto Colocar uma IMAGEM com o terminal rodando e mostrando o que cada exercício pede a Não colocar um print do seu terminal rodando com os resultados do seu código irá descontar 10 de sua nota b Caso a print não seja possível através do código enviado print modificada ou induzida a apresentar um resultado será descontado 10 da nota c Exemplo de print Roteiro de Atividade Prática de Estrutura de Dados 7 A avaliação do trabalho seguirá conforme tabela abaixo Onde 𝐷𝑒𝑠𝑐𝑜𝑛𝑡𝑜𝑠 𝐴𝑟𝑞𝑢𝑖𝑣𝑜 𝐼𝑛𝑑𝑒𝑛𝑡𝑎çã𝑜 𝐶𝑜𝑚𝑒𝑛𝑡á𝑟𝑖𝑜𝑠 𝑃𝑟𝑖𝑛𝑡𝐷𝑜𝑇𝑒𝑟𝑚𝑖𝑛𝑎𝑙 𝑁𝑜𝑡𝑎𝐴𝑡𝑢𝑎𝑙𝑖𝑧𝑎𝑑𝑎 𝑁𝑜𝑡𝑎𝐸𝑥𝑒𝑟𝑐í𝑐𝑖𝑜 100 𝐷𝑒𝑠𝑐𝑜𝑛𝑡𝑜𝑠 E a Nota do Trabalho é a média entre a nota dos exercícios EXERCÍCIOS 1 O algoritmo de ordenação por intercalação ou Merge Sort usufrui da estratégia de dividir para conquistar O Merge Sort realiza a ordenação dividindo um conjunto de dados em metades iguais e reorganizando essas metades É um algoritmo que opera de maneira recursiva dividindo de maneira contínua o conjunto de dados até eles tornaremse indivisíveis Abaixo temos o código da função em Python do algoritmo Merge Sort def mergeSortdados if lendados 1 meio lendados2 esquerda dadosmeio direita dadosmeio mergeSortesquerda mergeSortdireita i j k 0 while ilenesquerda and jlendireita if esquerdaidireitaj dadoskesquerdai ii1 else Roteiro de Atividade Prática de Estrutura de Dados 8 dadoskdireitaj jj1 kk1 while ilenesquerda dadoskesquerdai ii1 kk1 while jlendireita dadoskdireitaj jj1 kk1 Para chamar a função acima utilizamos o seguinte trecho de código dados 54 26 93 17 77 31 44 55 mergeSortdados printdados Onde dados é o vetor de entrada da função Reescreva a função mergeSort de forma que ela realize a ordenação dos elementos do maior para o menor elemento Por exemplo Para a entrada 54 26 93 17 77 31 44 55 A saída deve ser 93 77 55 54 44 31 26 17 Além de reescrever a função você estudante deve comentar todas as linhas de código explicando o que está sendo realizado Não se esqueça de testar o código e anexar a print do terminal no documento de entrega 2 Você e seus amigos decidiram desenvolver um jogo de cartas em linguagem python e você ficou encarregado de desenvolver as funções embaralhaCartas e compraCarta As 52 cartas do baralho estão na lista de string abaixo baralho ACopasAPausAEspadasAOuros 2Copas2Paus2Espadas2Ouros 3Copas3Paus3Espadas3Ouros 4Copas4Paus4Espadas4Ouros 5Copas5Paus5Espadas5Ouros 6Copas6Paus6Espadas6Ouros 7Copas7Paus7Espadas7Ouros 8Copas8Paus8Espadas8Ouros 9Copas9Paus9Espadas9Ouros 10Copas10Paus10Espadas10Ouros JCopasJPausJEspadasJOuros QCopasQPausQEspadasQOuros KCopasKPausKEspadasKOuros A função embaralhaCartas deve receber a lista baralho e retornar uma pilha de cartas a qual será utilizada pela função compraCartas A função compraCartas vai receber a pilha de cartas e retirar a carta do topo da pilha e imprimindo a mesma na tela Roteiro de Atividade Prática de Estrutura de Dados 9 Para testar seu código utilize o trecho de código abaixo pilhaCartas embaralhaCartasbaralho compraCartaspilhaCartas compraCartaspilhaCartas compraCartaspilhaCartas Saída esperada Vale lembrar que a cada vez que o código rodar novas três cartas serão apresentadas devido a função embaralhaCartas Você estudante deve comentar todas as linhas de código explicando o que está sendo realizado Não se esqueça de testar o código e anexar a print do terminal no documento de entrega 3 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 o software desenvolvido tem como base o seguinte trecho de códigofonte 1 class ElementoDaListaSimples 2 def initselfdadocor 3 selfdado dado 4 selfcor cor 5 selfproximo None 6 7 class ListaEncadeadaSimples 8 def initself nodosNone 9 selfhead None 10 11 def inserirNoFinalself nodo 12 nodoatual selfhead 13 while nodoatualproximo None 14 nodoatual nodoatualproximo 15 nodoatualproximo nodo 16 return 17 18 def inserirPrioridadeself nodo 19 insira aqui seu código 20 return 21 22 def inserirself dado cor 23 nodo ElementoDaListaSimplesdado cor Roteiro de Atividade Prática de Estrutura de Dados 10 24 if selfhead is None 25 selfhead nodo 26 return 27 else 28 if nodocor V 29 selfinserirNoFinalnodo 30 else 31 selfinserirPrioridadenodo 32 return Na linha 31 a função inserir recebe o número e a cor do cartão entregue ao paciente na triagem Pacientes com cartão verde são inseridos no final da fila pela função inserirNoFinal linhas 1116 Pacientes com cartão amarelo têm prioridade no atendimento e são inseridos no início da fila em ordem de chegada ou seja um paciente com cartão amarelo será inserido após os outros pacientes com cartão amarelo que já estão na fila pela função inserirPrioridade linha 1820 Portanto se os seguintes trechos de códigos são executados programa principal filaPacientes ListaEncadeadaSimples cria a lista que ira receber os dados dos pacientes filaPacientesinserir1 V insere um paciente com senha V 1 filaPacientesinserir2 V insere um paciente com senha V 2 filaPacientesinserir101 A insere um paciente com senha A 101 filaPacientesinserir3 V insere um paciente com senha V 3 filaPacientesinserir102 A insere um paciente com senha A 102 filaPacientesinserir103 A insere um paciente com senha A 103 filaPacientesinserir4 V insere um paciente com senha V 4 filaPacientesinserir104 A insere um paciente com senha A 104 filaPacientesinserir105 A insere um paciente com senha A 105 nodoatual filaPacienteshead while nodoatual is not None printfCartão nodoatualcor Senha nodoatualdado nodoatual nodoatualproximo A saída deve ser Roteiro de Atividade Prática de Estrutura de Dados 11 Considerando o processo de triagem descrito e os trechos de códigofonte apresentados implemente a função inserirPrioridade conforme indicado linha 1820 de forma que a saída esteja correta Você estudante deve comentar todas as linhas de código desenvolvidas função inserirPrioridade apenas explicando o que está sendo realizado Não se esqueça de testar o código e anexar a print do terminal no documento de entrega Devese utilizar apenas a estrutura de Lista Encadeada Simples a utilização de outras estruturas listas ou bibliotecas acarretará redução de nota 4 Uma árvore binária por não ser uma estrutura linear apresenta distintas maneiras de se percorrer por ela para visualizar manipular ou processar os dados da árvore Dado o código abaixo de uma árvore binária de busca escreva uma função chamada folhas que irá retornar um vetor contendo apenas os nós folha da arvore nós sem filhos class BST def initself dadoNone selfdado dado selfesquerda None selfdireita None def inserirself dado if selfdado None selfdado dado else if dado selfdado if selfesquerda selfesquerdainserirdado else selfesquerda BSTdado else ifselfdireita selfdireitainserirdado else selfdireita BSTdado def folhasself lst implemente aqui seu código Para testar seu código utilize o trecho de código abaixo Teste BST Testeinserir7 Testeinserir4 Testeinserir9 Testeinserir0 Testeinserir5 Testeinserir8 Testeinserir13 Roteiro de Atividade Prática de Estrutura de Dados 12 printFolhas Testefolhas A saída esperada para o trecho de código acima é Você estudante deve comentar todas as linhas de código desenvolvidas função folhas apenas explicando o que está sendo realizado Não se esqueça de testar o código e anexar a print do terminal no documento de entrega Devese utilizar apenas a estrutura de BTS a utilização de outras estruturas ou bibliotecas acarretará redução de nota
Send your question to AI and receive an answer instantly
Recommended for you
9
Trabalho Prático de Estrutura de Dados
Estrutura de Dados
UNINTER
5
Av - Complexidade de Algoritmos - Nota 10
Estrutura de Dados
UMG
6
Questões 04 Banco de Dados
Estrutura de Dados
UMG
2
Avaliação 2 - Linguagens de Programação e Estruturas de Dados
Estrutura de Dados
UMG
4
Simulado Av 1
Estrutura de Dados
UMG
2
Implementacao de Arvore Binaria - Contagem de Nos Festivos e Impressao com Recuo
Estrutura de Dados
SENAC
1
TAD-LIVE-Gerenciamento-de-Lives-em-C-ou-Python
Estrutura de Dados
UCDB
7
Prova Discursiva Estrutura de Dados
Estrutura de Dados
UMG
1
uma Porta Lógica É um Ponto Virtual Onde Começam e Terminam as Conexões de Rede
Estrutura de Dados
UMG
11
Linguagens de Programaçao e Estruturas de Dados - Unopar
Estrutura de Dados
UNOPAR
Preview text
CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER ESCOLA SUPERIOR POLITÉCNICA CURSO ESTRUTURA DE DADOS ATIVIDADE PRÁTICA NOME ALUNO RU 1234567 SUA CIDADE SEU ESTADO 2024 1 EXERCÍCIO 1 Enunciado da Questão coloque aqui o enunciado do Exercício 1 Código completo coloque aqui a solução para o Exercício 1 Imagem do código funcionando no seu computador print do terminal coloque aqui as prints do terminal mostrando o funcionamento do seu código 2 EXERCÍCIO 2 Enunciado da Questão coloque aqui o enunciado do Exercício 2 Código completo coloque aqui a solução para o Exercício 2 Imagem do código funcionando no seu computador print do terminal coloque aqui as prints do terminal mostrando o funcionamento do seu código 3 EXERCÍCIO 3 Enunciado da Questão coloque aqui o enunciado do Exercício 3 Código completo coloque aqui a solução para o Exercício 3 Imagem do código funcionando no seu computador print do terminal coloque aqui as prints do terminal mostrando o funcionamento do seu código 1 4 EXERCÍCIO 4 Enunciado da Questão coloque aqui o enunciado do Exercício 4 Código completo coloque aqui a solução para o Exercício 4 Imagem do código funcionando no seu computador print do terminal coloque aqui as prints do terminal mostrando o funcionamento do seu código ATIVIDADE PRÁTICA ESTRUTURA DE DADOS Roteiro Elaborado por Profa Me Bruno Kostiuk ANO 2024 Roteiro de Atividade Prática de Estrutura de Dados 1 INTRODUÇÃO Olá a todos Sejam todos muito bemvindos Esta avaliação foi preparada e planejada para a disciplina de Estrutura de Dados O objetivo desta atividade é fazer com que você estudante desenvolva os conhecimentos teóricos aprendidos nas rotas de maneira práticas Para o desenvolvimento desta atividade iremos utilizar os conceitos que estudamos na disciplina Ao longo desse roteiro serão passadas as orientações gerais para realização da avaliação bem como os seus critérios de correção Seguindo o roteiro estarão as práticas a serem realizadas com explicações de como deve ser feita e como será avaliada No mais desejolhe boa atividade prática Roteiro de Atividade Prática de Estrutura de Dados 2 SUMÁRIO INTRODUÇÃO 1 ORIENTAÇÕES GERAIS 3 OBJETIVO 3 PROGRAMAS NECESSÁRIOS 3 ORIENTAÇÕES GERAIS 3 COMO SE DARÁ A CORREÇÃO DA ATIVIDADE 5 EXERCÍCIOS 7 Roteiro de Atividade Prática de Estrutura de Dados 3 ORIENTAÇÕES GERAIS Esta atividade é para ser realizada com consulta e pesquisa OBJETIVO Desenvolver os exercícios colocados no tópico Exercícios ao final deste documento PROGRAMAS NECESSÁRIOS Os exercícios que exigirem Implementação da Atividade Prática de Estrutura de Dados poderá ser realizado com a utilização do software Pycharm IMPORTANTE caso o estudante tenha familiaridade com outro ambiente de desenvolvimento Google Colab Visual Studio Code entre outros é possível utilizálo Porém nossa ferramenta oficial nessa disciplina é o Pycharm portanto fica a cargo do estudante saber utilizar as outras ferramentas ORIENTAÇÕES GERAIS O estudante deverá entregar um ARQUIVO ÚNICO NO FORMATO PDF no AVA no ícone Trabalhos Caso o formato de entrega seja diferente do formato PDF a nota máxima do trabalho será decrescida Submeter o trabalho em múltiplos arquivos separados ou em formato diferente do imposto acima acarretará redução de nota Esta atividade é para ser realizada com consulta e pesquisa Portanto não basta somente estudar o material da rota de aprendizagem Leia também os livros bases materiais complementares e procure seu tutor para tirar dúvidas diretamente via Canal de Tutoria Cada linha de código programada código escrito pelo estudante deverá ser explicada através de comentário A falta de comentários no código implicará em redução de nota Roteiro de Atividade Prática de Estrutura de Dados 4 Para cada exercício coloque no seu relatório o ENUNCIADO do mesmo e coloque como resposta o seu código COMPLETO Deste a primeira até a última linha que você digitou No Pycharm para inserir os códigos nas respostas faça um CTRLCCTRLV do código criado por você na ferramenta e coleo no documento do Word Pode ainda utilizar o botão direito do mouse para escolher a formatação adequada no word Assim o código já virá colorido organizado e indentado facilitando a correção da sua atividade No AVA existe um modelo em WORD para você utilizar Após concluir suas alterações salve o arquivo editado no formato PDF para entrega ou imprima em PDF Segue exemplo Clique em Salvar uma cópia em seguida selecione o formato PDF Ou clique em Imprimir e selecione a impressora Microsoft Print to PDF Qualquer dúvida sobre como salvar em PDF contate a Tutoria Além do código em python você deverá colocar uma captura de tela da saída do console Capture a saída mostrando a resposta Roteiro de Atividade Prática de Estrutura de Dados 5 COMO SE DARÁ A CORREÇÃO DA ATIVIDADE Como temos 4 questões Seus pesos estão igualmente distribuídos Para que você ganhe nota máxima em cada exercício você deverá desenvolver o código corretamente de forma que cumpra o que foi solicitado Além disso precisará cumprir os requisitos básicos explicados nas ORIENTAÇÕES GERAIS Salvar o documento em formato PDF Apresentar seu código completo indentado e organizado Explicar cada linha do seu código através de comentários Colocar uma IMAGEM com o terminal rodando e mostrando o que cada exercício pede Os requisitos têm influência direta na nota final do trabalho Salvar o documento em PDF a Enviar o documento em formato diferente irá descontar 20 da nota do trabalho Enviar o documento em arquivo corrompido irá descontar 100 da nota do trabalho ou seja o estudante irá automaticamente receber a nota ZERO Após enviar seu trabalho realize o download do arquivo e verifique se está tudo OK Caso haja algum problema envie o arquivo correto via Tutoria dentro do prazo de entrega do Trabalho Apresentar o código completo indentado e organizado a Códigos sem indentação ou indentação incorreta serão descontados 10 da nota final b A indentação em Python é muito importante se sua indentação estiver incorreta seu código também realizará algo diferente do que você deseja então tome cuidado com isso Caso não consiga indentar o código no documento de entrega envie também uma print do seu código dentro do ambiente de desenvolvimento mostrando que está tudo correto Roteiro de Atividade Prática de Estrutura de Dados 6 Explicar cada linha do seu código através de comentários a CADA LINHA DE CÓDIGO DESENVOLVIDA DEVE SER EXPLICADA Cada linha de código que você estudante desenvolver deve ser explicada através de comentários b Comentários valem 10 da nota final sendo que será a nota de comentários será baseada na fórmula 𝑵𝒐𝒕𝒂𝑪𝒐𝒎𝒆𝒏𝒕á𝒓𝒊𝒐𝒔 𝑻𝒐𝒕𝒂𝒍 𝒅𝒆 𝒍𝒊𝒏𝒉𝒂𝒔 𝒄𝒐𝒎𝒆𝒏𝒂𝒅𝒂𝒔 𝑪𝒐𝒓𝒓𝒆𝒕𝒂𝒎𝒆𝒏𝒕𝒆 𝑻𝒐𝒕𝒂𝒍 𝒅𝒆 𝒍𝒊𝒏𝒉𝒂𝒔 𝒑𝒓𝒐𝒈𝒓𝒂𝒎𝒂𝒅𝒂𝒔 c Comentários incompatíveis com o código desenvolvido serão desconsiderados d Exemplo de comentário correto Colocar uma IMAGEM com o terminal rodando e mostrando o que cada exercício pede a Não colocar um print do seu terminal rodando com os resultados do seu código irá descontar 10 de sua nota b Caso a print não seja possível através do código enviado print modificada ou induzida a apresentar um resultado será descontado 10 da nota c Exemplo de print Roteiro de Atividade Prática de Estrutura de Dados 7 A avaliação do trabalho seguirá conforme tabela abaixo Onde 𝐷𝑒𝑠𝑐𝑜𝑛𝑡𝑜𝑠 𝐴𝑟𝑞𝑢𝑖𝑣𝑜 𝐼𝑛𝑑𝑒𝑛𝑡𝑎çã𝑜 𝐶𝑜𝑚𝑒𝑛𝑡á𝑟𝑖𝑜𝑠 𝑃𝑟𝑖𝑛𝑡𝐷𝑜𝑇𝑒𝑟𝑚𝑖𝑛𝑎𝑙 𝑁𝑜𝑡𝑎𝐴𝑡𝑢𝑎𝑙𝑖𝑧𝑎𝑑𝑎 𝑁𝑜𝑡𝑎𝐸𝑥𝑒𝑟𝑐í𝑐𝑖𝑜 100 𝐷𝑒𝑠𝑐𝑜𝑛𝑡𝑜𝑠 E a Nota do Trabalho é a média entre a nota dos exercícios EXERCÍCIOS 1 O algoritmo de ordenação por intercalação ou Merge Sort usufrui da estratégia de dividir para conquistar O Merge Sort realiza a ordenação dividindo um conjunto de dados em metades iguais e reorganizando essas metades É um algoritmo que opera de maneira recursiva dividindo de maneira contínua o conjunto de dados até eles tornaremse indivisíveis Abaixo temos o código da função em Python do algoritmo Merge Sort def mergeSortdados if lendados 1 meio lendados2 esquerda dadosmeio direita dadosmeio mergeSortesquerda mergeSortdireita i j k 0 while ilenesquerda and jlendireita if esquerdaidireitaj dadoskesquerdai ii1 else Roteiro de Atividade Prática de Estrutura de Dados 8 dadoskdireitaj jj1 kk1 while ilenesquerda dadoskesquerdai ii1 kk1 while jlendireita dadoskdireitaj jj1 kk1 Para chamar a função acima utilizamos o seguinte trecho de código dados 54 26 93 17 77 31 44 55 mergeSortdados printdados Onde dados é o vetor de entrada da função Reescreva a função mergeSort de forma que ela realize a ordenação dos elementos do maior para o menor elemento Por exemplo Para a entrada 54 26 93 17 77 31 44 55 A saída deve ser 93 77 55 54 44 31 26 17 Além de reescrever a função você estudante deve comentar todas as linhas de código explicando o que está sendo realizado Não se esqueça de testar o código e anexar a print do terminal no documento de entrega 2 Você e seus amigos decidiram desenvolver um jogo de cartas em linguagem python e você ficou encarregado de desenvolver as funções embaralhaCartas e compraCarta As 52 cartas do baralho estão na lista de string abaixo baralho ACopasAPausAEspadasAOuros 2Copas2Paus2Espadas2Ouros 3Copas3Paus3Espadas3Ouros 4Copas4Paus4Espadas4Ouros 5Copas5Paus5Espadas5Ouros 6Copas6Paus6Espadas6Ouros 7Copas7Paus7Espadas7Ouros 8Copas8Paus8Espadas8Ouros 9Copas9Paus9Espadas9Ouros 10Copas10Paus10Espadas10Ouros JCopasJPausJEspadasJOuros QCopasQPausQEspadasQOuros KCopasKPausKEspadasKOuros A função embaralhaCartas deve receber a lista baralho e retornar uma pilha de cartas a qual será utilizada pela função compraCartas A função compraCartas vai receber a pilha de cartas e retirar a carta do topo da pilha e imprimindo a mesma na tela Roteiro de Atividade Prática de Estrutura de Dados 9 Para testar seu código utilize o trecho de código abaixo pilhaCartas embaralhaCartasbaralho compraCartaspilhaCartas compraCartaspilhaCartas compraCartaspilhaCartas Saída esperada Vale lembrar que a cada vez que o código rodar novas três cartas serão apresentadas devido a função embaralhaCartas Você estudante deve comentar todas as linhas de código explicando o que está sendo realizado Não se esqueça de testar o código e anexar a print do terminal no documento de entrega 3 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 o software desenvolvido tem como base o seguinte trecho de códigofonte 1 class ElementoDaListaSimples 2 def initselfdadocor 3 selfdado dado 4 selfcor cor 5 selfproximo None 6 7 class ListaEncadeadaSimples 8 def initself nodosNone 9 selfhead None 10 11 def inserirNoFinalself nodo 12 nodoatual selfhead 13 while nodoatualproximo None 14 nodoatual nodoatualproximo 15 nodoatualproximo nodo 16 return 17 18 def inserirPrioridadeself nodo 19 insira aqui seu código 20 return 21 22 def inserirself dado cor 23 nodo ElementoDaListaSimplesdado cor Roteiro de Atividade Prática de Estrutura de Dados 10 24 if selfhead is None 25 selfhead nodo 26 return 27 else 28 if nodocor V 29 selfinserirNoFinalnodo 30 else 31 selfinserirPrioridadenodo 32 return Na linha 31 a função inserir recebe o número e a cor do cartão entregue ao paciente na triagem Pacientes com cartão verde são inseridos no final da fila pela função inserirNoFinal linhas 1116 Pacientes com cartão amarelo têm prioridade no atendimento e são inseridos no início da fila em ordem de chegada ou seja um paciente com cartão amarelo será inserido após os outros pacientes com cartão amarelo que já estão na fila pela função inserirPrioridade linha 1820 Portanto se os seguintes trechos de códigos são executados programa principal filaPacientes ListaEncadeadaSimples cria a lista que ira receber os dados dos pacientes filaPacientesinserir1 V insere um paciente com senha V 1 filaPacientesinserir2 V insere um paciente com senha V 2 filaPacientesinserir101 A insere um paciente com senha A 101 filaPacientesinserir3 V insere um paciente com senha V 3 filaPacientesinserir102 A insere um paciente com senha A 102 filaPacientesinserir103 A insere um paciente com senha A 103 filaPacientesinserir4 V insere um paciente com senha V 4 filaPacientesinserir104 A insere um paciente com senha A 104 filaPacientesinserir105 A insere um paciente com senha A 105 nodoatual filaPacienteshead while nodoatual is not None printfCartão nodoatualcor Senha nodoatualdado nodoatual nodoatualproximo A saída deve ser Roteiro de Atividade Prática de Estrutura de Dados 11 Considerando o processo de triagem descrito e os trechos de códigofonte apresentados implemente a função inserirPrioridade conforme indicado linha 1820 de forma que a saída esteja correta Você estudante deve comentar todas as linhas de código desenvolvidas função inserirPrioridade apenas explicando o que está sendo realizado Não se esqueça de testar o código e anexar a print do terminal no documento de entrega Devese utilizar apenas a estrutura de Lista Encadeada Simples a utilização de outras estruturas listas ou bibliotecas acarretará redução de nota 4 Uma árvore binária por não ser uma estrutura linear apresenta distintas maneiras de se percorrer por ela para visualizar manipular ou processar os dados da árvore Dado o código abaixo de uma árvore binária de busca escreva uma função chamada folhas que irá retornar um vetor contendo apenas os nós folha da arvore nós sem filhos class BST def initself dadoNone selfdado dado selfesquerda None selfdireita None def inserirself dado if selfdado None selfdado dado else if dado selfdado if selfesquerda selfesquerdainserirdado else selfesquerda BSTdado else ifselfdireita selfdireitainserirdado else selfdireita BSTdado def folhasself lst implemente aqui seu código Para testar seu código utilize o trecho de código abaixo Teste BST Testeinserir7 Testeinserir4 Testeinserir9 Testeinserir0 Testeinserir5 Testeinserir8 Testeinserir13 Roteiro de Atividade Prática de Estrutura de Dados 12 printFolhas Testefolhas A saída esperada para o trecho de código acima é Você estudante deve comentar todas as linhas de código desenvolvidas função folhas apenas explicando o que está sendo realizado Não se esqueça de testar o código e anexar a print do terminal no documento de entrega Devese utilizar apenas a estrutura de BTS a utilização de outras estruturas ou bibliotecas acarretará redução de nota