Anda di halaman 1dari 7

SISTEMA DE ENSINO PRESENCIAL CONECTADO TECNOLOGIA EM Anlise e desenvolvimento de sistemas GERALDO DOS SANTOS

Produo textual

Pirapora 2011 GERALDO DOS SANTOS

produo textual

Trabalho apresentado ao Curso Anlise e Desenvolvimento de Sistemas da UNOPAR Universidade Norte do Paran, para as disciplinas: Banco de Dados II Analise de Sistemas II Desenvolvimento Orientado a Objetos I Algoritmos e Estrutura de Dados Seminarios II

Prof. Polyanna Prof. Roberto Prof. Marcio Prof. Merris

Pirapora 2011 Listas Lineares

Lista uma das formas mais comuns de agrupar dados. Uma lista linear uma estrutura que permite representar um conjunto de elementos de forma a preservar a relao de ordem linear entre eles. Pode-se definir uma lista como um conjunto de n elementos (n>=0) organizados de tal forma que a sua estrutura reflete diretamente as posies relativas dos elementos que compem a lista. Seja L uma lista linear tal que L:[a1, a2, a3,...,an], para n>=0 ento: a1 o primeiro elemento de L; an o ltimo elemento de L; para cada i, 1 < i < n, o elemento ai precedido por ai-1 e sucedido por ai+1; para n=0, dizemos que a lista vazia Muitas operaes podem ser executadas sobre uma lista linear: a) criao de uma lista linear vazia b) acesso ao i-simo elemento de uma lista para examin-lo ou modific-lo c) insero de um elemento na lista d) remoo de um elemento da lista e) cpia de uma lista f) concatenao de duas listas g) determinao do tamanho da lista h) excluso de um lista i) entre muitas outras.

Listas Lineares com disciplina de acesso Disciplina de acesso refere-se forma como os elementos de uma lista linear so acessados, inseridos e removidos. Se os elementos de uma lista linear s podem ser inseridos, acessados ou removidos da ltima posio, chamamos esta lista linear de pilha (LIFO - Last In First Out);

Se os elementos de uma lista linear s podem ser inseridos na ltima posio e acessados ou removidos da primeira posio, chamamos esta lista linear de fila (FIFO - First In First Out);

Consideraes sobre alocao de memria

Ao desenvolver uma implementao para listas lineares, o primeiro problema que surge : como armazenar os elementos da lista??? A alocao de memria para executar um programa pode ser esttica ou dinmica. Na alocao esttica, o espao de memria ocupado pelas variveis determinado no momento da compilao, j na alocao dinmica o espao de memria alocado em tempo de execuo. Um exemplo pode ser visto na Figura 2.1. Um lista com alocao esttica de memria exige uma definio do nmero mximo de elementos e como consequencia pode haver um super ou sub dimensionamento do tamanho da lista. A lista com alocao dinmica por outro lado resolve esta limitao uma vez que crescem medida que novos elementos precisam ser armazenados (e diminui medida que elementos anteriormente armazenados so retirados da lista).

memria usada pelo programa

memria livre

10000 i == 4200 10002 ptr ==19000 19000 5800

