Programação II Tipos Compostos Heterogêneos e Tipos Abstratos de Dados Autoria: Ernani Santos...

Preview:

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

Recommended