edii02 [2012.1] introdução (estruturas de dados)

58
Introdução Estrutura de Dados II Aula 02 UFS - DCOMP - Prof. Kenia Kodel 1 UFS - DCOMP - Prof. Kenia Kodel 1

Upload: kianeledok

Post on 19-Jul-2015

358 views

Category:

Education


0 download

TRANSCRIPT

Page 1: EDII02 [2012.1]   Introdução (Estruturas de Dados)

IntroduçãoEstrutura de Dados II

Aula 02

UFS - DCOMP - Prof. Kenia Kodel

1UFS - DCOMP - Prof. Kenia Kodel

1

Page 2: EDII02 [2012.1]   Introdução (Estruturas de Dados)

O verbo educar é originário do latim e quer dizer extrair de dentro. Logo, a educação não se constitui em mero estabelecimento de informações, mas sim de se trabalhar as potencialidades do ser, a fim de que floresçam.

UFS - DCOMP - Prof. Kenia Kodel

2

Por que flores?

UFS - DCOMP - Prof. Kenia Kodel

2

Page 3: EDII02 [2012.1]   Introdução (Estruturas de Dados)

O segredo é não correr atrás das borboletas... É cuidar do jardim para que elas venham até você.

.

Mário Quintana

UFS - DCOMP - Prof. Kenia Kodel

3UFS - DCOMP - Prof. Kenia Kodel

3

Page 4: EDII02 [2012.1]   Introdução (Estruturas de Dados)

strutura de Dados

estuda o que?

UFS - DComp - Prof. Kenia Kodel 44

Page 5: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Que caracterstica dos computadores alavancou a í

pulveriza o destes nos diversos setores de a o çã çã

humana?

1. velocidade

2. precis oã

3. versatilidade

UFS - DCOMP - Prof. Kenia Kodel

5

Page 6: EDII02 [2012.1]   Introdução (Estruturas de Dados)

A versatilidade, plasticidade,

apresentada pelos computadores,

possibilita que estes assumam funções

diversas. Com um mesmo hardware é

possível calcular, construir texto, jogar,

comunicar-se.

UFS - DCOMP - Prof. Kenia Kodel

6

Page 7: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Quanto maior a disseminação dos recursos informáticos.

Maior a necessidade de computadores cada vez mais versáteis.

UFS - DCOMP - Prof. Kenia Kodel

7

Page 8: EDII02 [2012.1]   Introdução (Estruturas de Dados)

O que promove a plasticidade observada nas m quinas computacionais?á

redes programa oçã futebol

UFS - DCOMP - Prof. Kenia Kodel

8

Page 9: EDII02 [2012.1]   Introdução (Estruturas de Dados)

A programação “habilita” os

computadores a cumprirem

imensa diversidade de papéis

em: medicina, ensino,

comércio, escritório,

comunicação, engenharia,

transporte.

UFS - DCOMP - Prof. Kenia Kodel

9

Page 10: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Disseminação dos recursos informáticos.

Necessidade de computadores mais versáteis.

Programação

UFS - DCOMP - Prof. Kenia Kodel

10

Page 11: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Nos programas identificam-se dois principais elementos:

1. hardware e software

2. linguagens de programa o e compiladoresçã

3. instru es e dadosçõ

UFS - DCOMP - Prof. Kenia Kodel

11

Page 12: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Nos programas as instruções constituem as ordens; a sequência de comandos cujo cumprimento provoca a execução das funcionalidades destinadas aos computadores.

UFS - DCOMP - Prof. Kenia Kodel

12

Page 13: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Já os dados servem para subsidiar as citadas instruções. “Alimentam” os sistemas servindo como matéria-prima para constituição das informações.

UFS - DCOMP - Prof. Kenia Kodel

13

Page 14: EDII02 [2012.1]   Introdução (Estruturas de Dados)

A organiza o dos dados exerce influ ncia sobre a performance dos çã ê

programas que os manipulam?

1. somente na velocidade de processamento

2. somente no uso do espao de armazenamentoç

3. na velocidade e no uso do espaoç

UFS - DCOMP - Prof. Kenia Kodel

14

Page 15: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Na árvore de pesquisa ao

lado a localização do nó

que contém 109 demandaria

3 passos: raiz – 85 – êxito.45

15

85

1236

63109

UFS - DCOMP - Prof. Kenia Kodel

15

Page 16: EDII02 [2012.1]   Introdução (Estruturas de Dados)

15

85

63

1245

36109

Já os mesmos dados mantidos numa árvore sem critérios de organização;

caso fosse aplicada uma pesquisa por nível, a localização do nó 109

