COBOL-এ OCCURS ক্লজ এবং তার ব্যবহার
COBOL-এ OCCURS ক্লজ একটি শক্তিশালী ফিচার যা একাধিক উপাদান বা ডেটা আইটেমের একটি অ্যারে (array) তৈরি করতে ব্যবহৃত হয়। এটি ডেটা ফাইল বা মেমোরিতে একাধিক বার একটি নির্দিষ্ট ধরনের ডেটা সংরক্ষণ করার জন্য ব্যবহৃত হয়। OCCURS ক্লজ ব্যবহার করলে, একই ধরনের একাধিক ডেটা আইটেম ঘোষণা করা হয় এবং এগুলি একত্রে ম্যানেজ করা যায়।
OCCURS ক্লজের সাধারণ গঠন:
01 variable-name.
05 item-name PIC X(10) OCCURS 5 TIMES.- variable-name: এটি হল প্রধান ডেটা স্ট্রাকচার বা রেকর্ডের নাম।
- item-name: এটি হলো ডেটা আইটেমের নাম, যা একাধিকবার পুনরাবৃত্তি হবে।
- OCCURS 5 TIMES: এর মানে হল যে
item-nameপাঁচটি বার থাকবে। অর্থাৎ, ৫টি উপাদান ধারণ করতে সক্ষম।
OCCURS ক্লজের ব্যবহার
COBOL-এ OCCURS ক্লজ সাধারণত ডেটা মেমরি বা ফাইলের মধ্যে একাধিক উপাদান ধারণ করতে ব্যবহৃত হয়, বিশেষ করে যখন আপনার কাছে সমান ধরনের একাধিক তথ্য থাকে এবং সেগুলি একত্রে ম্যানেজ করা দরকার।
উদাহরণ ১: একটি অ্যারের মধ্যে বিভিন্ন নাম সংরক্ষণ
01 NAMES.
05 NAME PIC X(20) OCCURS 3 TIMES.
PROCEDURE DIVISION.
MOVE 'John' TO NAME(1)
MOVE 'Alice' TO NAME(2)
MOVE 'Bob' TO NAME(3)
DISPLAY NAME(1)
DISPLAY NAME(2)
DISPLAY NAME(3)
STOP RUN.ব্যাখ্যা:
- এখানে
NAMESএকটি রেকর্ড, যার মধ্যেNAMEফিল্ডটি 3 TIMES ৩টি ভিন্ন নাম ধারণ করবে। - প্রথমে তিনটি ভিন্ন নাম
NAME(1),NAME(2), এবংNAME(3)এ সংরক্ষণ করা হয়। - পরে, তিনটি নাম
DISPLAYকমান্ডের মাধ্যমে স্ক্রীনে দেখানো হয়।
উদাহরণ ২: ব্যবহারকারীর স্কোর সংরক্ষণ
01 SCORES.
05 SCORE PIC 99 OCCURS 5 TIMES.
PROCEDURE DIVISION.
MOVE 85 TO SCORE(1)
MOVE 90 TO SCORE(2)
MOVE 95 TO SCORE(3)
MOVE 88 TO SCORE(4)
MOVE 92 TO SCORE(5)
DISPLAY 'Scores of the students:'
DISPLAY SCORE(1)
DISPLAY SCORE(2)
DISPLAY SCORE(3)
DISPLAY SCORE(4)
DISPLAY SCORE(5)
STOP RUN.ব্যাখ্যা:
- এখানে
SCOREফিল্ডটি 5 TIMES আছে, যার মানে ৫টি স্কোর একে একেSCORE(1),SCORE(2),SCORE(3),SCORE(4), এবংSCORE(5)নামের ভেরিয়েবলে সংরক্ষণ করা হয়েছে। - তারপর,
DISPLAYকমান্ডের মাধ্যমে এই স্কোরগুলো দেখানো হয়েছে।
OCCURS ক্লজের কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য:
- ব্যবহারিক ডেটা স্ট্রাকচার:
OCCURSক্লজ ব্যবহার করে একই ধরনের একাধিক উপাদানকে একটি ডেটা স্ট্রাকচারে (array) সংরক্ষণ করা যায়, যেমন সংখ্যার তালিকা, নামের তালিকা, অথবা অন্যান্য ডেটার অ্যারে।
- ডায়নামিক সাইজ:
COBOL-এ
OCCURSক্লজের সাথে আপনি একটি সাইজও নির্দিষ্ট করতে পারেন যা চলতি প্রোগ্রামিংয়ের সময় পরিবর্তনশীল হতে পারে, যেমন:01 STUDENT-NAMES. 05 NAME PIC X(20) OCCURS 100 TIMES.
- ব্যবহার করা ইন্ডেক্স:
OCCURSক্লজের মাধ্যমে ডেটা আইটেমগুলো ইন্ডেক্স ব্যবহার করে অ্যাক্সেস করা যায়। উদাহরণস্বরূপ:MOVE 'John' TO NAME(1) MOVE 'Alice' TO NAME(2)
- অ্যারে লিমিটেশন:
- COBOL-এ
OCCURSক্লজের সাথে আইটেমের সংখ্যা সীমিত করা যেতে পারে। তবে, আধুনিক COBOL ভার্সনগুলিতে এটি আরও ডায়নামিকভাবে পরিবর্তনযোগ্য হতে পারে।
- COBOL-এ
OCCURSএর সাথেINDEXEDএবংSUBSCRIPT:INDEXEDএবংSUBSCRIPTএই দুটি ধারণাOCCURSক্লজের সঙ্গে ব্যবহার করা যেতে পারে।SUBSCRIPTবাINDEXব্যবহার করে অ্যারে বা তালিকা থেকে নির্দিষ্ট উপাদান নির্বাচন করা হয়।
OCCURS ক্লজের সঙ্গে INDEX ব্যবহার:
01 STUDENT-SCORES.
05 SCORE PIC 99 OCCURS 5 TIMES INDEXED BY IDX.
PROCEDURE DIVISION.
SET IDX TO 1
PERFORM UNTIL IDX > 5
MOVE IDX TO SCORE(IDX)
DISPLAY SCORE(IDX)
ADD 1 TO IDX
END-PERFORM.
STOP RUN.ব্যাখ্যা:
- এখানে,
SCOREঅ্যারের জন্যINDEXED BY IDXব্যবহার করা হয়েছে, যাতেIDXইন্ডেক্সটি ব্যবহার করে অ্যারের উপাদানগুলিকে অ্যাক্সেস করা যায়।
সারসংক্ষেপ
COBOL-এ OCCURS ক্লজ একটি শক্তিশালী টুল যা একাধিক উপাদান সংরক্ষণ করার জন্য ব্যবহৃত হয়। এটি ডেটা ম্যানিপুলেশনকে সহজ এবং কার্যকর করে, বিশেষ করে যখন একাধিক সমান ধরনের ডেটা থাকতে হয়। OCCURS ক্লজের সাথে INDEX বা SUBSCRIPT ব্যবহার করে আরও উন্নতভাবে অ্যারে বা ডেটা স্ট্রাকচার ম্যানেজ করা সম্ভব।
Read more