Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
-
Upload
alex-camargo -
Category
Education
-
view
100 -
download
1
Transcript of Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Tipo Abstrato de Dados (TAD)Tipo Abstrato de Dados (TAD)
Prof. Alex [email protected]
UNIVERSIDADE FEDERAL DO PAMPACAMPUS BAGÉ
LABORATÓRIO DE PROGRAMAÇÃO II
Introdução
Para implementar um Tipo Abstrato de Dados em C, usa-se a definição de tipos juntamente com a implementação de funções que agem sobre aquele tipo.
O usuário só "enxerga" a interface, não a implementação.
O TAD encapsula a estrutura de dados. Os usuários do TAD só tem acesso a algumas operações disponibilizadas sobre esses dados.
Laboratório de Programação II – Tipo Abstrato de Dados (TAD)
Tipo de dados, estruturas de dadose tipo abstrato de dados
Termos parecidos, mas com significados diferentes:
O tipo de dado de uma variável o conjunto de valores que ela pode assumir. Ex.: variável float pode assumir números reais.
Um tipo estruturado é um exemplo de estrutura de dados, ou seja, são estruturas de dados já pré-definidas na linguagem de programação. Ex: vetores, structs, unions.
Um tipo abstrato de dados agrupa a estrutura de dados juntamente com as operações que podem ser feitas sobre esses dados. Usualmente, typedef + structs + funções.
Laboratório de Programação II – Tipo Abstrato de Dados (TAD)
Vantagens
Vantagens do uso de TADs:
Reuso: Podemos modificar a implementação do TAD sem modificar o código que usa o TAD, e vice-versa.
Manutenção: TAD pode ser reaproveitado em vários programas ou módulos.
Laboratório de Programação II – Tipo Abstrato de Dados (TAD)
Implementação
Como boa regra de programação, evita-se acessar o dado diretamente, fazendo o acesso somente através das funções.
Em linguagens orientadas a objeto (C++, Java) a implementação é feita através de classes.
Em linguagens estruturadas (C, Pascal) a implementação é feita pela definição de tipos e implementação de funções.
Laboratório de Programação II – Tipo Abstrato de Dados (TAD)
Modularização
Outra boa técnica de programação é implementar os TADs em arquivos separados do programa principal. Geralmente separa-se o TAD em dois arquivos:
NomeDoTAD.h: com a declaração
NomeDoTAD.c: com a implementação
Os programas que utilizam o seu TAD devem dar um include no arquivo .h
Laboratório de Programação II – Tipo Abstrato de Dados (TAD)
Exemplo
Implemente um TAD conta bancária com campos número e saldo que suporte as as seguintes operações:
- Iniciar uma nova conta com um número e saldo - Depositar um valor na conta - Sacar um valor da conta - Imprimir o saldo - Faça um pequeno programa para testar o seu TAD
Laboratório de Programação II – Tipo Abstrato de Dados (TAD)
Exemplo (contaBancaria.h)
Laboratório de Programação II – Tipo Abstrato de Dados (TAD)
Exemplo (contaBancaria.c)
Laboratório de Programação II – Tipo Abstrato de Dados (TAD)
Exemplo (main.c)
Laboratório de Programação II – Tipo Abstrato de Dados (TAD)
Considerações finais
Um TAD define:
um novo tipo de dado;
o conjunto de operações para manipular dados desse tipo.
Um TAD facilita:
a manutenção e a reutilização de código;
abstrato = "forma de implementação não precisa ser conhecida".
Laboratório de Programação II – Tipo Abstrato de Dados (TAD)
Exercício
Implemente um TAD funcionário com campos matrícula e salario que suporte as as seguintes operações:
- Cadastrar um novo funcionário com a matrícula e salário - Atribuir férias (50%) ao salário - Atribuir comissão (x%)- Atribuir faltas (cada falta representa um desconto de 10%) - Exibir os dados do funcionário- Faça um pequeno programa para testar o seu TAD
Laboratório de Programação II – Tipo Abstrato de Dados (TAD)