demandaria 7 passos, ou seja, demandaria a varredura da

estrutura completa.

UFS - DCOMP - Prof. Kenia Kodel

16

Page 17: EDII02 [2012.1]   Introdução (Estruturas de Dados)

15

85

63

1245

36109

Analisando esta situação problema – dados em árvores – observa-se que a forma de organização dos dados afeta a velocidade de processamento, o que pode ser entendido como agilidade de atendimento ao usuário.

45

15

85

1236

63109

UFS - DCOMP - Prof. Kenia Kodel

17

Page 18: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Considerando a base de dados abaixo, se requerido pelo usuário a apresentação de relatórios, ora ordenados por código, ora ordenados por produto. Como fazer?

UFS - DCOMP - Prof. Kenia Kodel

18

Page 19: EDII02 [2012.1]   Introdução (Estruturas de Dados)

É conveniente manter os dados em duas estruturas; cada uma ordenada segundo um dos critérios requeridos?

Se requeridos relatórios, ora ordenados por código, ora ordenados por produto.

UFS - DCOMP - Prof. Kenia Kodel

19

Page 20: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Se requeridos relatórios, ora ordenados por código, ora ordenados por produto.

Analisando esta situação problema , observa-se que a forma de organização dos dados afeta a velocidade de processamento, o que pode ser entendido como agilidade de atendimento ao usuário. Porém foi preciso usar o dobro de espaço de armazenamento da situação inicial.

UFS - DCOMP - Prof. Kenia Kodel

20

Page 21: EDII02 [2012.1]   Introdução (Estruturas de Dados)

É conveniente acrescentar dois campos à base de

dados, um ordenando os dados conforme o código e

outro conforme o produto?

Se requeridos relatórios, ora ordenados por código, ora ordenados por produto.

Con s tr u i r s o l u ç ão n o

q u a dr o.

UFS - DCOMP - Prof. Kenia Kodel

21

Page 22: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Acrescentando-se dois campos à base de dados, um ordenando os dados conforme o código e outro conforme o produto, obtém-se economia de espaço de armazenamento em relação à situação anterior.

UFS - DCOMP - Prof. Kenia Kodel

22

Page 23: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Se requeridos relatórios, ora ordenados por código, ora ordenados por produto.

Analisando esta situação problema e suas respectivas soluções, observa-se que a forma de organização dos dados afeta a velocidade de processamento, bem como a exploração do espaço de armazenamento.

23

Page 24: EDII02 [2012.1]   Introdução (Estruturas de Dados)

A organização dos dados

exerce influência sobre a

velocidade de

processamento, bem

como sobre o uso do

espaço de

armazenamento, dos

programas que os

manipulam. UFS - DCOMP - Prof. Kenia Kodel

24

Page 25: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Maior disseminação dos recursos de informática.

Necessidade de computadores mais versáteis.

Programação.

Organização ideal dos dados.

UFS - DCOMP - Prof. Kenia Kodel

25

Page 26: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Para organiza o dos dados manipulados pelos programas çã

computacionais s o usados:ã

1. compiladores

2. estruturas de dados

3. algoritmos timos em complexidadeó

UFS - DCOMP - Prof. Kenia Kodel

26

Page 27: EDII02 [2012.1]   Introdução (Estruturas de Dados)

As estruturas de dados são os

elementos da programação úteis à

organização dos dados; portanto

devem ser aplicadas criteriosamente

para garantir otimização da exploração

da velocidade de processamento, bem

como economia de uso do espaço de

armazenamento, dos programas

computacionais.

UFS - DCOMP - Prof. Kenia Kodel

27

Page 28: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Maior disseminação dos recursos de informática.

Necessidade de computadores mais versáteis.

Programação.

Organização ideal dos dados.

ESTRUTURAS DE DADOS

UFS - DCOMP - Prof. Kenia Kodel

28

Page 29: EDII02 [2012.1]   Introdução (Estruturas de Dados)

strutura de Dados estuda o que?

29UFS - DCOMP - Prof. Kenia Kodel

29

ESTRUTURAS DE DADOS

Organização ideal dos dados.

Otimiza a programação de computadores.

Resulta em computadores mais versáteis.

Obtendo maior disseminação dos recursos de informática.

Page 30: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Existem diversos tipos de estruturas de dados - pilhas, filas,

rvores, arquivos... - os quais diferenciam-se entre si:á

1. somente pela forma de organizar os dados

2. somente pelas caractersticas da mem ria onde residemí ó

3. pela forma de organizar os dados e pelas caractersticas ída mem ria onde residemó

UFS - DCOMP - Prof. Kenia Kodel

