Você está na página 1de 15

SISTEMA DE ENSINO PRESENCIAL CONECTADO CURSO SUPERIOR DE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS 3 SEMESTRE FARLEY MARIO ROCHA

JAIBA 2011

FARLEY MARIO ROCHA

Conceitos das disciplinas do mdulo III

Atividade de portflio do modulo III apresentado ao Curso Superior de Tecnologia em Analise e Desenvolvimento de Sistemas pela Universidade Norte do Paran - UNOPAR.
Professores: Marcio Chiaveli Merris Mozer Roberto Nishimura Simone Tanaka

JAIBA 2011
2

SUMRIO

INTRODUO ..................................................................................................... 4 LISTAS LINEARES .............................................................................................. 5 LISTAS ENCADEADAS ....................................................................................... 5 ESTRUTURA DE UMA LISTA ENCADEADA ...................................................... 6 FILAS, FIFO ......................................................................................................... 7 PILHAS LIFO........................................................................................................ 8 ENCADEAMENTEO SIMPLES ........................................................................... 9 DUPLAMENTE ENCADEADO ............................................................................ 10 PROPRIEDADE ACID.......................................................................................... 11 DESENVOLVIMENTO ORIENTADO A OBJETO. ............................................... 12 POLIMORFISMO. ............................................................................................... 13 CONCLUSO. ..................................................................................................... 14 REFERENCIAS. .................................................................................................. 15

INTRODUO
Neste trabalho apresentaremos os contedos estudados no semestre, sobre Banco de Dados II, Analise de Sistemas II, Algoritmo e Estrutura de Dados, Desenvolvimento Orientado a Objeto. Sobre as quais trataremos ao decorrer do trabalho sobre listas lineares, as suas definies ainda os conceitos de FIFO, FILO, seus apontadores suas ordens as para incluso, excluso e pesquisa,com exemplos do cotidiano e da informtica de lista lineares. os conceitos de alocao simplesmente encadeada, alocao duplamente encadeada, representaes grfica das duas alocaes de encadeamento e qual delas tem maiores vantagens. Bem como tambm iremos abordar as propriedades Acide (Automacidade, Confiabilidade, Integridade e Durabilidade), das transaes no Banco de Dados. As vantagens de se utilizar a Orientao a Objetos e como pode ser representado no diagrama de classe polimorfismo.

Listas Lineares
Lista linear a estrutura que permite representar um conjunto de dados a fins de forma a preservar a relao de ordem linear de seus elementos. A maneira mais simples de acomodar uma lista linear em computador atravs da utilizao de um vetor. a representao por vetor explora a seqencialidade da memria de tal forma que os ns de uma lista sejam armazenados em endereos contguos, ou igualmente distanciados um do outro. Quando falamos em listas, filas e pilhas, pode-se dizer que todas, na verdade, so listas de informaes. A principal diferena entre estas listas a maneira de acesso a informaes, por exemplo, para incluir, excluir e localizar uma ou mais informaes. Segundo Puga e Risseti (2004, p.183), uma lista uma coleo de elementos do mesmo tipo, dispostos linearmente , podem ou no seguir uma organizao, por exemplo [E1,E2,E3,E4,E5,..., En], onde n deve ser o maior numero ou igual a zero.

Listas encadeadas
Uma lista encadeada um conjunto de elementos que esto dispostos em uma dada organizao fsica no linear, isto , esto espalhados pela memria.Para organizar a lista de maneria que possa ser utilizada como um conjunto linear, necessrio que cada elemento do conjunto possua informaes sobre o seu elemento anterior e o seu elemento seguinte. Uma lista encadeada tambm pode ser uma coleo de registros em que cada registro tem um campo que indica a localizao do registro seguinte na lista. Assim, a ordenao fornecida explicitamente por esse campo. Esquematicamente podemos representar uma lista ligada da seguinte forma:

Onde o registro que representa cada componente da lista possui um campo que aponta para o prximo registro numa certa seqncia de ordenao. Cabea: Primeiro registro (elemento) da lista. Cauda: ltimo elemento da lista. Para indicar que no ha elementos aps a cauda, atribui-se nil ao apontador para o prximo, j que no existe um prximo.

A principal vantagem das listas encadeadas sobre as listas seqenciais que as primeiras podem aumentar e reduzir de tamanho dinamicamente, podendo assim ser usadas em diversas situaes sem comprometer o uso de memria. A principal desvantagem das listas encadeadas a necessidade de armazenamento adicional para guardar os apontadores.

Estrutura de uma lista encadeada


