UPE Caruaru Sistemas de Informao Disciplina Estrutura de

  • Slides: 28
Download presentation
UPE – Caruaru – Sistemas de Informação Disciplina: Estrutura de Dados e Arquivo Prof.

UPE – Caruaru – Sistemas de Informação Disciplina: Estrutura de Dados e Arquivo Prof. : Paulemir G. Campos Arquivo 27/10/2021 EDA - Prof. Paulemir Campos 1

Conteúdo n Conceito; n Declaração; n Abertura; n Fechamento; n Organização: – Seqüencial; –

Conteúdo n Conceito; n Declaração; n Abertura; n Fechamento; n Organização: – Seqüencial; – Direta. 27/10/2021 EDA - Prof. Paulemir Campos 2

Conceito (1/4) n Um arquivo é um conjunto de registros armazenados em algum dispositivo

Conceito (1/4) n Um arquivo é um conjunto de registros armazenados em algum dispositivo de memória secundária ou auxiliar (Ex. : Winchester, disquete, etc). n Um registro é um conjunto de unidades de informação (campos do registro) logicamente relacionadas. 27/10/2021 EDA - Prof. Paulemir Campos 3

Conceito (2/4) n Exemplo: – Considere a cédula de identidade a seguir: 27/10/2021 EDA

Conceito (2/4) n Exemplo: – Considere a cédula de identidade a seguir: 27/10/2021 EDA - Prof. Paulemir Campos 4

Conceito (3/4) n Exemplo (Cont. ): – Observe que o conjunto de informações contido

Conceito (3/4) n Exemplo (Cont. ): – Observe que o conjunto de informações contido nesse documento de identidade fictício pode formar o seguinte registro: RG A-9876 Nome Fulano de Tal 27/10/2021 Pai Sicrano de Tal Mãe Beltrana de Tal EDA - Prof. Paulemir Campos Naturalidade Descoberto Nascimento 29/02/1900 5

Conceito (4/4) n Exemplo (Cont. ): – Por sua vez, o armazenamento em memória

Conceito (4/4) n Exemplo (Cont. ): – Por sua vez, o armazenamento em memória de massa de um conjunto desses registros formará um arquivo. RG Nome Pai Mãe Naturalidade Nascimento A-9876 Fulano de Tal Sicrano de Tal Beltrana de Tal Descoberto 29/02/1900 B-3686 José da Silva João da Silva Maria Silva Belém 30/03/1944 C-3384 Maria da Glória Afonso Mendes Glória Manaus 03/04/1950 D-4321 Márcia Lopes Mário Lopes Sílvia Lopes Brasília 15/06/1958 27/10/2021 EDA - Prof. Paulemir Campos 6

Declaração (1/3) n. A declaração de um arquivo é feita através da seguinte especificação:

Declaração (1/3) n. A declaração de um arquivo é feita através da seguinte especificação: declare identificadores arquivo acesso de tipo onde: declare, arquivo e de: são palavras reservadas; identificadores: são nomes lógicos dos arquivos; acesso: indica organização seqüencial ou direta; tipo: indica o tipo do arquivo. 27/10/2021 EDA - Prof. Paulemir Campos 7

