Upload
alfredo-castanho-barreiro
View
213
Download
0
Embed Size (px)
Citation preview
Programação II
Tipos Compostos Heterogêneos e Tipos Abstratos de Dados
Autoria: Ernani SantosModificação: Clebson OliveiraAdaptação: Claudia Boeres
As formas básicas de representação de dados não são suficientes para representar tipos compostos heterogêneos;
Organizar dados correlacionados em uma única entidade computacional promove vantagens;
Essas entidades são chamadas de Estruturas em C; As Estruturas são entidades que representam tipos de
dados que permitem o agrupamento de varias variáveis de diversos tipos.
Tipos Compostos Heterogêneos
Exemplo:
3
Tipos Compostos Heterogêneos
Definição:
4
Tipos Compostos Heterogêneos
Exemplo:
Tipos Compostos Heterogêneos
Para manipular cada um dos atributos da estrutura se utiliza o mecanismo de seleção conforme a sintaxe apresentada a seguir.
<nome da variável>.<nome do atributo> Exemplo:
Tipos Compostos Heterogêneos
Typedef: serve para atribuir um nome a uma estrutura e definir um tipo.
Exemplo:
Tipos Compostos Heterogêneos
struct e tipos definidos pelo usuário
Exemplos: a) Cálculo da distância entre dois pontosno plano cartesiano
b) Manipulação de pontos no plano
Tipos Compostos Heterogêneos
Exemplo 2
Exemplo 1
Exemplos: a) vetor de pontos: exemplo vetor
b) vetor de pontos aleatórios no plano: vetor de pontos aleatórios
Tipos Compostos Heterogêneos
Tipos Abstratos de Dados (TADs)
Conjuntos de valores com comportamento uniforme definido por operações;
Em LPs, TADs possuem representação e operações especificadas pelo programador;
O usuário do TAD utiliza sua representação e operações como uma caixa preta;
Essencial haver ocultamento da informação para tornar invisível a implementação;
Interface são os componentes públicos do TAD (tipicamente, operações).
Encapsulam e protegem os dados. Resolvem os problemas existentes com tipos simples. Quatro tipos diferentes de operações:
Construtoras; Consultoras; Atualizadoras; Destrutoras.
Tipos Abstratos de Dados (TADs)
Dados
Operações(consultoras)
Operações(construtoras)
Operações(atualizadoras)
Operações(destrutoras)
CódigoUsuário
TAD
Tipos Abstratos de Dados (TADs)
Simulação de TADs em C C não apresenta ferramentas para implementar TADs; Apenas podemos simular TADs em C; Uso disciplinado dessa simulação promove:
Maior legibilidade A leitura da interface (.h) mostra todas as
funcionalidades do TAD. Maior redigibilidade
Usuário não implementa operações. Maior modificabilidade
Alterações no TAD não provocam alterações no código usuário.
Uso indisciplinado da simulação: Programador pode não chamar a operação de
inicialização; Programador pode usar outras operações
para acessar o TAD, acabando com todas as vantagens do uso de TADs .
Simulação de TADs em C
Implementação de um vetor usando um TAD
15
Implementação de um vetor usando um TAD
16
Algumas Operações
17
Utilização do TAD
18
TAD matriz de números inteiros
• Estrutura– Atributos
• Operações– Inicializar, modificar, operar com, exibição
19
Estrutura do TAD Matriz
20
Uma matriz de duas dimensões sendo que pode ter, no máximo, a dimensão 5x5, mas tem as dimensões definidas pelos valores dos atributos lin e col.
Matriz m;
1 int main() {23 int i,j;1 Matriz m;2 3 m.lin=3;4 m.col=3;5 6 for (i=0; i<m.lin; i++) {7 for(j=0; j<m.col; j++) {8 m.val[i][j] = 0;9 }10 }1415 return 0;16 }
Inicialização
21
Inicialização explícita de todos os elementos da matriz usando o TAD
0 1 2
0
1
2
Operação de construção
22
Operação de atribuição de valores
23
Operação de buscar de valor
24
Operação de exibição
25
Programa de teste
26
Resultado
27