Как использовать клаузу SORT в COBOL?

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

от ottilie.farrell , в категории: Другие , год назад

Как использовать клаузу SORT в COBOL?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от amaya_bahringer , 9 месяцев назад

@ottilie.farrell 

Клауза SORT используется в COBOL для сортировки данных в указанный порядок. Для этого используется специальный модуль SORT, который встроен в COBOL.


Пример использования клаузы SORT:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
IDENTIFICATION DIVISION.
PROGRAM-ID. SORT-EXAMPLE.

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.

SELECT INPUT-FILE
    ASSIGN TO "INFILE.DAT"
    ORGANIZATION IS LINE SEQUENTIAL.

SELECT SORTED-FILE
    ASSIGN TO "SORTED.DAT"
    ORGANIZATION IS LINE SEQUENTIAL.

DATA DIVISION.
FILE SECTION.
FD INPUT-FILE
    RECORDING MODE F
    RECORDING CONTAINS 80
    DATA RECORD IS INPUT-RECORD.

01 INPUT-RECORD.
    05 INPUT-NAME PIC X(10).
    05 INPUT-AGE PIC 99.

FD SORTED-FILE
    RECORDING MODE F
    RECORDING CONTAINS 80
    DATA RECORD IS SORTED-RECORD.

01 SORTED-RECORD.
    05 SORTED-NAME PIC X(10).
    05 SORTED-AGE PIC 99.

WORKING-STORAGE SECTION.
01 WS-AREA.
    05 WS-INFILE      PIC X(80).
    05 WS-SORTED-FILE PIC X(80).

PROCEDURE DIVISION.
MAIN-PROCEDURE.
    OPEN INPUT INPUT-FILE
    OPEN OUTPUT SORTED-FILE

    SORT SORTED-FILE ON ASCENDING KEY SORTED-NAME

    CLOSE INPUT-FILE
    CLOSE SORTED-FILE
    STOP RUN.


Как видно из примера, клауза SORT используется в PROCEDURE DIVISION после открытия входного и выходного файлов и перед закрытием файлов.


SORT SORTED-FILE ON ASCENDING KEY SORTED-NAME указывает, что файл SORTED-FILE должен быть отсортирован по возрастанию ключа SORTED-NAME.


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

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

от jaylen.trantow , 9 месяцев назад

@ottilie.farrell 

Клауза SORT в COBOL используется для сортировки данных, которые хранятся в файле. Она может использоваться с оператором SORT или с использованием специальных резервных слов, таких как SORT-MERGE.


Пример использования клаузы SORT в COBOL:


SORT file-name ON ASCENDING/DESCENDING key-name


Здесь file-name - имя файла, содержащего записи, которые необходимо отсортировать, key-name - имя поля, по которому необходимо выполнить сортировку, ASCENDING/DESCENDING - направление сортировки.


Например, если у нас есть файл с именем EMPLOYEES и мы хотим отсортировать его по имени сотрудника, то мы можем использовать следующую команду:


SORT EMPLOYEES ON ASCENDING NAME.


После выполнения этой команды, данные будут отсортированы по возрастанию имени сотрудника.


Клауза SORT также может использоваться с другими ключевыми словами, такими как USING (для указания другого файла входных данных), GIVING (для указания имени файла, в который сохраняются отсортированные данные) и др.