28.02.2023 Views

Logica_de_Programacao_3_Edicao_Livro

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 5 Arquivos 1 119

qüe11ciali11e11te, o que se tornaria inconveniente se o arquivo crescesse muito e se os acessos

fossen1 muito freqüentes, porque a cada operação de inclusão, alteração ou exclusão, seria

necessá1io realizar uma busca exaustiva em todo o arquivo para localizar o ponto d esejado,

e somente então fazer a alteração.

Para ilustrar con10 o problen1a pode ser contornado, t.omernos como exen1plo a situação

de u1na e1npresa f,1ndada em 2001, que registra seus funcionários à rnedida que eles são conu·atados,

tendo, porta11to, u1na concepção seqüe11cial de arquivo, con1 o seguinte regisu·o:

FIGURA 5.6

Ficha de cadastro de funcionário

Nome: -----------------------------

Endereço: ________________ _ CPF:

Telefone: _______ Bairro:

_______ CEP:

Ano de admissão: ________

Ano de demissão:

Estado civil: ____________

Nº de dependentes:

Salário-base : ______ Cargo: ______

Setor:

Podemos notar que não houve nenhuma preocupação em estabelecer uma chave de

acesso, ao p erceber que não existe nenhurn carnpo do registro corn essa aptidão. Com o

passar do ternpo e o aurnento no núrnero de registros, surge a necessidade de urn carnpo

que per1nita o acesso direto aos dados de un1 funcionário. Para contornar isso, criaremos u1n

novo arquivo que possua um can1po-chave.

Esse novo carnpo é estruturado de for1na que, dos sete dígitos que o compõem, os quatro

prilneiros representem o ano de adn1issão, os dois seg·uintes, o setor, e o último, um seqüencial

do seto1~ que não fazia parte do arquivo antigo.

Utilizaremos, então, urn arquivo de acesso direto que empregue como chave o código

do funcio11ário subtraído de 2.001.000; assim, o funcionário 2.001.001 está arn1azenado na

posição 1, o 2.001.002 na posição 2, e assi1n por diante. Em cada posição também será arn1azenada

a posição do funcionário no arquivo p1incipal, conforme vemos na Figura 5.7.

Dessa forma, temos urn arquivo menor e de acesso direto , que per,nite o acesso direto no

arquivo principal, de concepção seqüencial. O arquivo principal passa, então, a ser indexado

pelo novo arquivo, t.ambérn conhecido como arquivo de índices. Assirn, o arquivo principal

pode ser acessado da forn1a antiga (seqüencialrnente) ou diretamente au·avés de seu arquivo

de índice. Isso ft1nciona exata1nente co1no tuna enciclopédia não-alfabética, que possui u1n

volume de índices que indica as páginas em que detern1inado tópico pode ser encontraclo.

Ou seja, podemos folhear seqüencialn1ente toda a enciclopédia à procura do tópico desejado

ou pode,nos consultar o volu1ne de índices e ir diretan1ente à página indicada nele.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!