Изучение множества способов преобразования строк COBOL в нижний регистр

COBOL, древний язык, который используется до сих пор, возможно, не известен своей гибкостью, когда дело доходит до манипуляций со строками. Однако существует несколько умных методов преобразования строк COBOL в нижний регистр. В этой статье мы рассмотрим несколько примеров разговорного кода и рассмотрим различные методы достижения этой цели.

Метод 1: использование оператора INSPECT
Один простой метод предполагает использование оператора INSPECT в COBOL. Вот фрагмент кода, демонстрирующий этот подход:

INSPECT WS-STRING CONVERTING "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
           TO   "abcdefghijklmnopqrstuvwxyz".

Метод 2: использование оператора FUNCTION
Инструкция FUNCTION в COBOL предоставляет ряд полезных встроенных функций. Мы можем использовать СТРОЧНУЮ ФУНКЦИЮ для достижения желаемого результата. Вот пример:

MOVE FUNCTION LOWER-CASE(WS-STRING) TO WS-STRING.

Метод 3: реализация пользовательской процедуры преобразования
В тех случаях, когда вам нужен больший контроль над процессом преобразования, вы можете создать пользовательскую подпрограмму. Вот пример программы на языке COBOL, использующей специальную процедуру преобразования:

IDENTIFICATION DIVISION.
PROGRAM-ID. LOWER-CASE-ROUTINE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-STRING          PIC X(100) VALUE "HELLO WORLD".
PROCEDURE DIVISION.
MAIN-LOGIC.
    PERFORM CONVERT-TO-LOWER-CASE.
    DISPLAY "Lowercase String: " WS-STRING.
    STOP RUN.
CONVERT-TO-LOWER-CASE.
    PERFORM VARYING WS-INDEX FROM 1 BY 1
        UNTIL WS-INDEX > LENGTH OF WS-STRING
        IF WS-STRING(WS-INDEX:1) IS ALPHABETIC
            MOVE FUNCTION LOWER-CASE(WS-STRING(WS-INDEX:1))
                TO WS-STRING(WS-INDEX:1)
        END-IF
    END-PERFORM.

В этой статье мы рассмотрели три метода преобразования строк COBOL в нижний регистр. Мы увидели, как использовать оператор INSPECT, оператор FUNCTION и реализовать собственную процедуру преобразования. Каждый метод имеет свои преимущества, поэтому выберите тот, который лучше всего соответствует вашим потребностям. Теперь вы можете уверенно выполнять преобразования строк в нижний регистр в COBOL!