Вы находитесь на странице: 1из 22

Algoritmos

e Estrutura de Dados
em C/C++

Aula 09 Tipo Abstrato de Dados


Prof. M.Sc. Avelino Forechi
www.forechi.com
Tipos Compostos Heterogneos
As Estruturas so entidades que representam tipos de dados e que
permitem o agrupamento de variveis de diversos tipos.

Alternativa aos tipos de dados simples, fornecidos pela linguagem:


Definio fica a cargo do programador, de acordo com o problema;
Permite que uma funo retorne mais de um valor.

Exemplo:
Matrcula, idade, coeficiente de rendimento e perodo
Tipos Compostos Heterogneos
Tipos Compostos Heterogneos
Tipos Compostos Heterogneos
Acesso seletivo aos elementos da estrutura
Tipos Compostos Heterogneos
Acesso integral estrutura
Tipos Compostos Heterogneos
Redefinio de tipos
Tipos Compostos Heterogneos
Tipos Compostos Heterogneos
Faa um programa que leia dois pontos do plano cartesiano, calcule a
distancia entre eles e imprima o resultado na tela.
Defina uma estrutura para o ponto
Defina um tipo para renomear a estrutura
Use uma funo para clculo da distancia
Tipos Abstratos de Dados (TAD)
So novos tipos de dados implementados pelo programador, nos quais ele
define tanto as estruturas de dados quanto as operaes a elas aplicveis

Exemplo, suponha que desejamos definir um tipo abstrato de dados para


data.
Tipos Abstratos de Dados (TAD)
Podemos imaginar vrias operaes que desejaramos realizar com
instncias deste tipo de dado

Inicializar data
a partir de valores passados como parmetro.
a partir de valores lidos do teclado.

Altera data
a partir de valores passados como parmetro.
para dia seguinte

Verificar se uma data est num ano bissexto

Indicar a quantidade de dias do ms em questo.


Tipos Abstratos de Dados (TAD)
Ver exemplo 4.8 na apostila, pgina 117
Tipos Abstratos de Dados (TAD)
Assim, temos
um tipo composto, ou seja, uma estrutura que agrupa variveis
correspondente a dia ms e ano
uma srie de operaes pr-definidas para tal tipo

Vantagens
Manutenibilidade: Pode-se alterar o tipo usado sem alterar o
programa principal.
Reusabilidade: Pode ser utilizado em diversas aplicaes.
Abstrao: permite a melhor compreenso dos algoritmos e maior
facilidade de programao
Ocultamento: Separa o codigo de implementao do codigo de uso
Integridade: A manipulao dos atribuitos por operaes definidas
sobre o tipo impedem a ocorrncia de inconsistncias
Tipos Abstratos de Dados (TAD)
Problema do uso de TAD em C:
A linguagem C no implementa de fato TAD, apenas simula
O programador-usurio do TAD tem acesso livre para alterar
diretamente os valores sem usar as operaes pr-definidas.
Exemplo de uso do TAD
Tipos de Operao de TAD
Construtoras
So operaes que realizam a inicializao dos valores
Tipos de Operao de TAD
Analisadoras ou consultoras
Analisam o contedo de um TAD e retornam uma propriedade
Tipos de Operao de TAD
Modificadoras ou atualizadoras
Realizam a alterao de atributos de um TAD
Tipos de Operao de TAD
Produtoras
Comparam dados de um TAD e produzem nova informao.
Tipos de Operao de TAD
Destrutoras
So utilizadas para liberar recurso de memria ocupados por um TAD.
Sero vistas mais adiante neste curso quando falarmos sobre
Ponteiros.
Tipos de TAD
TADs de domnio:
Definem tipos de dados diretamente relacionados ao domnio do
problema

TADs implementacionais
Tem relao direta com questes implementacionais, como listas,
rvores, grafos e filas. Estes tambm sero vistos mais adiante neste
curso.
Exerccio
Transforme o tipo de dados composto construdo para um ponto no plano
cartesiano em um TAD

Do que precisamos?
Uma estrutura que agrupa as variveis (Exerccio
Resolvido 4.4)
Uma srie de operaes pr-definidas
Construtoras (exerccio 4.5)
Analisadoras (exerccio 4.6)
Modificadoras
Produtoras (exerccio 4.8)

Вам также может понравиться