main() { int i, *ptr; ptr = (int*) malloc (sizeof(int)); *ptr = 5800; i = 4200;

(a)

(b)

Figura 2.1 (a) com alocao de memria esttica; (b) com alocao dinmica de memria

Consideraes sobre acesso aos elementos de um lista linear

O acesso aos elementos de uma lista pode se dar de forma sequencial ou encadeada.

* Acesso sequencial

No acesso sequencial assume-se que os elementos de uma lista so armazenados de forma consecutiva na memria. Considere que cada elemento da lista tenha tamanho k, veja Figura 2.2.

...

| ei-1 | e

| ei+1 | ...

t+k t+2k t+3k

Figura 2.2 Lista linear com acesso sequencial

Uma vantagem do acesso sequencial que podemos ressaltar a facilidade para calcular o endereo de memria de um certo ndice i. Para isso, basta saber o endereo inicial t da lista, o tamanho do elemento da lista em bytes, e o ndice do elemento cujo endereo se deseja obter.

Uma desvantagem do acesso sequencial o custo para inserir e remover elementos no meio de uma lista linear porque necessrio movimentar os elementos para abrir espao no caso da insero e para eliminar espao no caso da remoo.

* Acesso encadeado

Neste caso, os elementos de uma lista podem ocupar quaisquer reas de memria, no necessariamente consecutivas. Esse esquema implica que para preservar a relao de ordem de uma lista linear, cada elemento da lista deve armazenar sua informao e o endereo de memria onde se encontra o prximo elemento.

No acesso encadeado dois endereos so muito importantes: a. o endereo do primeiro elemento da lista, sem o qual seria impossvel localizar o inicio da lista linear; b. o endereo que indica fim de lista.

A grande vantagem do acesso encadeado aparece no momento da insero ou remoo de qualquer elemento da lista. Isto acontece porque no necessrio movimentar nenhum elemento, basta atualizar os endereos de tal forma a garantir a ordem linear da lista.

A desvantagem aparece no acesso a um elemento da lista. No possvel calcular o endereo do elemento atravs de uma frmula como no caso anterior. Neste caso, para acessar um elemento necessrio percorrer a lista a partir do seu inicio at encontr-lo.

A Figura 2.2 mostra as combinaes possveis entre alocao esttica versus alocao dinmica e acesso sequencial versus acesso encadeado.

alocaao esttica/acesso sequencial

| alocaoesttica/acesso encadeado |

alocao dinmica/acesso sequencial | alocaodinmica/acesso encadeado | Figura 2.2 Combinaes possveis entre tipo de acesso e alocao de memria

PROPRIEDADES ACID DE UMA TRANSAAO

As propriedades ACID (atomicidade, consistncia, isolamento e durabilidade) so fundamentais nos bancos de dados, sejam os relacionais ou os orientados a documentos. Ento, tambm valido tratarmos desse assunto referente aos bancos relacionais, em um contexto geral. Atualmente os sistemas de informao suportam vrios usurios. O banco de dados tem que garantir a confiabilidade nas transaes, haja vista que muitas podem ocorrer concorrentemente. O que uma transao? Uma transao um programa em execuo que forma uma unidade lgica de processamento no banco de dados. Uma transao inclui uma ou mais operaes de acesso ao banco de dados englobam operaes de insero, excluso, alterao ou recuperao. * Por que a Restaurao (Recuperao) Necessria? O sistema dever garantir que: (1) todas as operaes na transao foram completadas com sucesso e seu efeito ser gravado permanentemente no banco de dados ou (2) a transao no ter nenhum efeito sobre o banco de dados ou sobre quaisquer outras transaes. * Atomicidade A propriedade de atomicidade garante que as transaes sejam atmicas (indivisveis). A transao ser executada totalmente ou no ser executada. Consistncia A propriedade de consistncia garante que o banco de dados passar de uma forma consistente para outra forma consistente. Isolamento A propriedade de isolamento garante que a transao no ser interferida por nenhuma outra transao concorrente. Durabilidade A propriedade de durabilidade garante que o que foi salvo, no ser mais perdido.

A VANTAGEM DE SE UTILIZAR ORIENTAAO A OBJETOS

mais fcil pensar em objetos do que em funes / procedimentos pois objetos esto mais prximos ao mundo real. Maior reaproveitamento de cdigo: Componentes bem modularizados com funes bem definidas servindo a propsitos claros e delimitados (alta coeso) podem ser reaproveitados,

significando menos cdigo (e conseqentemente, menor custo de manuteno). A orientao a objetos trs vrios recursos para produzir componentes independentes intercambiveis (encapsulamento, interfaces, etc), promovendo o baixo acoplamento. COMO E QUANDO UTILIZADO O POLIMORFISMO? O polimorfismo, o conceito que voc pode pode ter vrios facetas mostrando apenas aquilo que seja necessrio (nvel de abstrao / especializao) em determinado momento. Tambm possvel pensar do lado oposto, que cada faceta pode especializar alguma de suas funes, mudando o comportamento mais abstrato.

O QUE UM ATRIBUTO DERIVADO E COMO REPRESENT-LO NO DIAGRAMA DE CLASSE?

REFERNCIAS

Anda mungkin juga menyukai