Laboratório de Programação II: Tipo Abstrato de Dados (TAD)

alexcamargoweb 1,870 views 12 slides Feb 26, 2015
Slide 1
Slide 1 of 12
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12

About This Presentation

Laboratório de Programação II: Tipo Abstrato de Dados (TAD)


Slide Content

Tipo Abstrato de Dados (TAD)Tipo Abstrato de Dados (TAD)
Prof. Alex Camargo
[email protected]
UNIVERSIDADE FEDERAL DO PAMPA
CAMPUS 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 dados
e 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)
Tags