Declaração (2/3) n Exemplo: declare Agenda arquivo seqüencial de Endereço declare Endereço registro (nome,

Declaração (2/3) n Exemplo: declare Agenda arquivo seqüencial de Endereço declare Endereço registro (nome, rua: string; número: inteiro; cidade: string; ) – 27/10/2021 Neste caso foi declarado um arquivo de acesso seqüencial denominado ‘Agenda’ constituído de registros nomeado ‘Endereço’ EDA - Prof. Paulemir Campos 8

Declaração (3/3) n Exemplo (Cont. ): – Esquematicamente, é apresentada abaixo uma representação do

Declaração (3/3) n Exemplo (Cont. ): – Esquematicamente, é apresentada abaixo uma representação do arquivo ‘Agenda’ nome rua número cidade Arquivo ‘Agenda’ 27/10/2021 EDA - Prof. Paulemir Campos Registro ‘Endereço’ 9

Abertura (1/3) n Para que seja possível manipular (ler, escrever, etc) o arquivo físico

Abertura (1/3) n Para que seja possível manipular (ler, escrever, etc) o arquivo físico através de seu nome lógico, deve-se efetuar primeiro a abertura do arquivo. 27/10/2021 EDA - Prof. Paulemir Campos 10

Abertura (2/3) n Um arquivo pode ser aberto usando-se o seguinte comando: abra identificadores

Abertura (2/3) n Um arquivo pode ser aberto usando-se o seguinte comando: abra identificadores finalidade onde: abra: palavra reservada para abertura de arquivo; identificadores: são nomes lógicos dos arquivos; finalidade: indica se o arquivo será aberto para leitura, escrita ou ambos simultaneamente. 27/10/2021 EDA - Prof. Paulemir Campos 11

Abertura (3/3) n Exemplos: abra AGENDA escrita; abra AGENDA leitura_escrita; 27/10/2021 EDA - Prof.

Abertura (3/3) n Exemplos: abra AGENDA escrita; abra AGENDA leitura_escrita; 27/10/2021 EDA - Prof. Paulemir Campos 12

Fechamento (1/2) n Após a utilização de um arquivo, -se efetuar seu fechamento. n

Fechamento (1/2) n Após a utilização de um arquivo, -se efetuar seu fechamento. n Isto é realizado pelo comando: deve feche identificadores onde: feche: palavra reservada para fechamento de arquivo; identificadores: são nomes lógicos dos arquivos. 27/10/2021 EDA - Prof. Paulemir Campos 13

Fechamento (2/2) n Exemplos: feche AGENDA; feche Arquivo 1; feche Arquivo 2; 27/10/2021 EDA

Fechamento (2/2) n Exemplos: feche AGENDA; feche Arquivo 1; feche Arquivo 2; 27/10/2021 EDA - Prof. Paulemir Campos 14

Organização n Basicamente há duas possibilidades de organização de arquivos: – Organização Seqüencial: registros

Organização n Basicamente há duas possibilidades de organização de arquivos: – Organização Seqüencial: registros são obtidos ou inseridos num arquivo em ordem seqüencial; – Organização Direta: o acesso aos registros é feito em ordem aleatória. 27/10/2021 EDA - Prof. Paulemir Campos 15

Organização Seqüencial (1/7) n Principal Característica: – Os registros são armazenados contiguamente, isto é,

Organização Seqüencial (1/7) n Principal Característica: – Os registros são armazenados contiguamente, isto é, um após o outro. n Assim, a leitura de um registro só é possível depois da leitura de todos os registros anteriores; n Por sua vez, a escrita de um registro é feita depois do último registro. 27/10/2021 EDA - Prof. Paulemir Campos 16

Organização Seqüencial (2/7) n Operação de Entrada: leia (nome_arquivo, valor_registro); onde: leia: palavra reservada

Organização Seqüencial (2/7) n Operação de Entrada: leia (nome_arquivo, valor_registro); onde: leia: palavra reservada para ler um registro de um arquivo; nome_arquivo: nome lógico do arquivo; valor_registro: identificador utilizado para armazenar o conteúdo de um registro do arquivo após a leitura. 27/10/2021 EDA - Prof. Paulemir Campos 17

Organização Seqüencial (3/7) n Operação de Entrada: n Exemplo: leia (AGENDA, valor_Endereço); 27/10/2021 EDA

Organização Seqüencial (3/7) n Operação de Entrada: n Exemplo: leia (AGENDA, valor_Endereço); 27/10/2021 EDA - Prof. Paulemir Campos 18

Organização Seqüencial (4/7) n Operação de Saída: escreva (nome_arquivo, valor_registro); onde: escreva: palavra reservada

Organização Seqüencial (4/7) n Operação de Saída: escreva (nome_arquivo, valor_registro); onde: escreva: palavra reservada para escrever um registro num arquivo; nome_arquivo: nome lógico do arquivo; valor_registro: identificador utilizado para armazenar o conteúdo de um registro que será escrito no arquivo. 27/10/2021 EDA - Prof. Paulemir Campos 19

Organização Seqüencial (5/7) n Operação de Saída: n Exemplo: escreva (AGENDA, valor_Endereço); 27/10/2021 EDA

Organização Seqüencial (5/7) n Operação de Saída: n Exemplo: escreva (AGENDA, valor_Endereço); 27/10/2021 EDA - Prof. Paulemir Campos 20

Organização Seqüencial (6/7) n Note que, em organização seqüencial: – a leitura de todos

Organização Seqüencial (6/7) n Note que, em organização seqüencial: – a leitura de todos os registros de um arquivo deve ser feita do início do arquivo até que se encontre o fim do arquivo; – já para escrever um novo registro num arquivo não vazio, deve-se encontrar o fim do arquivo antes, para em seguida incluir o novo registro. 27/10/2021 EDA - Prof. Paulemir Campos 21

Organização Seqüencial (7/7) n Na maioria das linguagens de programação existe uma função EOF

Organização Seqüencial (7/7) n Na maioria das linguagens de programação existe uma função EOF (End Of File) para detectar o fim de um arquivo. n Em geral, esta função EOF recebe como entrada o nome lógico do arquivo e retorna TRUE (fim de arquivo atingido) ou FALSE (caso contrário). 27/10/2021 EDA - Prof. Paulemir Campos 22

Organização Direta (1/5) n Principal Característica: – Facilidade de acesso a um registro desejado

Organização Direta (1/5) n Principal Característica: – Facilidade de acesso a um registro desejado sem ler todos os registros anteriores. n Isto é feito através de um campo do registro denominado chave, que identifica de forma única a posição do registro procurado no arquivo. 27/10/2021 EDA - Prof. Paulemir Campos 23

Organização Direta (2/5) n Operação de Entrada: leia item[chave] (nome_arquivo, valor_registro); onde: leia: palavra

Organização Direta (2/5) n Operação de Entrada: leia item[chave] (nome_arquivo, valor_registro); onde: leia: palavra reservada para ler um registro de um arquivo; item: indica o nome do campo chave do registro; chave: valor do campo chave do registro procurado; nome_arquivo: nome lógico do arquivo; valor_registro: identificador utilizado para armazenar o conteúdo de um registro do arquivo após a leitura. 27/10/2021 EDA - Prof. Paulemir Campos 24

Organização Direta (3/5) n Operação de Entrada: n Exemplo: leia RG[‘C-3384’](IDENTIDADES, PESSOA); 27/10/2021 EDA

Organização Direta (3/5) n Operação de Entrada: n Exemplo: leia RG[‘C-3384’](IDENTIDADES, PESSOA); 27/10/2021 EDA - Prof. Paulemir Campos 25

Organização Direta (4/5) n Operação de Saída: escreva item[chave] (nome_arquivo, valor_registro); onde: escreva: palavra

Organização Direta (4/5) n Operação de Saída: escreva item[chave] (nome_arquivo, valor_registro); onde: escreva: palavra reservada para escrever um registro num arquivo; item: indica o nome do campo chave do registro; chave: valor do campo chave do registro; nome_arquivo: nome lógico do arquivo; valor_registro: identificador utilizado para armazenar o conteúdo de um registro que será escrito no arquivo. 27/10/2021 EDA - Prof. Paulemir Campos 26

Organização Direta (5/5) n Operação de Saída: n Exemplo: escreva RG[‘B-3686’](IDENTIDADES, PESSOA); 27/10/2021 EDA

Organização Direta (5/5) n Operação de Saída: n Exemplo: escreva RG[‘B-3686’](IDENTIDADES, PESSOA); 27/10/2021 EDA - Prof. Paulemir Campos 27

Referências n Farrer, H. et al. Algoritmos Estruturados. Rio de Janeiro, Editora LTC, 1999.

Referências n Farrer, H. et al. Algoritmos Estruturados. Rio de Janeiro, Editora LTC, 1999. 27/10/2021 EDA - Prof. Paulemir Campos 28