Uma lista encadeada (= linked list = lista ligada) uma seqncia de clulas; cada clula contm um objeto de algum tipo e o endereo da clula seguinte. Suporemos nesta pgina que os objetos armazenados nas clulas so do tipo int. A estrutura de cada clula de uma tal lista pode ser definida assim: Composta por clulas que apontam para o prximo elemento da lista. Para "ter" uma lista ligada/encadeada, basta guardar seu primeiro elemento, e seu ltimo elemento aponta para uma clula nula. O esquema a seguir representa uma lista ligada/encadeada com 5 elementos:
Clula 1 ----> Clula 2 ---> Clula 3 ---> Clula 4 ---> Clula 5 ---> (Nulo)

Para inserir dados ou remover dados necessrio ter um ponteiro que aponte para o 1 elemento e outro que aponte para o fim, porque se queremos inserir ou apagar dados que esto nessas posies, a operao rapidamente executada. Caso seja necessrio editar um n que esteja no meio da lista haver uma busca pela posio desejada.

Endereo de uma lista encadeada


O endereo de uma lista encadeada o endereo de sua primeira clula. Se p o endereo de uma lista, convm, s vezes, dizer simplesmente. "p uma lista". Listas so animais eminentemente recursivas. Para tornar isso evidente, basta fazer a seguinte observao: se p uma lista ento vale uma das seguintes alternativas: p == NULL ou p->prox uma lista.
6

Filas
Acho que todos ns j ficamos em uma fila. Fila para comprar ingressos para shows, pegar dinheiro no banco e, s vezes, at para comprar o pozinho da manh. O conceito de fila em programao o mesmo dessas filas em que esperamos para ser atendidos em ordem: o primeiro elemento a entrar na fila ser o primeiro elemento a sair. Esse conceito conhecido como Frist In, Frist 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, sequencialmente na ordem eu que so armazenados. As filas (queues) so conjuntos de elementos (ou listas) cuja operaes de insero so feitas por uma extremidade, e as de remoo por outra extremidade. Como exemplo, pode-se implementar uma fila de impresso em que os arquivos a ser impressos so organizados em uma lista e sero impressos na ordem de chagada, medida que a impressora estivar disponvel. Conforme comentamos a introduo de listas, a implementao das listas, filas, pilhas e rvores pode ser feita por meio de arranjos ou de ponteiros.

FIFO
Em engenharia da computao, FIFO (acrnimo para First In, First Out, que em portugus significa primeiro a entrar, primeiro a sair) refere-se a estruturas de dados do tipo fila. Tem uma estrutura diferente da estrutura de uma LIFO (que significa Last In, First Out, as pilhas). As listas so amplamente utilizadas em programao para implementar filas de espera. Em uma fila de tipo FIFO os elementos vo sendo colocados na fila e retirados (ou processados) por ordem de chegada. A idia fundamental da fila que s podemos inserir um novo elemento no final da fila e s podemos retirar o elemento do incio. Como exemplo de aplicao para filas, pode-se citar a fila de processos de um sistema operacional. Nela, estabelecido um tempo t a ser usado por cada um dos processos. Se durante a execuo de um processo o tempo passa de 0 a t, este posto na fila e o processo seguinte executado. Se o processo seguinte no terminar de ser executado no tempo t, ele posto na fila e o processo subseqente executado, e assim por diante at todos os processos serem executados.

Pilhas
As pilhas tambm so conhecidas como lista LIFO (Last In, Frist Out), que em portugus significa Ultimo a entrar e primeiro a sair UEPS. uma lista linear em que todas as operaes de insero e remoo so feitas por um nico extremo denominado topo. Um exemplo bastante comum em que se aplica o conceito de pilhas o de uma pilha de pratos que esto guardados no armrio: quando a pessoa vai utilizar um dele pega sempre o prato que se encontra no topo da pilha, assim como, quando um novo prato vai ser guardado, colocado no topo. Isso acontece porque apenas uma das extremidades da pilha est acessvel.

LIFO
Em cincia da computao, LIFO (acrnimo para a expresso inglesa Last In, First Out que, em portugus significa ltimo a entrar, primeiro a sair) refere-se a estruturas de dados do tipo pilha. equivalente a FILO, que significa First In, Last Out . O conceito de pilha amplamente utilizado na informtica, como, por exemplo, durante a execuo de um programa, para o armazenamento de valores de varivel local a um bloco e tambm para conter o endereo de retorno do trecho de programa que chamou a funo ou procedimento atualmente em execuo. Usa-se os termos push e pop para denominar a insero e remoo de elementos da pilha, respectivamente. Usa-se o termo top para consultar o elemento do topo da pilha, sem o remover. Uma pilha uma lista linear na qual o primeiro elemento a entrar o ltimo elemento a sair. Ela possui apenas uma entrada, chamada de topo, a partir da qual os dados entram e saem dela

