·

Ciência da Computação ·

Estrutura de Dados

Send your question to AI and receive an answer instantly

Ask Question

Preview text

14 Faculdade de Computação e Informática Ciência da Computação Estrutura de Dados I 3ª etapa 20222 Professor André Kishimoto Atividade Lab2a TAD Lista ligadaencadeada A atividade deve ser realizada em dupla Com base no conteúdo apresentado em aula e em pesquisas adicionais realizadas pela dupla 1 Escreva a sua própria implementação do TAD Lista ligadaencadeada considerando os itens e operações a seguir 2 Defina um novo tipo de dado para um nó da lista que deve armazenar um número inteiro use o conceito de struct ou class 3 Defina um novo tipo de dado para a lista use o conceito de struct ou class 4 Para manipular a lista implemente as operações apresentadas na aula da semana 12 slides 1822 5 Além da implementação do TAD Lista ligadaencadeada use o trecho de código da próxima página como sua maincpp com as devidas adaptações de acordo com sua implementação para testar a implementação da lista 6 Você deve alterar parte do código da maincpp substituindo todas as linhas contendo comentários TODO a fazer pelas instruções corretas seguindo a sua implementação da lista Atentese para a saída esperada do programa 7 A solução deve ser implementada em linguagem C e não em linguagem C Também não deve usar estruturas de dados da STL 8 Inclua a identificação da dupla nome completo e TIA de cada pessoa no início de cada arquivo de código como comentário 9 Inclua como comentário no código que possui a main as referências livros artigos sites entre outros consultadas para solucionar a atividade 10 Cada pessoa deve realizar uma autoavaliação dessa atividade e incluir sua nota como comentário no código que possui a main 11 Tente sempre trabalhar com arquivos hcpp modularizando o código 24 No trecho de código a seguir assumese que existem dois novos tipos de dado structs LinkedList e Node ambas declaradas em LinkedListh e que todas as operações foram implementadas usando os mesmos nomes e parâmetros do TAD apresentado em aula maincpp include iostream include LinkedListh using namespace std void PrintListInfoconst LinkedList list if IsEmptylist cout Lista vazia else TODO Percorrer todos os nós da lista e imprimir os valores de cada nó veja saída de exemplo no enunciado int main cout Lista LigadaEncadeada Linked List LinkedList list Create PrintListInfolist Insertlist 1 Insertlist 2 Insertlist 3 Appendlist 4 Appendlist 5 Appendlist 6 PrintListInfolist Clearlist PrintListInfolist Insertlist 77 Appendlist 88 Insertlist 99 Appendlist 3 Insertlist 2 Appendlist 1 Insertlist 0 PrintListInfolist Node temp RemoveNodelist 3 cout Nó removido tempdata TODO Liberar memória alocada para o nó que foi removido PrintListInfolist temp RemoveHeadlist cout Nó removido tempdata TODO Liberar memória alocada para o nó que foi removido PrintListInfolist 34 temp RemoveTaillist cout Nó removido tempdata TODO Liberar memória alocada para o nó que foi removido PrintListInfolist TODO Obter o primeiro nó da lista e mostrar a mensagem apropriada de acordo com o resultado obtido TODO Obter o último nó da lista e mostrar a mensagem apropriada de acordo com o resultado obtido TODO Obter o nó com valor 3 e mostrar a mensagem apropriada de acordo com o resultado obtido TODO Liberar memória alocada para a lista cout Fim O código deve gerar a seguinte saída Lista LigadaEncadeada Linked List Lista vazia Lista com 6 elementos 3 2 1 4 5 6 Lista vazia Lista com 7 elementos 0 2 99 77 88 3 1 Nó removido 3 Lista com 6 elementos 0 2 99 77 88 1 Nó removido 0 Lista com 5 elementos 2 99 77 88 1 Nó removido 1 Lista com 4 elementos 2 99 77 88 Aqui vai uma mensagem definida pela dupla para o TODO Obter o primeiro nó Aqui vai uma mensagem definida pela dupla para o TODO Obter o último nó Aqui vai uma mensagem definida pela dupla para o TODO Obter o nó com valor 3 Fim Entrega Uma pessoa da dupla deve entregar o códigofonte somente arquivos h e cpp compactado no formato zip via link disponível no Moodle Atenção O arquivo zip não deve conter arquivos intermediários eou pastas geradas pelo compilador ex pasta bin e obj arquivos o etc Prazo de entrega via link do Moodle até 30102022 2359 Critérios de avaliação A nota da atividade é calculada de acordo com os critérios da tabela a seguir 44 Item avaliado Pontuação máxima Implementação das funções Create Destroy Clear Insert Append RemoveHead RemoveTail RemoveNode até 10 ponto cada Implementação das funções GetHead GetTail GetNode Count IsEmpty até 025 ponto cada Implementação da função main até 05 ponto Autoavaliação individual até 025 ponto Tabela 1 Critérios de avaliação A tabela a seguir contém critérios de avaliação que podem reduzir a nota final da atividade Item indesejável Redução de nota O projeto é cópia de outro projeto Projeto é zerado O projeto usa estruturas de dados da STL Projeto é zerado Há erros de compilação eou o programa trava durante a execução1 50 da nota Há memory leaks no projeto 20 pontos O código usa funcionalidades da linguagem C que existem em C por exemplo printf scanf 20 pontos Não há identificação da dupla 10 ponto Não há indicação de referências 10 ponto Arquivos enviados em formatos incorretos 10 ponto Arquivos eou pastas intermediárias que são criadas no processo de compilação foram enviadas junto com o códigofonte 10 ponto Tabela 2 Critérios de avaliação redução de nota O códigofonte será compilado com o compilador g GCC 920 na plataforma Windows da seguinte forma g cpp pedantic stdc11 Werrorvla Wall o programaexe 1 Sobre erros de compilação considere apenas erros Não há problema se o projeto tiver warnings embora warnings podem avisar sobre possíveis travamentos em tempo de execução como loop infinito divisão por zero etc