Vous êtes sur la page 1sur 33

CENTRO DE CINCIAS EMPRESARIAIS E SOCIAIS APLICADAS ANLISE E DESENVOLVIMENTO DE SISTEMAS

FRANCISCO AISLAN DA SILVA FREITAS

TTULO DO TRABALHO: Portflio Atividade Interdisciplinar Banco de Dados II Anlise de Sistemas II Algoritmos e Estruturas de Dados Desenvolvimento Orientado a Objetos I.

Limoeiro do Norte - CE 2011

FRANCISCO AISLAN DA SILVA FREITAS

TTULO DO TRABALHO: Portflio Atividade Interdisciplinar Banco de Dados II Anlise de Sistemas II Algoritmos e Estruturas de Dados Desenvolvimento Orientado a Objetos I.

Trabalho de portflio atividade interdisciplinar apresentado Universidade Norte do Paran UNOPAR, como requisito parcial para a obteno de mdia do 3 semestre nas disciplinas de Banco de Dados II, Anlise de Sistemas II, Algoritmos e Estruturas de Dados e Desenvolvimento Orientado a Objetos I. Orientadores: Profs. Roberto Nishimura, Simone Tanaka, Merris Mozer e Marcio Chiaveli.

Limoeiro do Norte - CE 2011

SUMRIO

1 Introduo............................................................................................... 2 Desenvolvimento.................................................................................... 2.1 Listas lineares e definies dos conceitos....................................... 2.2 FIFO seu apontador sua ordem para incluso excluso e pesquisa...................................................................................................... 2.3 FILO seu apontador sua ordem para incluso excluso e pesquisa......................................................................................................

1 2229

2.4 Definies dos conceitos de alocao simplesmente encadeada e alocao duplamente encadeada com sua representao graficamente mostrando qual delas tem maiores vantagens e o 17 motivo......................................................................................................... 3_ Com relao a banco de dados, defina os conceitos das propriedades ACID de uma transao....................................................

21

4_ Qual a vantagem de se utilizar orientao a objetos e como e quando utilizase polimorfismo............................................................... 5_ Como pode-se representar polimorfismo no diagrama de classe, explique como voc representou o polimorfismo................................. 8_ Concluso............................................................................................. 9_ Referncias ..........................................................................................

23 24 25 26

1 _ INTRODUO Lista Linear so estruturas flexveis, que podem crescer ou diminuir durante a execuo do programa, de acordo com a demanda. So mais adequadas para aplicaes nos quais no possvel prever a demanda por espaos. Exs: i. Listas de Arquivos de uma pasta ii. Listas de Programas Instalados iii. Listas de Fontes Instaladas Uma lista linear define-se por uma cole o L:[a1, a2, ...,na], n=0, cuja propriedade estrutural baseia-se apenas na posio relativa dos elementos, que so dispostos linearmente. Se n=0, dizemos que a lista L vazia; caso contrrio, so vlidas as seguintes propriedades: i. a1 en t o o p ri m e ir o e l e m de L;

ii. an o ltimo elemento de L;

iii. ak, 1 < K < n, precedido pelo elemento ak 1 e seguido por ak+1 em L.

2 2 _ DESENVOLVIMENTO 2.1 _ LISTAS LINEARES E DEFINIES DOS CONCEITOS FIFO E FILO Segundo Puga e Risseti (2004, p. 183), uma lista uma coleo de elementos do mesmo tipo, dispostos linearmente, que podem ou no seguir uma organizao, por exem plo [E1, E2, E3, E4, E5,...,] onde n deve ser maior ou igual a zero. 2.2 FIFO (Apontador ordem para incluso excluso e pesquisa) O conceito de fila (FIFO) em programao o mesmo dessas filas que esperamos para ser atendidos em ordem: o primeiro elemento a entrar na fila ser o primeiro elemento a sair. Esse conceito conhecido First In, First Out ou FIFO, expresso conhecida em portugus como PEPS ou Primeiro Que Entra, Primeiro Que sai.

