6. Arquivos de Dados
Todos dados manipulados até o momento, encontram-se em memória volátil, ou seja, após a execução do programa, os dados se perdem. Para resolver este problema, pode-se trabalhar com arquivos, onde os dados não são perdidos após sua manipulação. Para isso, é necessário rever alguns conceitos como: campos, registros e arquivos.
6.1 Conceitos Básicos
CAMPO é um espaço reservado em memória para receber informações
(dados).
Exemplo: Campo Nome, Campo Endereço
Campo na memória
Fig.1: Ilustração de Campo Fonte: Próprio Autor REGISTRO é um conjunto de campos
Exemplo: Registro de Clientes Tabela 1: Ilustração de um Registro Fonte: Próprio Autor
COD-CLI NOME ENDEREÇO TELEFONE
00001 JULIANA DE ALMEIDA RUA DAS FLORES, 907 (98)7654-3210
Memória Volátil
Em um computador, contrário a memória não volátil, é aquela cuja informação se perde ao se interromper o fluxo de corrente elétrica.
NOME
ARQUIVO é um conjunto de registros
Exemplo: O arquivo de Clientes da Empresa, onde estão armazenados os
dados de todos os clientes da empresa. ARQ-CLI
Fig.2: Ilustração de Arquivo Fonte: Internet 6.2 Abertura de Arquivos
Quando for necessário manipular um arquivo, primeiramente precisa-se
ABRIR o arquivo. Abrir o arquivo significa alocar o periférico (disco, disquete)
em que o arquivo se encontra, e deixá-lo disponível para leitura/gravação. Símbolo para abertura de arquivo:
Fig.3: Ilustração de Abertura de Arquivo Fonte: Próprio Autor
6.3 Fechamento de Arquivos
Da mesma maneira que é necessário abrir um arquivo antes do processamento, também se faz necessário o fechamento do mesmo, para que suas informações não possam ser danificadas ou violadas. Fechar um arquivo significa liberar o periférico que estava sendo utilizado.
Símbolo para fechamento de arquivo:
Fig.4: Ilustração de Fechamento de Arquivo Fonte: Próprio Autor
6.4 Leitura de Arquivos
Após abrir um arquivo é necessário LER os dados que estão em disco e transferi-los para memória. Essa transferência é feita por registro e gerenciado pelo próprio sistema operacional.
Símbolo para leitura de arquivo:
Fig.5: Ilustração de Leitura de Arquivo Fonte: Próprio Autor
Toda vez que se abre um arquivo ele posiciona o “ponteiro” no primeiro registro, ou seja, no início do arquivo. Para que se possa trabalhar com os dados é necessário saber onde está o ponteiro do registro. Isso pode-se fazer testando se o ponteiro está no início (BOF – Begin Of File – Inicio de
Arquivo) ou no final do arquivo (EOF – End Of File – Fim de Arquivo). Isto é
sempre executado após a leitura do registro (mudança da posição do ponteiro). Ponteiro
É uma variável que contém o endereço de uma outra variável. Toda variável declarada em um programa tem um endereço de memória alocado para si e o número de posições de memória alocado depende do seu tipo.
FECHAR ARQUIVO
LER ARQUIVO
Simbolicamente podemos representar esse passo da seguinte maneira:
Fig.7: Ilustração de Diagrama de Broco de Leitura de Arquivo Fonte: Internet
6.5 Movimentação de registros
Conforme dito no item anterior, quando um arquivo é aberto o ponteiro está no primeiro registro. A cada leitura do Arquivo o ponteiro se movimenta para o próximo registro e assim por diante. Conforme mostra a figura a seguir:
Tabela 2: Movimentação de Registros Fonte: Próprio Autor
COD-CLI NOME ENDEREÇO TELEFONE
00001 JULIANA DE ALMEIDA RUA DAS FLORES, 907 (98)7654-3210
00002 LUIS CARLOS SOARES RUA DA ALVORADA, 35 (98)7654-3211
00003 MAGDA DA SILVA RUA BRASIL, 2002 (98)7654-3212
BOF (Início do Arquivo) EOF (Final de Arquivo) Registro 1 Registro 2
6.6 Gravação de Arquivos
Da mesma maneira que os registros são lidos de um arquivo, também pode-se gravar registros em um arquivo.
A gravação consiste na transferência de um registro da memória, para um periférico (disco,disquete).
Símbolo para gravação de arquivos:
Fig.9: Ilustração de Gração de Arquivo Fonte: Próprio Autor
6.7 Macro Fluxo
O macro fluxo é a representação gráfica dos arquivos que serão processados em um programa.
Fig.10: Ilustração do Macro Fluxo Fonte: Internet
Estes dois exemplos de Macro-fluxo dão uma visão geral de como se deve proceder com cada um dos programas. O primeiro diz que haverá um arquivo de entrada, um processamento e um arquivo de saída. Já o segundo exemplo diz que haverá um arquivo de entrada, um processamento, e a saída será um relatório.
GRAVAR REGISTRO
6.8 Exercícios de Fixação
1) Foi feita uma pesquisa entre os habitantes de uma região. Foram coletados os dados de idade, sexo (M/F) e salário. Faça um algoritmo que informa:
a) A média de salário do grupo b) Maior e menor idade do grupo
c) Quantidade de mulheres com salário até R$ 100,00 d) Quantidade de homens
Crie em arquivo e salve os dados acima mencionados.
2) Um arquivo de produtos tem os seguintes campos: Código do produto, Descrição, Quantidade em Estoque, Preço de custo, Margem Custo/Venda. Crie um arquivo com os seguintes campos:
Código do Produto e Preço de Venda. Utilize o calculo Preço de Venda = Preço de Custo * Margem CustoVenda.
3) Elabore um diagrama de blocos para verificar que produtos precisam ser comprados e a quantidade a ser adquirida:
Tendo as seguintes informações:
Código do produto (CODPROD), Quantidade Mínima (QTDMIN), Quantidade Máxima (QTDMAX) e a quantidade em estoque (QTDEST) de cada produto. Um produto somente deverá ser comprado quando: a quantidade em
estoque for menor ou igual a quantidade mínima: QTCOMPRAR = (QTDMAX – QTDEST)