EDII02 [2012.1] Introdução (Estruturas de Dados)
-
Upload
kianeledok -
Category
Education
-
view
358 -
download
0
Transcript of 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
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
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
strutura de Dados
estuda o que?
UFS - DComp - Prof. Kenia Kodel 44
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
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
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
O que promove a plasticidade observada nas m quinas computacionais?á
redes programa oçã futebol
UFS - DCOMP - Prof. Kenia Kodel
8
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
Disseminação dos recursos informáticos.
Necessidade de computadores mais versáteis.
Programação
UFS - DCOMP - Prof. Kenia Kodel
10
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
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
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
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
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
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
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
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
É 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
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
É 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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
quais s o os ã dispos itivos de
composi o da mem ria secund ria? çã ó á
UFS - DComp - Prof. Kenia Kodel 3636
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
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
estrutura “básica” de
dados, residente em
memória secundária, é o
arquivo.
UFS - DComp - Prof. Kenia Kodel 3939
uais softwares comerciais, que voc êusa, aplicam arquivos?
UFS - DComp - Prof. Kenia Kodel 4040
omo engenheiro de software, quando
usar arquivo?
UFS - DComp - Prof. Kenia Kodel 4141
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
que um arquivo?é
UFS - DComp - Prof. Kenia Kodel 4343
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
UFS - DCOMP - Prof. Kenia Kodel
45
onvm registrar os dados dos livros éde uma biblioteca em arquivo?
Por qu ? ê
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?çã çã
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? á í
UFS - DCOMP - Prof. Kenia Kodel
48
ara implementar loja virtual,
convm usar arquivo?é
UFS - DCOMP - Prof. Kenia Kodel
49
ara implementar calculadora,
convm usar arquivo?é
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
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
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
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
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 .
ue tipos de arquivos existem?
UFS - DComp - Prof. Kenia Kodel 5555
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
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 .
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