Привет, коллеги-разработчики! Сегодня мы окунемся в увлекательный мир 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!