팔린 드롬 수학, 언어학, 컴퓨터 과학 등 다양한 분야에서 뒤에서 읽어도 앞으로 읽어도 같은 숫자, 단어, 문장, 시퀀스를 나타내는 데 사용되는 용어입니다. 거울 대칭의 이 매혹적인 속성은 알고리즘 설계 및 코딩에 흥미로운 과제와 시나리오를 제공합니다.
COBOL(Common Business-Oriented Language)은 1950년대부터 비즈니스 및 금융 관련 소프트웨어 개발에 널리 사용되어 온 산업 등급 프로그래밍 언어입니다. COBOL에서 자주 해결되는 고전적인 문제 중 하나는 문자열이 회문인지 여부를 결정하는 것입니다.
식별 부서.
프로그램 ID. 회문.
데이터 부문.
작업 저장 섹션.
01 STRING-1 PIC A(20) 값 '레이더'.
01 STRING-2는 STRING-1을 재정의합니다.
01 I PIC 9 COMP-3 값 1.
01 J PIC 9 COMP-3 값 20.
절차부.
회문-체크.
I > J까지 수행
IF STRING-1(I:1) NOT = STRING-2(J:1) 그러면
"회문이 아님" 표시
스톱런
END-IF
I에 1을 더하세요.
J에서 1을 뺍니다.
최종 수행.
“회문”을 표시합니다.
실행을 중지합니다.
프로그램 종료 팔린드롬.
COBOL 코드 이해
이 COBOL 프로그램은 회문는 문자열의 첫 번째 문자와 마지막 문자를 비교한 다음 안쪽으로 이동하여 해당하는 다른 모든 문자 쌍을 비교하는 방식으로 작동합니다. 일치하지 않는 문자 쌍을 발견하면 문자열이 회문이 아니라고 결론을 내리고 프로그램을 종료합니다. 그러나 비교된 문자 쌍이 모두 일치하면 프로그램은 문자열이 회문이라고 결론을 내립니다.
라이브러리 및 기능의 참여
COBOL은 많은 최신 프로그래밍 언어와 달리 추가 라이브러리나 특수 기능을 광범위하게 사용하지 않습니다. 그 강력한 기능은 간단한 구문과 강력한 내장 작업 및 명령에서 비롯됩니다. 이 경우 기본 산술 연산(덧셈, 뺄셈)과 비교 함수(IF NOT =)는 물론 루프 구조(PERFORM UNTIL)가 프로그램의 논리를 정의합니다.
유사한 문제
회문 문자열을 검사하는 것과 유사한 몇 가지 문제가 있습니다. 역수 문제, 철자 바꾸기 문제, 회문 수 문제는 회문 문자열 문제와 유사한 문제 중 하나입니다.
요약하자면, COBOL에서 회문 문제를 해결하는 것은 양쪽 끝에서 문자열을 순회하는 지능형 루프를 생성하는 문제입니다. COBOL은 현재 개발 세계에서 그다지 유행하지 않을 수도 있지만, 그 영향력과 사용 사례, 물론 이와 같은 작업을 처리하는 능력은 많은 기업 환경에서 여전히 강력합니다. 단순한 회문 문자열 문제조차도 펀치 카드 컴퓨팅 시대에 탄생한 이 언어의 시대를 초월한 매력을 드러냅니다.