A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tipos Compostos Heterogêneos e Tipos Abstratos de Dados

Apresentações semelhantes


Apresentação em tema: "Tipos Compostos Heterogêneos e Tipos Abstratos de Dados"— Transcrição da apresentação:

1 Tipos Compostos Heterogêneos e Tipos Abstratos de Dados
1 Programação II Tipos Compostos Heterogêneos e Tipos Abstratos de Dados Autoria: Ernani Santos Modificação: Clebson Oliveira Adaptação: Claudia Boeres 1

2 Tipos Compostos Heterogêneos
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. 2

3 Tipos Compostos Heterogêneos
Exemplo: 3 3

4 Tipos Compostos Heterogêneos
Definição: 4 4

5 Tipos Compostos Heterogêneos
Exemplo: 5

6 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: 6

7 Tipos Compostos Heterogêneos
Typedef: serve para atribuir um nome a uma estrutura e definir um tipo. Exemplo: struct e tipos definidos pelo usuário 7

8 Tipos Compostos Heterogêneos
Exemplos: a) Cálculo da distância entre dois pontos no plano cartesiano b) Manipulação de pontos no plano Exemplo 1 Exemplo 2 8

9 Tipos Compostos Heterogêneos
Exemplos: a) vetor de pontos: exemplo vetor b) vetor de pontos aleatórios no plano: vetor de pontos aleatórios 9

10 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). 10

11 Tipos Abstratos de Dados (TADs)
Encapsulam e protegem os dados. Resolvem os problemas existentes com tipos simples. Quatro tipos diferentes de operações: Construtoras; Consultoras; Atualizadoras; Destrutoras. 11

12 Tipos Abstratos de Dados (TADs)
Operações (consultoras) (construtoras) (atualizadoras) (destrutoras) Código Usuário TAD 12

13 Simulação de TADs em C Maior legibilidade Maior redigibilidade
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. 13

14 Simulação de TADs em C 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 . 14

15 Implementação de um vetor usando um TAD
15

16 Implementação de um vetor usando um TAD
16

17 Algumas Operações 17

18 Utilização do TAD 18

19 TAD matriz de números inteiros
Estrutura Atributos Operações Inicializar, modificar, operar com, exibição 19

20 Estrutura do TAD Matriz
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; 20

21 Inicialização 1 int main() { 2 3 int i,j; Matriz m; m.lin=3; m.col=3; for (i=0; i<m.lin; i++) { for(j=0; j<m.col; j++) { m.val[i][j] = 0; } 14 15 return 0; 16 } Inicialização explícita de todos os elementos da matriz usando o TAD 1 2 21

22 Operação de construção
22

23 Operação de atribuição de valores
23

24 Operação de buscar de valor
24

25 Operação de exibição 25

26 Programa de teste 26

27 Resultado 27


Carregar ppt "Tipos Compostos Heterogêneos e Tipos Abstratos de Dados"

Apresentações semelhantes


Anúncios Google