Ento no conceito de fila, os elementos so atendidos, ou utilizados, sequencialm ente na ordem em que so armazenados. As filas (queues) so conjuntos de elementos (ou listas) cujas operaes de insero so feitas por uma extremidade, e as de remoo por outra extremidade.

3 Operaes bsicas (Incluso e Excluso) existem, basicamente, duas operaes bsicas a serem implementadas nas filas: adicionar e remover. comum a utilizao de um ponteiro para o incio e outro para o fim, facilitando assim as Operaes.

Adicionar - procedure adiciona (var inicio : ponteiro ; info : InfoType); Remover - function remove (var inicio : ponteiro) : InfoType;

Representao do FIFO por meio de arranjos e apontadores

Uma fila uma lista de informaes com operaes especiais de acesso. O acesso aos elementos da fila feito pela extremidade oposta a de incluso dos elementos. Sendo assim, o elemento disponvel estar sempre na extremidade oposta a da insero. Esta regra tambm conhecida como FIFO (First In First Out) Uma boa maneira de lembrar o funcionamento de uma fila, imaginar a fila de um banco: o primeiro cliente que chega ser o primeiro atendido, e os clientes seguintes entraro na fila pelo seu final.

6 Para acessar um elemento da fila, preciso que ele esteja na posio de sada, caso contrrio, os elementos que estiverem na sua frente devem ser retirados antes (no pode "furar fila"!). Implementao com Vetores Uma fila pode ser implementada com vetores. Neste caso, deve-se ter ateno quando: o A fila j estiver lotada e for solicitada uma incluso o A fila estiver vazia e for solicitada uma excluso

Para a implementao de uma fila com vetores, a ateno principal estar voltada para o ndice que dever controlar a posio da ltima insero.

INSERO DOS ELEMENTOS

735

EXCLUSO DOS ELEMENTOS

24

7 Implementao com Listas Dinmicas

A vantagem da implementao com listas dinmicas, que utilizam ponteiros, que a fila tem tamanho varivel uma vez que pode-se alocar e deslocar memria para os elem entos de acordo com a necessidade. O ponto de insero dos elementos pode ser definido como no incio ou no final da fila, lembrando que a excluso e consulta se dar sempre na extremidade oposta. Entretanto, deve-se respeitar a regra de disponibilidade imposta pelas listas. Assim, proibido percorrer a lista nestas etapas.

Para insero no incio so necessrios os seguintes passos: 1. Varivel ponteiro X (auxiliar para a operao de insero) recebe uma alocao de memria (nova clula) 2. Cpia dos dados na nova clula 3. Ponteiro da nova clula recebe o valor do incio (apontar para o primeiro elemento) 4. Incio aponta para nova clula (recebe o endereo armazenado em X) Para excluso no final: 1. Observar que esta insero exigir que toda a lista seja percorrida, o que fere o princpio da fila. Desse modo, a insero no incio e excluso no final no indicada para uso com encadeamento simples, apenas com encadeamento duplo, onde a lista possui apontamentos em ambas as direes.

Para insero no final so necessrios os seguintes passos: 1. A fila deve ter dois ponteiros um para seu primeiro elemento (P) e um para seu ltimo elemento (U) 2. Varivel ponteiro X (auxiliar para a operao de insero) recebe uma alocao de memria (nova clula) 3. Cpia dos dados na nova clula

8 4. Ponteiro da nova clula recebe NULL, pois ficar no final da lista 5. Ponteiro da clula final (U) aponta para nova clula (recebe o endereo armazenado em X) 6. Ponteiro U recebe X e passa a apontar para o novo ltimo elemento

Para excluso no incio: 1 Ponteiro auxiliar X recebe o mesmo valor do incio (P) 2 Percebe a prxima clula, que aps a excluso passar a ser a primeira

3 Liberar a memria apontada por X

2.3 LIFO (Apontador ordem para incluso excluso e pesquisa) As pilhas tambm so conhecidas como lista LIFO (Last In, First Out), que em portugus significa ltimo a entrar e primeiro a sair (UEPS). uma lista linear em que todas as operaes de insero e remoo so feitas por nico extrem o denominado topo.