Encadeamento simples
Os elementos da lista possuem apensa um ponteiro que aponta para o elemento sucessor ou prximo . Uma alternativa para esta desvantagem o uso de lista encadeadas, que permite a criao de arrays sem um nmero de N elementos fixo. Uma lista formada por ns. N um objeto composto que armazena uma referncia para um elemento ou objeto qualquer e uma referncia next (prximo) que permite fazer a ligao com o prximo n da lista at que o ltimo aponte para uma regio de memria nula (null). O primeiro e o ltimo ns de uma lista so chamados respectivamente de cabea (referncia head) e cauda (referncia tail) da lista.

Encadeamento simples

Vantagens
A insero ou remoo de um elemento na lista no implica a mudana de lugar de outros elementos; No necessrio definir, no momento da criao da lista, o nmero mximo de elementos que esta poder ter. Ou seja, possvel alocar memria "dinamicamente", apenas para o nmero de ns necessrios.

Desvantagens
A manipulao torna-se mais "perigosa" uma vez que, se o encadeamento (ligao) entre elementos da lista for mal feito, toda a lista pode ser perdida; Para aceder ao elemento na posio n da lista, deve-se percorrer os n - 1 anteriores.
9

Duplamente encadeados
Todos os elementos possuem um campo que aponta para o seu predecessor (anterior) e outro para o seu sucessor (prximo). Numa lista cada elemento, ou n, composto normalmente por uma varivel que guarda a informao (Objeto, inteiro, cadeia de caracteres, etc) e dois ponteiros (referncias a endereos de memria) que permitem a ligao entre os vrios ns desta lista. Este tipo de lista conhecido por "Duplamente ligada" ou "Duplamente encadeada" exatamente pelo fato de possuir duas variveis de controle (ponteiros) ao contrrio da lista simplesmente ligada que possui somente um, o qual aponta para o prximo elemento da lista. A funo destas variveis guardar o endereo de memria do n anterior e do n posterior, identificados normalmente como "prev" ou "previous" e "next". Com estas estruturas podemos realizar diversas tarefas que seriam impossveis ou muito dispendiosas com uma lista simplesmente encadeada.

Vantagens: Maior facilidade de controle da lista, maior confiabilidade e menor risco de perda acidental da lista. Desvantagens: Maior gasto de espao em disco (2 ns a mais). Melhor opo de Alocamento. Nos exemplos apresentados, por terem maior utilizao, as listas duplamente encadeadas apontam ser a melhor, pois ele pode percorrer o seu espao alocado tanto para encontrar o prximo elemento, quanto para encontrar o elemento anterior. Podendo varrer ou procurar seus respectivos elementos com mais facilidade. Enquanto na listas simples tendo sempre que ir em frente sem poder retornar, isso dificultaria a vida de ns futuros profissionais da rea de tecnologia em diversas implementaes tecnolgicas.

10

Propriedades ACID
ACID (acrnimo de Atomicidade, Consistncia, Isolamento e Durabilidade), um conceito utilizado em cincia da computao para caracterizar uma transao, entre outras coisas. Atomicidade Trata o trabalho como parte indivisvel (atmico). A transao deve ter todas as suas operaes executadas em caso de sucesso ou nenhum resultado de alguma operao refletido sobre a base de dados em caso de falha. Ou seja, aps o trmino de uma transao (commit ou abort), a base de dados no deve refletir resultados parciais da transao. Exemplos:

Ou todo o trabalho feito, ou nada feito. Em uma transferncia de valores entre contas bancrias, necessrio que, da conta origem seja retirado um valor X e na conta destino seja somado o mesmo valor X. As duas operaes devem ser completadas sem que qualquer erro acontea, caso contrrio todas as alteraes feitas nessa operao de transferncia devem ser desfeitas;

Consistncia
Regras de integridade dos dados so asseguradas, ou seja, as transaes no podem quebrar as regras do Banco de Dados.

Isolamento
Tudo se parece como se o trabalho estivesse isolado. O resultado de uma transao executada concorrentemente a outra deve ser o mesmo que o de sua execuo de forma isolada. Operaes exteriores a uma dada transao jamais vero esta transao em estados intermedirios. Ex: Duas transaes executadas juntas.
Transao Y altera o nome do cliente. Transao X altera o nome do mesmo cliente;

Ao fazer insert, update ou delete enquanto a transao estiver em andamento todos os dados da tabela sero alocados para aquela transao, portanto a transao X s poder ser executada aps a concluso da transao Y. Esta escolha feita pelo banco de dados e ele executa primeiro uma transao depois a outra. Duas transaes s podem ser simultneas se elas no alterarem os mesmos dados.

11

