Atividade TAD: Preparação para a prova. 1
Transcrição
Atividade TAD: Preparação para a prova. 1
Atividade TAD: Preparação para a prova. 1) Considere o conceito de Tipo Abstrato de dados e a sua implementação usando a linguagem C, para definir os seguintes TADs: i) Fila; ii) Vetor dinâmico: uma VCH que se ajusta-se a demanda de novos elementos; iii) Conjunto numérico: conceito matemático que permite que números sejam agrupados e manipulados através de operações de união, interseção, diferença e pertence; a) Apresente pré e pós condições de cada uma das operações definidas para o tipo. b) Apresente a definição da estrutura de dados usada e a implementação do tipo. 2) JB, o João do Bit, acredita que TAD não apresenta vantagem alguma sobre o método de construção de programas, onde o encapsulamento das estruturas de dados é ignorado. O argumento dele é que "a produção do código com o método tradicional é mais rápida e a manutenção desse código não traz consequências para quem usa". Você concorda com o JB? Justifique sua resposta. 3) Ao definir um TAD em C usamos o arquivo de cabeçalho ".h" para a declaração : i) das assinaturas das funções que irão operar sobre o tipo; ii) do "apelido" da estrutura de dados que representa o tipo. Por outro lado, mostrou-se em sala de aula que a estrutura de dados que irá representar o tipo DEVE ser definida no arquivo ".c". Considerando a sintaxe da linguagem C, poderia-se definir tal estrutura no arquivo ".h"? Quais são as consequências dessa definição, se é que há alguma, para o conceito de encapsulamento definido com a implementação de TAD? 4) Considere a implementação do TAD Pilha apresentada em sala de aula e publicada no SITE (cavmelo.wordpress.com). Apresente as modificações necessárias àquela implementação de forma a remover a restrição de número máximo de elementos na pilha. Qual é o custo da operação de push e pop nesta nova versão. 5) O que significa a mensagem de erro "error: dereferencing pointer to incomplete type" apontada pelos compiladores da linguagem C. 6) O tamagotchi (たまごっち tamagocchi?) é um brinquedo em que se cria um animal de estimação virtual. O tamagotchi foi lançado pela Bandai em 1996 no Japão. A motivação do brinquedo consiste em cuidar do animalzinho virtual como se fosse real, dando-lhe carinho virtual, comida virtual, banho virtual, cuidados virtuais etc. Apresente um TAD que represente o Tamagotchi de sua preferência.