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
-
Dizeleri Tanımlayın: Yukarıda gösterildiği gibi
FIRST-NAME
,LAST-NAME
veFULL-NAME
değişkenleriniziWORKING-STORAGE
bölümünde tanımladığınızdan emin olun. -
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!