30

Page 31: EDII02 [2012.1]   Introdução (Estruturas de Dados)

A forma como os dados são organizados - linear, hierárquica, em pilhas - diferenciam as estruturas de dados.

UFS - DCOMP - Prof. Kenia Kodel

31

15

85

63

1245

36109

Page 32: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Também as características da memória onde as

estruturas de dados residem

provocam diferenças entre

estas.

UFS - DCOMP - Prof. Kenia Kodel

32

Memória Principal

Memória Auxiliar

Page 33: EDII02 [2012.1]   Introdução (Estruturas de Dados)

As estruturas de dados residentes em memória principal (veloz em relação à memória secundária, volátil, pequena em relação à memória secundária) são estudadas em

Estrutura de

Dados I.

UFS - DCOMP - Prof. Kenia Kodel

33

Memória Principal

Memória Auxiliar

Page 34: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Na disciplina Estrutura de Dados II

s o estudadas as estruturas residentes ãem mem ria secund ria. Quais as ó ácaractersticas da mem ria secund ria, í ó áou auxiliar?

UFS - DCOMP - Prof. Kenia Kodel

34

Page 35: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Na disciplina Estrutura de Dados II são

estudadas as estruturas residentes em memória secundária, portanto:

Não voláteis (permanente).

Com grande capacidade de armazenamento, em relação à principal.

Porém, lentas, em relação à principal.

UFS - DCOMP - Prof. Kenia Kodel

35

Page 36: EDII02 [2012.1]   Introdução (Estruturas de Dados)

quais s o os ã dispos itivos de

composi o da mem ria secund ria? çã ó á

UFS - DComp - Prof. Kenia Kodel 3636

Page 37: EDII02 [2012.1]   Introdução (Estruturas de Dados)

ispositivos de Memória Secundária

ispositivos Externos de Dados

olássicos: HD, CD, DVD

oen Drive (Clássico?)

oartões de Memória

oWeb -Computação nas Nuvens)

ormazéns de Arquivos

oDs Portáteis

olu-Ray

oisquetes, Cilindros, Tambores, Fitas (Antigos?)

outros?

UFS - DComp - Prof. Kenia Kodel 3737

Page 38: EDII02 [2012.1]   Introdução (Estruturas de Dados)

m Estrutura de Dados II estudaremos estruturas residentes em

mem ria secund ria. ó á Que estrutura, dentre

as conhecidas, reside em mem ria ósecund ria?á

UFS - DComp - Prof. Kenia Kodel 3838

Page 39: EDII02 [2012.1]   Introdução (Estruturas de Dados)

estrutura “básica” de

dados, residente em

memória secundária, é o

arquivo.

UFS - DComp - Prof. Kenia Kodel 3939

Page 40: EDII02 [2012.1]   Introdução (Estruturas de Dados)

uais softwares comerciais, que voc êusa, aplicam arquivos?

UFS - DComp - Prof. Kenia Kodel 4040

Page 41: EDII02 [2012.1]   Introdução (Estruturas de Dados)

omo engenheiro de software, quando

usar arquivo?

UFS - DComp - Prof. Kenia Kodel 4141

Page 42: EDII02 [2012.1]   Introdução (Estruturas de Dados)

omo engenheiros de

software, devemos aplicar

arquivos para armazenar:

(a) grande quantidade de

dados; (b) dados de forma

permanente; e/ou (c)

informações processadas

por diversas aplicações.UFS - DComp - Prof. Kenia Kodel 4242

Page 43: EDII02 [2012.1]   Introdução (Estruturas de Dados)

que um arquivo?é

UFS - DComp - Prof. Kenia Kodel 4343

Page 44: EDII02 [2012.1]   Introdução (Estruturas de Dados)

Arquivo é uma lista ou coleção de registros.

Os registros:o são compostos por

campos, o representam entidades

modeladas por características comuns,

o são catalogados para um objetivo específico.

UFS - DCOMP - Prof. Kenia Kodel

44

Page 45: EDII02 [2012.1]   Introdução (Estruturas de Dados)

UFS - DCOMP - Prof. Kenia Kodel

45

onvm registrar os dados dos livros éde uma biblioteca em arquivo?

Por qu ? ê

Page 46: EDII02 [2012.1]   Introdução (Estruturas de Dados)

UFS - DCOMP - Prof. Kenia Kodel

46

ara justificar a aplicação de arquivo

para registrar os dados dos livros de uma

biblioteca, retomemos a definição de arquivo:

Arquivo é uma lista ou coleção de registros. Os registros: (a) são compostos por campos, (b) representam entidades modeladas por características comuns, e (c) são catalogados para um objetivo específico.

