Atps estrutura de dados
ATIVIDADES PRÁTICAS SUPERVISIONADAS 3a Série Estrutura de Dados Ciência da Computação A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem desenvolvido por melo de conjunto atividades OF9 p programadas e supervisionadas e que tem por objetivos: Favorecer a aprendizagem. Estimular a co-responsabilidade do aluno pelo aprendizado eficiente e eficaz. D Promover o estudo, a convivência e o trabalho em grupo. competências e habilidades descritas a seguir. CJ Competência para identificar, analisar, documentar e solucionar problemas e ecessidades passiveis de solução via computação.
Capacidade para desenvolvimento de pesquisa científica e tecnológica. Capacidade de raciocinar logicamente. LI Saber conciliar teoria e prática. DESAFIO Várias áreas da ciência da computação usam domínios simples e abstratos para estudos analíticos e empíricos. por exemplo, algumas das primeiras pesquisas de inteligência artificial nas áreas de planejamento e robótica usavam o mundo dos blocos, no qual um braço de robô realizava tarefas envolvendo a manipulação de blocos.
Este desafio consiste em odelar um Mundo dos Blocos bem simples, que vai funcionar de acordo com certas regras e restrições. O problema consiste em analisar uma série de comandos que instruem um braço de robô em como manipular os blocos que estão sobre uma mesa. Inicialmente, existem n blocos sobre a mesa (numerados de 0 a n-l), como mostra a figura a seguir. 2 3 retornando eventuais blocos que já estiverem sobre a ou b para as suas posições originais. D mover a topo b: coloca o bloco a no topo do monte onde está o bloco b retornando eventuais blocos que já estiverem sobre a às suas posições nglna. . CJ empilhar a acima b: coloca o bloco a juntamente com todos os blocos que estiverem sobre ele em cima do bloco b, retornando eventuais blocos que já estiverem sobre b as suas posiçoes originais. Jaqueline Brigladori Pugliesi, Jeanne Dobgenski, Marcelo Augusto Cicogna Ciência da Computação – 3a Série – Estrutura de Dados pág. 3 de 8 empilhar a topo b: coloca o bloco a juntamente com todos os sobre ele no topo do monte onde está o bloco b. D encontrar maior: encontra o maior elemento da pilha mais alta e o devolve para a posição inicial. sair: termina a execução. Qualquer comando no qual a = b ou no qual a e b estejam na mesma pilha de blocos é um comando ilegal e deve ser Ignorado, não alterando a configuração dos blocos. Os arquivos de entrada e saída devem obedecer aos seguintes formatos: LI Arquivo de Entrada: o arquivo começa com um único número inteiro n na primeira linha representando o número de blocos do seu Mundo dos Blocos, sendo 3 linha deve aparecer o número da posição original seguida de dois pontos (:).
Se existir pelo menos um bloco naquela posição, os dois pontos devem ser seguidos pela lista de blocos que aparecem naquela pilha eparados por um espaço em branco. Deve existir uma linha no arquivo de saída para cada posição, ou seja, n linhas sendo n é o número inteiro na primeira linha do arquivo de entrada. Para o exemplo mostrado na figura (b), os arquivos de entrada e salda são listados a seguir. Ressalta-se que diferentes arquivos de entrada podem levar a uma mesma configuração final.
Entrada: 5 mover 3 acima O move 2 topo 4 empilhar 4 acima O empilhar 1 topo 3 encontra maior sal r Saída: o: 02 2: 3: 31 Deverão ser estabelecidos grupos de até 4 alunos para a execução desse desafio. É mportante que os grupos não se alterem para elaboração de cada etapa. 4DF9 etapas, as indicações: Aluno e Equipe. Padronização O material escrito solicitado nesta atividade deve ser produzido de acordo com as normas da ABNTI, com o seguinte padrão: Em papel branco, formato A4. Com margens esquerda e superior de 3cm, direita e inferior de 2cm.
Fonte Times New Roman tamanho 12, cor preta. Espaçamento de 1,5 entre linhas. Se houver citações com mais de três linhas, devem ser em fonte tamanho 10, com um recuo de 4cm da margem esquerda e espaçamento simples entre linhas. Com capa, contendo: Nome de sua Unidade de Ensino, Curso e Disciplina. Nome e RA de cada participante. Título da atividade. Nome do professor da disciplina. Cidade e data da entrega, apresentação ou publicação. ETAPA 1 (tempo para realização: 4 horas) D Aula tema: Introdução às estruturas de dados.
Alocação estática de memória. Listas, S das estruturas estáticas definidas e referências bibliográficas. Consulte o Manual para Elaboração de Trabalhos Acadêmicos. Unianhanguera. Disponível em: pág. 5 de 8 ETAPA 2 (tempo para realização: 4 horas) LI Aula tema: Alocação estática de memória. Listas, Filas e Pilhas. Esta atividade é importante para que você construa um programa utilizando as estruturas de dados com alocaçao estática de memória estudadas de maneira eficiente e organizada.
Para realizá-la é importante seguir os passos descritos. PASSOS passo 1 (Equipe) Definam as funções necessárias para a implementação dos quatro primeiros comandos definidos no desafio e o “sai”‘, utilizando as estruturas de dados com alocação estática de memória definida na Etapa 1. Passo 2 (Equipe) Façam um programa que leia um arquivo de entrada, execute odos os comandos presentes nesse arquivo e gere um ar uivo de saída, no formato definido anteriormente no desafio. implesmente encadeadas. Filas e Pilhas com alocação dinâmica. Esta atividade é importante para que você compreender os conceitos de alocação dinâmica de memória, bem como os de lista, fila e pilha para esse tipo de alocação. Leia atentamente os conceitos relacionados a alocação dinâmica de memória no livro texto da disciplina. Pág. 6 de 8 passo 2 (Equipe) Definam uma estrutura de dados com alocação dinâmica de memória para o desafio roposto.
Essa estrutura é composta por um vetor de listas encadeadas (na qual cada lista encadeada corresponde a uma pilha de blocos, sendo que cada registro dessa lista vai corresponder a um bloco). Por exemplo, as duas configurações mostradas no enunciado do desafio seriam representadas da seguinte forma – usando a estrutura de dados solicitada. passos descritos. Passo 1 (Equipe) Definam as funções que serão necessárias para a implementação dos quatro primeiros comandos definidos no desafio e o “sair”, utilizando as estruturas de dados com alocação inâmica de memória definida na Etapa 3. esse arquivo e gere um arquivo de saída, no formato definido Pág. 7 de 8 Passo 3 (Equipe) Adicionem ao relatório do desafio: LI descrição das funções definidas pela equipe – solicitação Passo indicação do uso das estruturas dinâmicas definidas; apresentação de um exemplo de entrada e saída de dados; LI novas referências bibliográficas usadas para essa etapa; n anexos — impressão do código fonte comentado e uma midia com o código fonte e programa executável.
ETAPA 5 (tempo para realização: 4 horas) Aula tema: Recursão. Esta atividade é important cê aprenda o conceito de 8 alta e o devolver para a posição inicial. passo 3 (Equipe) Desenvolvam uma função utilizando a estrutura dinâmica (definida na Etapa 3) para o quinto comando descrito no desafio, ou seja, para encontrar o maior elemento da pilha mais alta e o devolver para a posição inicial. Essa função pode ou não ser recursiva, sendo necessária uma análise do grupo para o tipo de função a ser utilizado.
Passo 4 (Equipe) Finalizem o relatório, que documentará o completo desenvolvimento do desafio, com: descrição do algoritmo desenvolvido para a função recursiva — solicitação Passo 2; código fonte comentado para o algoritmo recursivo usando a estrutura estática – pass02; descrição do algoritmo desenvolvido para a função recursiva ou não – solicitação Passo 3; n código fonte comentado para o algoritmo usando a estrutura dinâmica — Pass03; análise comparativa das duas funções desenvolvidas – estrutura estática e dinâmica; Pág. de 8 n apresentar no mínimo dois exemplos utilizados para testar o algoritmo — apresentar o arquivo de e arda e o esquema gráfico g 9