Palindrom je termín používaný v různých oblastech včetně matematiky, lingvistiky a informatiky k reprezentaci čísel, slov, vět nebo sekvencí, které se čtou stejně dozadu jako dopředu. Tato fascinující vlastnost zrcadlové symetrie nabízí vzrušující výzvy a scénáře v návrhu algoritmů a kódování.
COBOL (Common Business-Oriented Language) je průmyslový programovací jazyk, který se od 1950. let široce používá pro vývoj softwaru souvisejícího s obchodem a financemi. Jedním z klasických problémů, které se v COBOLu často řeší, je určení, zda je struna palindrom nebo ne.
IDENTIFIKAČNÍ DIVIZE.
PROGRAM-ID. PALINDROME.
DIVIZE DAT.
PRACOVNĚ-SKLADOVACÍ ČÁST.
01 STRING-1 PIC A(20) VALUE 'RADAR'.
01 STRING-2 PŘEDEFINUJE STRING-1.
01 I OBRÁZEK 9 HODNOTA KOMP-3 1.
01 J OBRÁZEK 9 HODNOTA KOMP-3 20.
ROZDĚLENÍ POSTUPŮ.
PALINDROME-KONTROLA.
VYKONAT DO I > J
POKUD ŘETĚZEC-1(I:1) NE = ŘETĚZEC-2(J:1) TAK
ZOBRAZIT „NOT PALINDROME“
STOP RUN
KONEC-KDYŽ
PŘIDAT 1 K I
ODČÍT 1 OD J
KONEC VÝKONU.
ZOBRAZTE „PALINDROME“.
STOP RUN.
KONEC PROGRAMU PALINDROME.
Pochopení kodexu COBOL
Tento program COBOL, pojmenovaný PALINDROME, funguje tak, že porovnává první a poslední znak řetězce a poté se přesune dovnitř, porovnává všechny ostatní odpovídající dvojice znaků. Pokud narazí na dvojici znaků, které se neshodují, dojde k závěru, že řetězec není palindrom, a program ukončí. Ale pokud se všechny páry porovnávaných znaků shodují, program usoudí, že řetězec je palindrom.
Zapojení knihoven a funkcí
COBOL, na rozdíl od mnoha moderních programovacích jazyků, ve velké míře nevyužívá další knihovny nebo specializované funkce. Jeho síla pochází z jeho přímočaré syntaxe a výkonných vestavěných operací a příkazů. Logiku programu v tomto případě definují základní aritmetické operace (sčítání, odečítání) a porovnávací funkce (IF NOT =), stejně jako smyčkové struktury (PERFORM DONTIL).
Podobné problémy
Existuje několik problémů podobných kontrole řetězců palindromu. Problém s obrácenými čísly, problém přesmyček a problém s palindromickým číslem patří k těm podobným problému s palindromovým řetězcem.
Abych to shrnul, řešení problémů s palindromem v COBOL je záležitostí vytvoření inteligentní smyčky, která prochází strunou z obou konců. I když COBOL nemusí být v současném vývojovém světě tak trendy, jeho vliv a případy použití – a samozřejmě jeho schopnost zpracovávat úkoly, jako je tento – zůstávají v mnoha podnikových prostředích robustní. I jednoduchý problém s palindromovým řetězcem odhaluje nadčasové kouzlo tohoto jazyka zrozeného v době počítačů s děrnými štítky.