TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Trabalho IA

Ensaios: Trabalho IA. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  30/12/2013  •  702 Palavras (3 Páginas)  •  520 Visualizações

Página 1 de 3

Tipos de dados abstratos definidos pelos usuários

Um tipo de dado abstrato pelo usuário apresenta algumas características são elas: uma definição de tipo que permite que as unidades de programa declarem suas variáveis, mas oculta a sua representação e um conjunto de operações para manipular objetos do tipo. Esse foi definido no contexto de tipo de dado abstrato definido por usuário.

Um tipo de dado abstrato é um tipo de dado que satisfaz as seguintes condições:

- A representação ou a definição do tipo e as operações sobre objetos do tipo estão contidas em uma única unidade sintática.

- A representação de objetos do tipo não é visível pelas unidades de programa que usam o tipo, de modo que as únicas operações diretas possíveis sobre esses objetos são aquelas oferecidas na definição do tipo.

Umas das principais vantagens de empacotar a representação a as operações em uma única unidade sintática são as mesmas que as do encapsulamento. Já que o encapsulamento constitui de um método de organizar um programa em unidades lógicas que podem ser compiladas separadamente. Além disso, permite que modificações ou operações do tipo sejam feitas em uma única área do programa. Como os clientes não são capazes de ver os detalhes das representações existe algumas vantagens em as representações serem ocultas. Uma das principais , já como os clientes não são capazes de ver os detalhes da representação e, assim, seu código não pode depender dessa representação. Isso resulta em representações que podem ser modificadas a qualquer hora sem exigir mudanças nos clientes. Outra vantagem é o aumento da confiabilidade. Como os clientes não podem mudar as representações subjacentes de objetos diretamente, seja intencionalmente ou acidentalmente, aumentando assim a integridade desses objetos. Estes so podem ser modificados somente pelas operações fornecidas.

Um exemplo: suponhamos que um tipo de dado abstrato deva ser construído para uma pilha que tem as seguintes operações:

Cria (pilha)

Destrói (pilha)

Vazia (pilha)

Empilha (pilha, elemento)

Desempilha (pilha)

Topo (pilha)

Note que alguns projetos de implementação de tipos de dados abstratos não exigem as operações de criar e de destruir. Por exemplo, simplesmente definir uma variável para que seja de um tipo de dado abstrato pode criar implicitamente a estrutura de dados subjacentes e inicia-la.

Um cliente do tipo pilha poderia ter uma sequencia de código como o seguinte.

...

cria (pilha);

empilha (pilha1, cor1);

empilha (pilha1, cor 2);

IF(!vazia(pilha1))

temp = topo(pilha1);

...

Suponhamos que a implementação original da abstração da pilha use uma representação de adjacência. Em um momento posterior, devido a problema de gerenciamento da memória com a representação de adjacência, ela é modificada

...

Baixar como (para membros premium)  txt (4.8 Kb)  
Continuar por mais 2 páginas »
Disponível apenas no TrabalhosGratuitos.com