Dominando a Concatenção de Strings em COBOL
No mundo da programação, lidar com strings é uma tarefa comum. Em COBOL, muitas vezes você pode enfrentar o desafio de concatenar strings cujos comprimentos não são predeterminados. Este artigo tem como objetivo fornecer uma solução clara para a questão de como concatenar efetivamente duas strings de comprimento desconhecido em COBOL.
O Problema
Imagine que você está trabalhando com um programa que lida com os nomes e sobrenomes de um usuário. Sua seção WORKING-STORAGE
define variáveis para armazenar esses nomes, mas o desafio surge quando você precisa concatená-los em um nome completo sem reter espaços desnecessários. Por exemplo, dado:
WORKING-STORAGE.
FIRST-NAME PIC X(15) VALUE SPACES.
LAST-NAME PIC X(15) VALUE SPACES.
FULL-NAME PIC X(31) VALUE SPACES.
Supondo que FIRST-NAME
esteja definido como 'JOHN '
e LAST-NAME
como 'DOE '
, você busca alcançar o resultado:
FULL-NAME = 'JOHN DOE '.
No entanto, uma concatenção ingênua pode resultar em:
FULL-NAME = 'JOHN DOE '.
Esse não é o resultado desejado, pois inclui espaços extras entre as partes concatenadas. Então, como resolver esse problema?
A Solução
A solução para esse problema é usar efetivamente a instrução STRING
do COBOL. Ela permite concatenar strings e especificar delimitadores para eliminar espaços indesejados. Abaixo estão os passos para concatenar as duas strings corretamente.
Guia Passo a Passo
-
Defina as Strings: Certifique-se de ter definido seu
FIRST-NAME
,LAST-NAME
eFULL-NAME
na sua seçãoWORKING-STORAGE
conforme ilustrado acima. -
Use a Instrução STRING: Você pode usar a instrução
STRING
para concatenar as strings. Veja como fazer isso:STRING FIRST-NAME DELIMITED BY " ", " ", LAST-NAME DELIMITED BY SIZE INTO FULL-NAME.
Análise da Instrução STRING
-
FIRST-NAME DELIMITED BY " “: Isso informa ao COBOL para usar
FIRST-NAME
e parar a concatenação no primeiro espaço encontrado, efetivamente aparando os espaços à direita. -
” “: Isso adiciona um único espaço entre o primeiro nome e o sobrenome para garantir que estejam devidamente separados.
-
LAST-NAME DELIMITED BY SIZE: Isso especifica que todo o comprimento de
LAST-NAME
deve ser incluído na concatenação, evitando assim espaços à direita desnecessários. -
INTO FULL-NAME: Isso direciona a string concatenada resultante a ser armazenada em
FULL-NAME
.
Conclusão
Seguindo esses passos, você será capaz de concatenar eficientemente strings de comprimentos desconhecidos em COBOL enquanto garante uma saída limpa e formatada. Ao aproveitar a instrução STRING
com delimitadores apropriados, o COBOL simplifica o processo de gerenciamento de strings, tornando-se uma ferramenta poderosa para suas necessidades de programação.
Agora, da próxima vez que você enfrentar um desafio semelhante com concatenação em COBOL, poderá aplicar essa metodologia com confiança para alcançar os resultados desejados!