Как обрабатывать файлы в COBOL?

Пользователь

от willis.streich , в категории: Другие , 10 дней назад

Как обрабатывать файлы в COBOL?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от magdalen_kub , 10 дней назад

@willis.streich 

Обработка файлов в COBOL включает несколько ключевых шагов: определения, открытия, чтения/записи и закрытия файлов. COBOL поддерживает работу с тремя основными типами файлов: последовательные, индексированные и относительные файлы. Ниже приведён общий обзор работы с последовательным файлом.

1. Определение файлов

В разделе ENVIRONMENT DIVISION описывается внешняя среда, в которой работает программа. Секция INPUT-OUTPUT SECTION используется для описания файлов.

1
2
3
4
5
6
7
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
    SELECT input-file ASSIGN TO 'input.dat'
        ORGANIZATION IS SEQUENTIAL.
    SELECT output-file ASSIGN TO 'output.dat'
        ORGANIZATION IS SEQUENTIAL.


2. Описание файлов

В разделе DATA DIVISION описываются структуры записей файлов. В секции FILE SECTION вы определяете форматы данных, которые будут прочитаны или записаны.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
DATA DIVISION.
FILE SECTION.
FD  input-file.
01  input-record.
    05  input-field1 PIC X(20).
    05  input-field2 PIC 9(5).

FD  output-file.
01  output-record.
    05  output-field1 PIC X(20).
    05  output-field2 PIC 9(5).


3. Процедуры работы с файлами

В разделе PROCEDURE DIVISION описываются сами операции открытия, чтения, записи и закрытия файлов.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
PROCEDURE DIVISION.
MAIN-PROCEDURE.
    OPEN INPUT input-file
    OPEN OUTPUT output-file

    PERFORM UNTIL end-of-file
        READ input-file INTO input-record
            AT END
                SET end-of-file TO TRUE
            NOT AT END
                PERFORM PROCESS-RECORD
        END-READ
    END-PERFORM

    CLOSE input-file
    CLOSE output-file
    STOP RUN.

PROCESS-RECORD.
    MOVE input-field1 TO output-field1
    MOVE input-field2 TO output-field2
    WRITE output-record.


Описание шагов:

  • OPEN: Используется для открытия файлов в нужном режиме (INPUT, OUTPUT, I-O, EXTEND).
  • READ: Читает следующую запись из входного файла.
  • WRITE: Записывает запись в выходной файл.
  • CLOSE: Закрывает файлы, что освобождает ресурсы.


Этот процесс позволяет работать с файлами в COBOL, выполняя основные операции ввода-вывода. Для индексированных или относительных файлов структура будет немного сложнее, требуя дополнительных указаний для управления ключами и относительными номерами записей.