1.

ue campos comporiam os registros da aplica o “Biblioteca”?çã2.

ue entidade(s) estaria(m) sendo modelada(s)?

3.

caractersticas comuns usadas para modelar a supracitada entidade? á í4.

objetivo especfico que justifica a cataloga o dos registros em tela? á í çã5.

modifica o do objetivo pode implicar na necessidade de altera o da modelagem dos registros?çã çã

Page 47: EDII02 [2012.1]   Introdução (Estruturas de Dados)

UFS - DCOMP - Prof. Kenia Kodel

47

ara orientar genitores brasileiros na compra de calçados infantis fora do Brasil, foi criado arquivo com a correspondência

entre a numeração brasileira e a numeração

usada nos países campeões no ranking de preferência dos turistas brasileiros.

1.

onvm aplicar arquivo na resolu o da situa o problema dada?é çã çã2.

uantos registros comp em o arquivo? õ3.

ue campos comp em os registros da aplica o “Calados Infantis”?õ çã ç4.

ue entidade(s) estaria(m) sendo modelada(s)?

5.

caractersticas comuns usadas para modelar a supracitada entidade? á í

Page 48: EDII02 [2012.1]   Introdução (Estruturas de Dados)

UFS - DCOMP - Prof. Kenia Kodel

48

ara implementar loja virtual,

convm usar arquivo?é

Page 49: EDII02 [2012.1]   Introdução (Estruturas de Dados)

UFS - DCOMP - Prof. Kenia Kodel

49

ara implementar calculadora,

convm usar arquivo?é

Page 50: EDII02 [2012.1]   Introdução (Estruturas de Dados)

xemplo de situa o problema çãonde h dados que devem ser áprocessados por mais de uma

aplica o computacional: çã

UFS - DComp - Prof. Kenia Kodel 5050

Page 51: EDII02 [2012.1]   Introdução (Estruturas de Dados)

o de definição dos registros de composição dos arquivos;

o de definição de arquivos (tipados ou não);

o para associação de arquivo lógico (variável do tipo arquivo) ao seu nome externo – usado pelo sistema operacional e outros programas para acessar os dados do arquivo físico;

UFS - DCOMP - Prof. Kenia Kodel

51

Comandos para Manipular Arquivos

Page 52: EDII02 [2012.1]   Introdução (Estruturas de Dados)

o para abrir / criar arquivo (em geral há mais de um);

o para gravar registro em arquivo;

o para ler um registro de um arquivo;

o de identificação de fim de arquivo é alcançado;

o para mover ponteiro (de acesso) para uma posição estabelecida;

UFS - DCOMP - Prof. Kenia Kodel

52

Comandos para Manipular Arquivos

Page 53: EDII02 [2012.1]   Introdução (Estruturas de Dados)

o para identificar a posição atual do ponteiro do arquivo;

o de identificação do tamanho do arquivo em número de registros;

o para fechar o arquivo.

UFS - DCOMP - Prof. Kenia Kodel

53

Comandos para Manipular Arquivos

Page 54: EDII02 [2012.1]   Introdução (Estruturas de Dados)

UFS - DCOMP - Prof. Kenia Kodel

54

Propor situação problema cuja solução ótima

requer a aplicação de arquivos de dados.

Construir programa correspondente.

Disponibilizar as operações de:

a) inclusão,

b) consulta total,

c) consulta por chave [lida].

Cuidando do

jardim!!!

Di s c u t i r p o s s í v

e i s

s o l u ç õ es .

Page 55: EDII02 [2012.1]   Introdução (Estruturas de Dados)

ue tipos de arquivos existem?

UFS - DComp - Prof. Kenia Kodel 5555

Page 56: EDII02 [2012.1]   Introdução (Estruturas de Dados)

De acordo com a organização e acesso dos dados, os arquivos podem ser:

3. sequenciais4. sequenciais indexados5. diretos

UFS - DCOMP - Prof. Kenia Kodel

56

Page 57: EDII02 [2012.1]   Introdução (Estruturas de Dados)

UFS - DCOMP - Prof. Kenia Kodel

57

É possível armazenar uma árvore em memória secundária? Como?

Cuidando do

jardim!!!

Di s c u t i r

s o l u ç õ es .

Page 58: EDII02 [2012.1]   Introdução (Estruturas de Dados)

58UFS - DCOMP - Prof. Kenia Kodel

Manipulação de ArquivosDefinição de arquivo em Pascal. Operações sobre arquivo.

Próximo passo...

UFS - DCOMP - Prof. Kenia Kodel

58