Você está na página 1de 13

Tratamento de Ficheiros - Mod 6

Tipos de ficheiros: Sequencial, Indexado e Relativo


•Cláusula Open, Close, Read, Write, Rewrite, Delete, Start
•Formatos de entrada e saída de dados por ecrã
• Desenho de formatos
• SCREEN SECTION
• Atributos e as teclas de função e o cursor
•Ordenação de ficheiros
• Cláusula select, declaração sd, Instrução sort, Chaves de
ordenação
• Estrutura de um programa de ordenação
Tipo de Ficheiros - Organização

Em COBOL temos 3 tipos de ficheiros :


 Sequencial;
Indexado;
Relativo.
Ficheiros sequenciais

São ficheiros organizados sequencialmente, não possuem índices


de acesso, normalmente são ficheiros texto. Como se trata de um
ficheiros não indexado, seu acesso só pode ser sequencial, ou seja,
só é possível localizar um registo ou informação através da leitura
sequencial do mesmo, passando por todos os registos anteriores.
Para a leitura do 10.º registo, todos os anteriores 9 registos devem
ser lidos. UM novo registo será sempre inserido no final do ficheiro.

ORGANIZATION IS SEQUENTIAL.
Ficheiros indexados

São os ficheiros mais utilizados, pois podem possuir índices, que


possibilitam a consulta e a ordenação por diversos campos diferentes.
Possuem uma organização mais complexa, e, normalmente
fisicamente são compostos de 2 ou mais ficheiros, sendo um ficheiro
de dados e outro (ou outros) de índices.
Os registos podem ser acedidos se a chave primária for conhecida.

ORGANIZATION IS INDEXED.
Ficheiros relativos

Possuem um identificador de registo que tem como objetivo controlar


a posição relativa do registo dentro do ficheiro. Esse identificador não
é definido como parte do registo, mas deve estar definido na
WORKING-STORAGE SECTION. Funciona de forma similar a um
ficheiro indexado, porém não permite chaves alternadas. A sua
utilização não é muito comum, pois o índice controla apenas a
posição do registo dentro do ficheiro.

ORGANIZATION IS RELATIVE.
Ficheiros - instruções de abertura e fecho

Os ficheiros no computador também tem que ser abertos para que seu
conteúdo possa ser acedido e fechados para que os conteúdos fiquem
guardados.
OPEN - A instrução OPEN é utilizada para efetuar a abertura dos ficheiros.
Formato:
OPEN modo-de-abertura nome-de-ficheiro.

A instrução OPEN estabelece a conexão entre o programa e o dispositivo físico


do ficheiro. Também reserva na memória as áreas necessárias para a troca dos
dados entre o computador e o dispositivo externo.

nome-de-ficheiro deverá ser o mesmo nome utilizado na declaração SELECT.


Ficheiros - instruções de abertura e fecho

modo-de-abertura deverá ser um dos quatro modos descritos na tabela


abaixo, é necessário declarar de que modo abriremos este ficheiro.
modo-de- Considerações
abertura
INPUT O ficheiro será aberto exclusivamente para leitura.

OUTPUT O ficheiro será aberto exclusivamente para


gravação de escrita. O ficheiro será criado.
I-O O ficheiro será aberto para leitura e gravação

EXTEND O ficheiro será aberto exclusivamente para


acrescentar texto após o último registo já
existente no ficheiro e grava as alterações.

OPEN INPUT exemplo.txt


Ficheiros - instruções de abertura e fecho

CLOSE - A instrução CLOSE é utilizada para fechar os ficheiros.

Formato:
CLOSE nome-de-ficheiro.
O nome-de-ficheiro será sempre o nome definido na declaração SELECT.

Antes do término da execução do programa os ficheiros abertos deverão


ser fechados, para que os dispositivos físicos sejam libertados e para
que as gravações do sistema operativo sejam feitas, garantindo a
integridade dos dados e o uso posterior do ficheiro por outros
programas.
Read, Write , Rewrite, Delete, Start

A instrução READ é utilizada para ler os registos de um ficheiro.

READ nome-de-ficheiro INTO variavel-da-working-storage AT END


declaração-imperativa.

O ficheiro deverá ser aberto nos modos INPUT ou I-O.

A instrução READ lê um registo por vez do ficheiro e carrega os dados


existentes no ficheiro para a variável declarada na FD  File Description da
FILE SECTION.

A cada execução da instrução READ, o registo seguinte do ficheiro será


carregado na variável declarada na FD. O conteúdo existente na FD será
perdido.
Ficheiros - instruções de abertura e fecho

WRITE - A instrução WRITE é utilizada para gravar registos num ficheiro.

Formato: WRITE nome-de-registo FROM variavel-1.

O ficheiro deverá ser aberto no modo OUTPUT. Esta instrução transfere e grava

no ficheiro de texto todos os dados existentes na variável declarada na FD.

O nome-de-registo utilizado na instrução é o nome que foi definido para o

registo no nível 01 da FD.

O parâmetro FROM permite que o conteúdo de variavel-1 seja

automaticamente transferido para nome-de-registo na FD antes da gravação.


Ficheiros - SELECT

• A SELECT possui diversas definições sobre os ficheiros. Através dessas


definições identificamos o tipo de ficheiro, a sua organização, o método
de acesso, índices de acesso, controles de erro e métodos de bloqueio.

• Dependendo da organização do ficheiro, sua SELECT terá ou não


algumas dessas definições.

• Onde colocamos a SELECT ?

• Ela deve ser colocada na ENVIRONMENT DIVISION, na INPUT-


OUTPUT SECTION, dentro de FILECONTROL.
Ficheiros - Declaração do ficheiro

A FILE SECTION contem uma descrição do ficheiro assim como uma ou mais
descrições de gravação para cada ficheiro utilisado para o programa.

DATA DIVISION.
FILE SECTION.
FD nome-do-ficheiro
Descrição dos blocos, registos, etc
01 Nome-da-gravação.
Descrição detalhada da gravação.
WORKING-STORAGE SECTION.
É na FILE SECTION da DATA DIVISION que devem ser descritas a informações
relativas aos ficheiros utilizados no programa.
Ficheiros - exemplo

Você também pode gostar