10 Representao do FILO por meio de arranjos e apontadores

11

12

13

Uma pilha uma lista de informaes com operaes especiais de acesso. O acesso aos elementos da pilha feito sempre pela mesma extremidade. Sendo assim , a extremidade escolhida sempre usada para todas as operaes, seja de incluso, excluso ou consulta, e chamada de TOPO. Esta regra tambm conhecida como FILO (First In Last Out).

Uma boa maneira de lembrar o funcionamento de uma pilha imaginar uma pilha de pratos: o prato do topo o nico que pode ser retirado e s podem ser colocados pratos no topo da pilha. Assim, para acessar o ltimo prato, deve-se antes retirar os que esto por cim a dele.

Para acessar um elemento da pilha, pr eciso que ele esteja no TOPO, caso contrrio, os elementos que estiverem sobre ele devem ser retirados antes ("seno os pratos quebram!"). Implementao com Vetores Uma pilha pode ser implementada com vetores. Neste caso, deve-se ter ateno quando: o A pilha j estiver lotada e for solicitada uma incluso o A pilha estiver vazia e for solicitada uma excluso

Para a implementao de uma pilha com vetores, a ateno principal estar voltada para o ndice que dever controlar a posio da ltima insero, ou seja, o TOPO da pilha.

INSERO DOS ELEMENTOS

743

14 EXCLUSO DOS ELEMENTOS

3 4 7 Implementao com Listas Dinmicas

A vantagem da implementao com listas dinmicas, que utilizam ponteiros, que a pilha tem tamanho varivel uma vez que se pode alocar e desalocar memria para os elementos de acordo com a necessidade. O TOPO da pilha pode ser no incio ou no final da lista, sendo que as operaes devero acontecer sempre na extremidade (TOPO) escolhida. Para a operao de insero, com TOPO no incio da lista, so necessrios os seguintes passos: 1. Varivel ponteiro X (auxiliar para a operao de insero) recebe uma alocao de memria (nova clula) 2. Cpia dos dados na nova clula 3. Ponteiro da nova clula recebe o valor de TOPO (apontar para o primeiro elemento) 4. TOPO aponta para nova clula (recebe o endereo armazenado em X)

Para excluso: 1. Varivel ponteiro X (auxiliar para a operao de excluso) recebe o valor de TOPO e passa a apontar para o incio da lista vazia! verificar se a pilha no est

2. TOPO recebe o endereo da prxima clula da pilha (este endereo est armazenado na clula atualmente apontada por X).

15 3. Liberar a memria apontada por X.

INSERO DE ELEMENTOS

16 EXCLUSO DE ELEMENTOS

17

2.4 DEFINIES DOS CONCEITOS DE ALOCAO SIMPLESMENTE ENCADEADA E ALOCAO DUPLAMENTE ENCADEADA, COM SUA REPRESENTAO GRAFICAMENTE MOSTRANDO Alocao simplesmente encadeada QUAL DELAS TEM Este tipo de lista o mais simples e seguintes regras: MAIORES VANTAGENSsegue as primeiro elemento da lista (incio E O MOTIVO. a. deve existir um ponteiro que aponte para o da lista); b. cada elemento, ou n, da lista aponta para o prximo sucessivamente (da o nom e listas encadeadas) c. o ltimo elemento deve apontar para NIL, indicando o final da lista. Agora podemos definir a estrutura bsica de um n da lista Representao grfica:

N Info prox

Declarao: type apontador = ^no; InfoType = record campos do registro; end; no = record info : Infotype; prox : apontador; end; Onde, n um registro com dois campos: info e prox, info um tipo registro do tipo infotype contendo as informaes (variveis) teis e prox um ponteiro capaz de armazenar o endereo de memria de um registro do tipo n (elemento da lista). Graficamente a representao de uma lista simplesmente encadeada seria a seguinte:

18

