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.

Documentos relacionados