Buscar

A0203 - Tipos Abstratos de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Tipos Abstratos de Dados
ESTRUTURA DE DADOS
Objetivos de Aprendizagem
 Identificar os princípios teóricos 
referentes ao desenvolvimento cognitivo 
postulados por Piaget.
 Descrever a lógica das estruturas mentais 
do estágio pré-operatório.
 Aplicar os princípios básicos da teoria 
piagetiana em uma proposta pedagógica.
Objetivos de Aprendizagem
 Identificar os principais métodos de 
programação de TAD;
 Aplicar os conceitos de geração e 
manipulação de TAD em uma linguagem 
de programação;
 Avaliar as principais estratégias de criação 
e manipulação de TAD em uma linguagem 
de programação.
Tipos Abstratos de Dados
Os tipos e estruturas de dados existem para serem 
usados pelo programa para acessar informações neles 
armazenadas, por meio de operações apropriadas.
Do ponto de vista do programador, muitas vezes é 
conveniente pensar nas estruturas de dados em 
termos das operações que elas suportam, e não da 
maneira como elas são implementadas.
Uma estrutura de dados definida dessa forma é 
chamada de um Tipo Abstrato de Dados (TAD).
Tipos Abstratos de Dados
Abstração: visão ou representação de uma entidade que 
incluí apenas os atributos mais significativos ou mais 
importantes para um problema.
Um tipo abstrato de dado é um tipo de dado que 
satisfaz duas condições:
A representação dos objetos do tipo é escondida 
da unidade de programa que usa o tipo 
(encapsulamento / ocultação de informação);
A declaração do tipo e dos protocolos das 
operações sobre objetos do tipo (interface do tipo) 
estão contidas em uma única unidade sintática.
Tipos Abstratos de Dados (TADs)
Agrupa a estrutura de dados juntamente com 
as operações que podem ser feitas sobre 
esses dados.
O TAD encapsula a estrutura de dados. Os 
usuários do TAD só tem acesso a algumas 
operações disponibilizadas sobre esses dados.
● Usuário do TAD x Programador do TAD
Tipos Abstratos de Dados (TADs)
Dessa forma, o usuário pode abstrair da 
implementação específica.
Qualquer modificação nessa implementação fica 
restrita ao TAD.
A escolha de uma representação específica é 
fortemente influenciada pelas operações a serem 
executadas.
Tipos Abstratos de Dados (TADs)
Vantagens:
● Reuso: uma vez definido, implementado e testado, o 
TAD pode ser acessado por diferentes programas;
● Manutenção: mudanças na implementação do TAD não 
afetam o código fonte dos programas que o utilizam 
(decorrência do ocultamento de informação);
● Correção: TAD foi testado e funciona corretamente.
Tipos Abstratos de Dados (TADs)
Exemplos:
Tipo float
Tipo Pilha (Criar, Inserir, Remover, Top...)
Tipos Abstratos de Dados (TADs)
Em C/C++ os mecanismos de encapsulamento são as 
classes e estruturas:
● Os dados são chamados de dados membros
● As funções são chamadas de funções membros
● Os membros podem ser da classe ou ou da instância
● Todas as instâncias de uma classe compartilham um cópia 
das funções membros
● Cada instância da classe tem sua cópia dos dados membros
● As instâncias podem ser estáticas, dinâmica na pilha ou 
dinâmicas no heap (new e delete)
Tipos Abstratos de Dados (TADs)
Tipos Abstratos de Dados em C...
Tipos Abstratos de Dados em C
Módulos e Compilação em Separado:
● Arquivos fontes (arquivos com extensão .c)
● Implementações das funções.
● Arquivos de cabeçalhos (arquivos com extensão 
.h)
● contém apenas os cabeçalhos das funções e,
eventualmente, os tipos de dados que ele exporte
(typedef’s, struct’s, etc).
Tipos Abstratos de Dados em C
TAD Ponto
Tipos Abstratos de Dados em C
O que é um Ponto?
Características?
Operaçôes? 
Tipos Abstratos de Dados em C
Coordenadas x e y
Criar
Liberar
Acessar
Atribuir
Distância
Tipos Abstratos de Dados em C
Arquivo .h?
Ponto.h
/* TAD: Ponto (x,y) */
typedef struct ponto Ponto;
Ponto* criar (float x, float y);
void liberar (Ponto* p);
void acessar (Ponto* p, float* x, float* y);
void atribuir (Ponto* p, float x, float y);
float distancia (Ponto* p1, Ponto* p2);
Tipos Abstratos de Dados em C
Arquivo .c?
Ponto.c
#include <stdlib.h> 
#include <stdio.h>
#include <math.h> 
#include "ponto.h"
Ponto.c
struct ponto {
float x;
float y;
};
TAD Ponto
● Acrescente novas operações ao TAD ponto, 
tais como soma e subtração de pontos.
● TAD LINHA....
● TAD CUADRADO....
● TAD MATRIZ....
● TAD PESSOA....
● TAD ALUNO....
Tipos Abstratos de Dados
ESTRUTURA DE DADOS

Continue navegando