INICIO Info

N prox Info

N prox

Onde, INICIO um ponteiro que guarda o endereo de memria do primeiro elemento da lista. Aplicao As listas simplesmente encadeadas so utilizadas quando h necessidade de criar vetores com tamanho varivel (dinmico), sua limitao, somente permitir, o caminhamento unidirecional na lista, pois, com o as referncias iniciam no prim eiro elemento da lista e seguem unidirecionalmente at o ltimo elemento, no possvel regressar no cam inhamento atravs da lista. Mesmo com esta limitao, as listas simplesmente encadeadas so largamente utilizadas, pela sua simplicidade de implementao fornecendo um bom ndice entre custo/benefcio, na gerencia, em memria, de conjuntos de dados no muito extensos. Operaes Bsicas (Incluso, Pesquisa, Alterao e Excluso) Como toda estrutura de arm azenamento de dados, as listas simplesmente encadeadas devem suportar as operaes de cadastro das informaes. Uma particularidade das listas o fato de apresentarem uma pequena variao no cdigo de incluso e excluso, de acordo com o local onde o novo elem ento dever ser inserido (no incio, no meio ou no fim), e ainda assim, est variao pode ocorrer de acordo com os mecanismos de controle utilizados na gerencia da lista, tais como, utilizao de um nico ponteiro apontando para o inicio da lista, ou dois ponteiros, um para o incio e outro para o final.

As operaes de cadastro sobre listas devem tomar o cuidado especial de analisar se o valor do ponteiro para o incio diferente de NIL, pois, se for igual

lista est vazia e certamente s rotinas devero efetuar procedimentos especiais.

19 INCLUSO - Levando em considerao o uso de um nico ponteiro para o incio

procedure InsereLista (var inicio : ponteiro ; info : InfoType); No incio No fim No meio procedure InsereLista (var inicio, fim : ponteiro; info : InfoType); No incio No fim No meio (ordenada)

INCLUSO - Levando em considerao o uso de dois ponteiros (incio e fim).

PESQUISA - normalmente, usa-se uma funo que, se encontrar, retornar o endereo do n, caso contrrio, retornar o valor NIL. function PesquisaLista (inicio : ponteiro ; info : InfoType) : ponteiro; ALTERAO - utilizando a funo de pesquisa, obtm-se o endereo do n a ser alterado e de posse deste endereo, altera-se os dados deste n. procedure AlteraLista (inicio : ponteiro ; info : InfoType); EXCLUSO - usa-se um procedimento recebendo o incio da lista e os dados do n ser excludo, ento, atravs do campo identificado (chave) efetua-se uma pesquisa e localiza-se o n anterior ao n a ser excludo, e ento devemos liberar o espao alocado para o n excludo e fazer o seu anterior apontar para o posterior.

procedure ExcluiLista (inicio : ponteiro ; info : InfoType);

20

No incio No meio No fim Alocao duplamente encadeada uma lista encadeada, onde cada elemento contm um ponteiro para o n anterior e um ponteiro para o n posterior, permitindo o caminhamento nos dois sentidos da lista, diferentemente, da lista simplesmente encadeada, que s permitia em um nico sentido. Aplicao Aplicao das listas duplamente encadeadas semelhante s listas simplesmente encadeadas, mas aquela mais apropriada, quando h a necessidade de cam inhamento em ambos os sentidos, isso faz com que, novas sub-

rotinas sejam utilizadas nas listas duplamente encadeadas, tais como : Anterior, Posterior. Operaes Bsicas (Incluso, Pesquisa, Alterao, Excluso, Anterior e Posterior). Anterior - dever retornar o endereo do n anterior ou NIL, caso no exista anterior. function Anterior (EnderecoNo : ponteiro) : ponteiro; Posterior - dever retornar o endereo do n posterior ou NIL, caso no exista posterior. function Posterior (EnderecoNo : ponteiro ) : ponteiro; Uma lista duplamente encadeada circular. Neste tipo o ponteiro "ant" do primeiro n aponta para o ultimo n, e o ponteiro "prox" do ltimo n aponta para o primeiro elemento. Neste tipo de lista voc precisa de ao m enos um ponteiro de controle, para apontar, para o primeiro elemento, ou para o ltimo, ou para o ltimo elemento alterado (escolha o tipo que melhor se encaixe no seu programa - ou voc pode ter os trs ponteiros). Definido que vamos trabalhar com o primeiro tipo de lista, com variveis globais, podemos j imaginar como nossa lista ficar aps a insero de alguns dados:

