COBOL’da Dize Birleştirmeyi Masterlamak

Programlama dünyasında, dizelerle çalışmak yaygın bir görevdir. COBOL’da, uzunlukları önceden belirlenmemiş olan dizeleri birleştirme zorluğu ile sık sık karşılaşabilirsiniz. Bu makale, COBOL’da iki bilinmeyen uzunluktaki dizeyi etkili bir şekilde nasıl birleştireceğinize dair net bir çözüm sunmayı amaçlamaktadır.

Problem

Bir kullanıcının adını ve soyadını işleyen bir program üzerinde çalıştığınızı hayal edin. WORKING-STORAGE bölümünüz bu isimleri saklayacak değişkenleri tanımlar, ancak onları gereksiz boşlukları korumadan tam isim olarak birleştirmeniz gerektiğinde zorluk ortaya çıkar. Örneğin, aşağıdaki gibi:

WORKING-STORAGE.
    FIRST-NAME    PIC X(15) VALUE SPACES.
    LAST-NAME     PIC X(15) VALUE SPACES.
    FULL-NAME     PIC X(31) VALUE SPACES.

Diyelim ki FIRST-NAME 'JOHN ' ve LAST-NAME 'DOE ' olarak ayarlandı, elde edilmesi gereken sonuç şu olmalıdır:

FULL-NAME = 'JOHN DOE                       '.

Ancak, basit bir birleştirme yaparsanız, sonunda şu şekilde bir sonuç elde edebilirsiniz:

FULL-NAME = 'JOHN            DOE            '.

Bu, birleştirilen kısımlar arasında fazladan boşluklar içerdiği için istenilen bir sonuç değildir. Peki, bu sorunu nasıl çözeceksiniz?

Çözüm

Bu problemin çözümü, COBOL’un STRING ifadesini etkili bir şekilde kullanmaktır. Bu, dizeleri birleştirmenizi ve istenmeyen boşlukları ortadan kaldırmak için ayırıcıları tanımlamanızı sağlar. İşte iki dizenin düzgün bir şekilde birleştirilmesi için adımlar:

Adım Adım Rehber

  1. Dizeleri Tanımlayın: Yukarıda gösterildiği gibi FIRST-NAME, LAST-NAME ve FULL-NAME değişkenlerinizi WORKING-STORAGE bölümünde tanımladığınızdan emin olun.

  2. STRING İfadesini Kullanın: Dizeleri birleştirmek için STRING ifadesini kullanabilirsiniz. İşte nasıl yapıldığı:

    STRING
        FIRST-NAME DELIMITED BY " ",
        " ",
        LAST-NAME DELIMITED BY SIZE
    INTO FULL-NAME.
    

STRING İfadesinin Analizi

  • FIRST-NAME DELIMITED BY " “: Bu, COBOL’a FIRST-NAME‘i kullanmasını ve karşılaştığı ilk boşlukta birleştirmeyi durdurmasını söyler, dolayısıyla sonundaki boşlukları etkili bir şekilde ortadan kaldırır.

  • ” “: Bu, ilk ve son isimler arasında doğru bir ayrım sağlamak için tek bir boşluk ekler.

  • LAST-NAME DELIMITED BY SIZE: Bu, LAST-NAME‘nin tamamının birleştirmeye dahil edilmesi gerektiğini belirtir, böylece gereksiz boşluklar oluşmaz.

  • INTO FULL-NAME: Bu, oluşturulan birleştirilmiş dizeyi FULL-NAME‘de saklar.

Sonuç

Bu adımları takip ederek, COBOL’da bilinmeyen uzunluktaki dizeleri etkili bir şekilde birleştirebilir ve temiz, biçimlendirilmiş bir çıktı elde edebilirsiniz. Uygun ayırıcılarla STRING ifadesinden yararlanarak, COBOL dize yönetimi sürecini basitleştirir ve programlama ihtiyaçlarınız için güçlü bir araç haline getirir.

Artık COBOL’daki birleştirme ile ilgili benzer bir sorunla karşılaştığınızda, bu yöntemi güvenle uygulayarak istediğiniz sonuçlara ulaşabilirsiniz!