Durabilidade
Os efeitos de uma transao em caso de sucesso (commit) so permanentes mesmo em presena de falhas.

Desenvolvimento Orientado a objeto Vantagens de se utilizar DOO

Os sistemas, em geral, possuem uma diviso de cdigo um pouco mais lgica e melhor encapsulada do que a empregada nos sistemas no orientados a objetos. Isto torna a manuteno e extenso do cdigo mais fcil e com menos riscos de insero de bugs. Tambm mais fcil reaproveitar o cdigo. mais fcil gerenciar o desenvolvimento deste tipo de software quando temos uma equipe grande. Podemos fazer uma especificao UML antes de iniciar o desenvolvimento do software em si, e em seguida dividirmos o sistema em classes e pacotes, e cada membro da equipe pode ficar responsvel por desenvolver uma parte do sistema. Vantagens Diretas maior facilidade para reutilizao de cdigo e por conseqncia 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 sistema muito mais complexos, pela incorporao de funes prontas menor custo para desenvolvimento e manuteno de sistemas

12

Polimorfismo na Diagrama de Casses Polimorfismo


Na programao orientada a objetos, o polimorfismo permite que referncias de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Assim, um mesmo mtodo pode apresentar vrias formas, de acordo com seu contexto. O polimorfismo importante pois permite que a semntica de uma interface seja efetivamente separada da implementao que a representa. O termo polimorfismo originrio do grego e significa 'muitas formas' (poli = muitas, morphos = formas). Polimorfismo a terceira caracterstica essencial de uma linguagem de programao orientada a objetos, depois de abstrao de dados e herana. Ele prov uma outra dimenso de separao entre interface e implementao, para descasar o qu do como. Polimorfismo permite uma melhor organizao do cdigo e uma leitura mais fcil, assim como a criao de programas extensveis, que podem crescer no apenas durante a criao original do projeto, mas tambm quando novas caractersticas so desejadas.

13

CONCLUSO

Os conceitos de listas lineares as suas definies com as representaes de FIFO e LIFO, cujo apontam para os alocamentos lineares onde FIFO representa linhas de uma fila onde o primeiro dado que entra o primeiro que sai, no qual foi tomado como exemplo no cotidiano do dia-a-dia, afila para comprar o pozinho na padaria e no mundo da informtica o envio de um arquivo para impresso, cujo os quais tem que esperar os primeiro que chegaram para ser impressos e tendo que seguir a famosa ordem de que o primeiro a chegar o primeiro a sair. LIFO sendo representado pela pilha onde h somente uma opo de entrada e sada de dados, aonde o primeiro elemento a chegar o ultimo a sair e o ultimo a chegar o primeiro a sair, notamos que numa pilha de pratos quando vamos pegar uma para por algum alimento pegamos o do topo, onde supostamente foi o ultimo a ser posto na pilha. Decorremos neste trabalho algumas coisas sobre alocao simplesmente encadeada e duplamente encadeada onde, a alocao simples tem apenas um apontador que aponta para o prximo e a duplamente encadeada tem dois apontadores que aponta para o seu elemento anterior e para o seu elemento sucesso ou prximo. Onde apontamos que a duplamente encadeada leva vantagem na utilizao por ter mais recursos. Os conceitos de transio de dados das propriedades ACID (Atomicidade, Consistncia, Isolamento e Durabilidade) em que todos SGBS deve ter essas propriedades. Vantagens do Desenvolvimento Orientado a Objeto e a representao do Polimorfismo no diagrama de casses. Os quais assuntos citados compreenderam o trabalho Portflio individual do 3 semestre.

14

REFERNCIAS

http://msdn.microsoft.com/pt-br/library/cc580626.aspx http://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetos http://www.hardware.com.br/artigos/programacao-orientada-objetos/ http://en.wikipedia.org/wiki/LILO_%28boot_loader%29 http://www.google.com.br/search?hl=pt-BR&client=firefox-a&hs=EYQ&rls=org.mozilla:ptBR:official&sa=X&ei=k3LFTczoMuXZ0QHatOj_Bw&ved=0CCYQBSgA&q=exemplo+de+listas+encadead as&spell=1 Horowitz. Estruturas de Dados, Campus, So Paulo. Knut. The Art of Computer Programming. Vols. I,II e III Veloso, Paulo. Estruturas de Dados, Campus, So Paulo. Szwarcfiter, Jaime Luiz. Estruturas de Dados e Seus Algoritmos. Ltc Editora. Rabuske, Marcia A. Introduo Teoria dos Grafos. Ed. da UFSC, Florianpolis WEB AULAS, LIVROS BANCO DE DADOS II, E ESTRUTURA DE DADOS

15

Você também pode gostar