21

Deve-se notar que a vantagem da lista duplamente encadeada sobre a singular o segundo ponteiro (o ponteiro de retrocesso). Este ponteiro tem duas funcionalidades. Em bancos de dados extensos, voc pode varrer a lista em busca de dados nos dois sentidos ao mesmo tempo, reduzindo o tempo da busca pela metade (no pior dos casos). Outro uso do ponteiro s ocorre se por algum motivo houver uma falha com o ponteiro de inicio da lista, e se este for o caso, voc pode usar o ponteiro final para reconstruir a lista e redefinir o ponteiro. Agora vamos s funes!

A alocao duplamente encadeada leve vantagem

sobre a alocao

simplesmente encadeada, pelo motivo da necessidade de caminhamento em ambos os sentidos, isso faz com que, novas sub-rotinas sejam utilizadas na 3_ COM RELAO A BANCO DE DADOS, DEFIN A OS CONCEITOS DAS alocao duplamente encadeada tais como: anterior e posterior. PROPRIEDADES ACID DE UMA TRANSAO. um conjunto de procedimentos que executado num banco de dados, que para o usurio visto como uma nica ao. A integridade de uma transao depende de quatro propriedades, conhecidas como ACID. Atomicidade Todas as aes que compem a unidade de trabalho da transao devem ser concludas com sucesso, para que seja efetivada. Qualquer ao que constitui falha na unidade de trabalho, a transao deve ser desfeita (rollback). Quando todas as aes so efetuadas com sucesso, a transao pode ser efetivada (commit).

Consistncia Nenhum a operao do banco de dados de uma transao pode

ser parcial. O

22

status de uma transao deve ser implementado na ntegra. Por exemplo, um pagamento de conta no pode ser efetivado se o processo que debita o valor Isolamento da conta corrente do usurio no for efetivado antes, nem Cada transao funciona completamente parte de vice-versa. outras estaes. Todas as operaes so parte de uma transao nica. O principio que nenhuma outra transao, operando no mesmo sistema, pode interferir no funcionamento da transao corrente ( um mecanismo de Durabilidade controle). que os resultados de uma transao so permanentes Significa Outras transaes no podem visualizar os resultados parciais e podem ser das operaes de por um a transao subsequente. Por desfeitos somente uma transao em andam ento. exemplo: todos os dados e status relativos a uma transao devem ser armazenados num Na prtica, repositrioalguns SGBDs relaxam no sendo destas propriedades falha permanente, na implementao passveis de buscando desempenho. Controle de de por uma executadas de uma formasegura e sigam as regrasgarantir falha concorrncia um mtodo usado para ACID. que as transaes sejam hardware. Os SGBD devem ser capazes de assegurar que nenhuma ao de transaes completadas com sucesso (committed transactions) seja perdida ao desfazer transaes abortadas (rollback).

Uma transao uma unidade que preserva consistncia. Requeremos, portanto, que qualquer escalonamento produzido ao se processar um conjunto de transaes concorrentemente seja computacionalmente equivalente a um escalonamento produzindo executando essas transaes serialmente em alguma ordem. Diz-se que um sistema que garante esta propriedade assegura a seriabilidade.

23 4_ QUAL A VANTAGEM DE SE UTILIZAR ORIENTAO A OBJETOS? E COMO E QUANDO UTILIZA-SE POLIMORFISMO ?

