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.