Раскрытие возможностей COBOL: стильно переверните строку!

Привет, коллеги-разработчики! Сегодня мы окунемся в увлекательный мир COBOL и исследуем различные методы переворота строки. Независимо от того, являетесь ли вы опытным программистом COBOL или только начинаете свой путь, эта статья расскажет вам о нескольких подходах к выполнению этой задачи. Итак, берите свой любимый напиток и начнем!

Метод 1: использование цикла и временной переменной

В этом подходе мы будем использовать цикл для перебора символов строки и сохранения их во временной переменной в обратном порядке.

IDENTIFICATION DIVISION.
PROGRAM-ID. REVERSE-STRING.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 INPUT-STRING   PIC X(100).
01 REVERSED-STRING PIC X(100).
01 LENGTH         PIC 99.
PROCEDURE DIVISION.
    MOVE FUNCTION LENGTH (INPUT-STRING) TO LENGTH.
    PERFORM VARYING I FROM LENGTH BY -1 UNTIL I = 0
        MOVE INPUT-STRING(I:1) TO REVERSED-STRING(LENGTH - I + 1:1)
    END-PERFORM.
    DISPLAY "Reversed String: " REVERSED-STRING.
    STOP RUN.

Метод 2: использование встроенных функций

COBOL предоставляет несколько встроенных функций, которые упрощают манипулирование строками. Мы воспользуемся функцией REVERSE, чтобы перевернуть строку.

IDENTIFICATION DIVISION.
PROGRAM-ID. REVERSE-STRING.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 INPUT-STRING   PIC X(100).
PROCEDURE DIVISION.
    MOVE "YOURSTRING" TO INPUT-STRING.
    MOVE FUNCTION REVERSE(INPUT-STRING) TO INPUT-STRING.
    DISPLAY "Reversed String: " INPUT-STRING.
    STOP RUN.

Метод 3: использование рекурсии

Давайте оживим ситуацию, реализовав рекурсивную функцию для обращения строки.

IDENTIFICATION DIVISION.
PROGRAM-ID. REVERSE-STRING.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 INPUT-STRING   PIC X(100).
PROCEDURE DIVISION.
    MOVE "YOURSTRING" TO INPUT-STRING.
    DISPLAY "Reversed String: " FUNCTION REVERSE-STRING(INPUT-STRING).
    STOP RUN.
REVERSE-STRING.
    ACCEPT INPUT-STRING.
    IF LENGTH OF INPUT-STRING > 1
        MOVE FUNCTION REVERSE-STRING(INPUT-STRING(2:LENGTH OF INPUT-STRING - 1))
            TO INPUT-STRING(LENGTH OF INPUT-STRING - 1:1)
    END-IF.
    EXIT FUNCTION.

Вот и все! Мы рассмотрели три различных метода переворота строки в COBOL. Независимо от того, предпочитаете ли вы циклы, встроенные функции или рекурсию, эти методы помогут вам эффективно выполнить задачу. Так что вперед, экспериментируйте с этими методами и раскройте истинный потенциал COBOL!