Orientao a Objetos o maior avano em software destes ltimos anos. uma form a mais natural de se analisar o mundo. Ela nos permite construir sistemas melhores e, alm disso, de maneira mais fcil. Ser a mais importante das tecnologias emergentes na rea de software nos anos 90. Vantagens da Orientao a Objetos Vantagens Diretas maior facilidade para reutilizao de cdigo e por

consequncia do projeto possibilidade do desenvolvedor trabalhar em um nvel mais elevado de abstrao utilizao de um nico padro conceitual durante todo o processo de criao de software maior adequao arquitetura cliente/servidor maior facilidade de comunicao com os usurios e com outros profissionais de informtica.

Vantagens Reais ciclo de vida mais longo para os sistemas

desenvolvimento acelerado de sistemas possibilidade de se construir sistem a muito mais complexos pela incorporao de funes prontas menores custo para desenvolvimento e manuteno de sistemas.

O sentido de polimorfismo, na orientao a objetos, inter -relacionar classes demasiadamente parecidas, com pontos em comum, numa classe generalizada. Para isso, usa-se de vrias tcnicas que so implementadas na programao orientada a objetos, como herana, funes virtuais, classes abstratas, resoluo dinmica.

Polimorfismo uma propriedade da Programao Orientada a Objetos que

permite ao programador usar uma generalizao. Com isso, o objeto pode assumir diferentes formas durante a execuo do programa, ou seja, assumir as formas de objetos de mais de uma classe.

24 5_ COMO PODE-SE REPRESENTAR POLIMORFISMO NO DIAGRAMA DE CLASSE, EXPLIQUE COMO VOC REPRESENTOU O POLIMORFISMO ?

representado atravs do comportamento diferente de objetos diferentes de uma mesma classe. Considerando uma superclasse Polgono, onde por herana existam duas subclasses Quadrado e Retngulo, (uma operao Calcular rea, que pode ser comum entre as duas subclasses pode ser instanciado atravs das duas produzindo o mesmo efeito). Polimorfismo em UML.

25 CONCLUSO Conclui-se que o resumo da (1) pgina a (24), mostra que a programao a linha extensa para todos esses conceitos apropriados no desenvolvimento do software orientado a objetos, aglomerando o esquema conceitual do polimorfismo a classes, e linhas organizadas tanto na vertical como na horizontal nos conceitos de FIFO e FILO, e concretizao a propriedades de atomicidade, Consistncia , Integridade e durabilidade em um SGDB que tem toda sua base nessas quatro propriedades, com isso tudo tem o anlise que as estruturas de dados e algoritmos so a base fundamental da programao.

26 REFERNCIAS

Fonte: Lista Lineares http://uni.educacional.com.br/up/68010001/5075252/ListaEstati Fonte: Lista Lineares ca.pdf http://www.sergio.pro.br/trabalhos/13_listas_lineares_em_estrutura_de_dados. pdf Fonte: PUGA, Sandra; RISSETTI, Gerson. Lgica de programao e estrutura de dados. (p, 97)

So Paulo: Pearson, 2004. So Paulo: Pearson, 2004.

Fonte: PUGA, Sandra; RISSETTI, Gerson. Lgica de programao e estrutura de dados. (p, 125, 126) Fonte: http://homepages.dcc.ufmg.br/~rfortes/aeds/2/slides/pilhafila.pdf Livro Projeto de Algoritmos Nvio Ziviani Captulo 3 Sees 3.2 e 3.3 http://www2.dcc.ufmg.br/livros/algoritmos/ Fonte: http://www3.di.ufpb.br/liliane/aulas/filas.html Fonte: http://www3.di.ufpb.br/liliane/aulas/pilhas.html Fonte: www.nerdbb.com/download/file.php?id=2560 Fonte: http://www.vivaolinux.com.br/artigo/Linguagem-C-ListasDuplamenteEncadeadas/?pagina=1 Fonte: http://pt.wikipedia.org/wiki/Banco_de_dados Fonte: http://wpjr2.wordpress.com/2008/04/23/orientacao-por-objetos-vantagensedesvantagens/

Vous aimerez peut-être aussi