@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.
Все записи во входном файле будут записаны в выходной файл в отсортированном порядке ключа.
@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 (для указания имени файла, в который сохраняются отсортированные данные) и др.