Conceitos e implementação em C Abstração de Dados Conceitos e implementação em C
Abstração Abstração de Procedimentos Um procedimento é visto (abstratamente) como uma caixa preta: Procedimento Entrada Saída
Abstração de Dados Tipos de dados são vistos como caixas pretas. A organização interna destes tipos é encapsulada por operações abstratas. Estrutura de Dados A Tipo Abstrato de Dados X Estrutura de Dados B Tipo Abstrato de Dados X
Abstração de Dados Tipo abstrato de dado (TAD): Definido por um conjunto de operações. Independe da implementação física. As operações do TAD definem sua interface com.
Implementação de TADS em C C não possui mecanismos seguros para implementação de TADs Implementação em C: Especificação do TAD: Header file (arquivo.h) Implementação do TAD (operações) : arquivo.c
Implementação de TADs em C Exemplo: Implementação do TAD Conjunto Implementar um conjunto em C que permita a inserção de caracteres, inteiros, números reais e string. O TAD deve ter as seguintes operações: void inicializaConjunto(Conjunto); int insereElementoNoConjunto(Conjunto, char *, int); void mostraConjunto(Conjunto c);
Implementação de TADs em C void inicializaConjunto(Conjunto); Vai inicializar o conjunto deixando o mesmo vazio int insereElementoNoConjunto(Conjunto, char *, int); Vai inserir um elemento no conjunto. void mostraConjunto(Conjunto c); Vai mostrar o conjunto Void excluiElementoDoConjunto(Conjunto, int);
Sugestão de representação interna typedef struct{ int x; char c; char str[20]; float f; short tipo; }Elemento; typedef Elemento Conjunto[MAX_ELEMENTOS];
Sugestão de representação interna #define INEXISTENTE 0 #define INTEIRO 1 #define CARACTERE 2 #define STRING 3 #define REAL 4 #define MAX_ELEMENTOS 200 #define MSG_ERRO1 "Todos os espaços do Conjunto estão ocupados\n"