COBOL এর DATA এবং PROCEDURE DIVISION এর মেমোরি ব্যবস্থাপনা
COBOL-এ DATA DIVISION এবং PROCEDURE DIVISION হল দুটি প্রধান বিভাগ যা প্রোগ্রামের কার্যকারিতা এবং মেমোরি ব্যবস্থাপনার জন্য অত্যন্ত গুরুত্বপূর্ণ। DATA DIVISION ডেটা ডিক্লেয়ারেশন এবং মেমোরি অ্যাসাইনমেন্টের জন্য ব্যবহৃত হয়, এবং PROCEDURE DIVISION কোডের কার্যকরী অংশ, যেখানে প্রোগ্রাম লজিক এবং অপারেশনগুলি কাজ করে।
এখানে, DATA DIVISION এবং PROCEDURE DIVISION এর মধ্যে মেমোরি ব্যবস্থাপনা কীভাবে কাজ করে, তা বিস্তারিতভাবে আলোচনা করা হবে।
১. DATA DIVISION এর মেমোরি ব্যবস্থাপনা
DATA DIVISION হল সেই অংশ যেখানে প্রোগ্রামের জন্য প্রয়োজনীয় ডেটা ফাইল এবং ভেরিয়েবল ডিক্লেয়ার করা হয়। এখানে, WORKING-STORAGE SECTION (এটি মেমোরি অ্যাসাইনমেন্টের জন্য ব্যবহৃত হয়) এবং FILE SECTION (ফাইলের জন্য মেমোরি ব্যবস্থাপনা) অন্তর্ভুক্ত থাকে।
WORKING-STORAGE SECTION
WORKING-STORAGE SECTION হল সেই স্থান যেখানে স্থানীয় ভেরিয়েবল, কনস্ট্যান্ট, এবং অন্যান্য ডেটা যেগুলি প্রোগ্রাম চলাকালীন সময় ব্যবহৃত হবে, সংরক্ষিত থাকে। এটি প্রোগ্রামের মেমোরিতে স্থায়ীভাবে নির্ধারিত হয়।
উদাহরণ:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 CUSTOMER-ID PIC 9(5).
01 CUSTOMER-NAME PIC X(30).
01 TOTAL-AMOUNT PIC 9(9)V99 VALUE 0.ব্যাখ্যা:
CUSTOMER-ID: ৫ ডিজিটের একটি সংখ্যা।CUSTOMER-NAME: ৩০ ক্যারেক্টারের একটি স্ট্রিং।TOTAL-AMOUNT: ৯ ডিজিট এবং ২ দশমিকের জন্য একটি সংখ্যা।
এই সব ডেটা মেমোরিতে স্থায়ীভাবে সংরক্ষিত হবে যতক্ষণ না প্রোগ্রামটি শেষ হয়।
FILE SECTION
COBOL-এ FILE SECTION ডেটাবেস বা ফাইলগুলির মেমোরি অ্যাসাইনমেন্ট এবং ফাইলের কাঠামো সংজ্ঞায়িত করতে ব্যবহৃত হয়। এটি প্রোগ্রামের মধ্যে ফাইল পরিচালনা এবং তাদের মেমোরি অ্যাসাইনমেন্টের জন্য গুরুত্বপূর্ণ।
উদাহরণ:
DATA DIVISION.
FILE SECTION.
FD CUSTOMER-FILE.
01 CUSTOMER-RECORD.
05 CUSTOMER-ID PIC 9(5).
05 CUSTOMER-NAME PIC X(30).
05 CUSTOMER-BALANCE PIC 9(9)V99.ব্যাখ্যা:
FD CUSTOMER-FILE: এটি একটি ফাইল ডিক্লেয়ারেশন, যা ফাইলের কাঠামো এবং তার ডেটা ফিল্ডগুলিকে সংজ্ঞায়িত করে।CUSTOMER-RECORD: ফাইলের মধ্যে রেকর্ডের কাঠামো নির্ধারণ করা হয়েছে, যেখানেCUSTOMER-ID,CUSTOMER-NAME, এবংCUSTOMER-BALANCEফিল্ডগুলি রয়েছে।
২. PROCEDURE DIVISION এর মেমোরি ব্যবস্থাপনা
PROCEDURE DIVISION হল প্রোগ্রামের কার্যকরী অংশ, যেখানে কোডটি কার্যকর হয়। এটি মেমোরির কার্যকর ব্যবস্থাপনা করে, ডেটা হ্যান্ডলিং এবং লজিক্যাল অপারেশন যেমন গাণিতিক হিসাব, শর্তাবলী যাচাই ইত্যাদি সম্পাদন করে।
রানটাইম মেমোরি ব্যবস্থাপনা
COBOL-এ PROCEDURE DIVISION রানটাইম মেমোরি ব্যবস্থাপনা এবং ডেটা প্রক্রিয়াকরণ জন্য দায়ী। যেমন, এখানে COMPUTE, ADD, SUBTRACT, IF, PERFORM ইত্যাদি অপারেশনগুলি চালানো হয়।
উদাহরণ:
PROCEDURE DIVISION.
MOVE 100 TO CUSTOMER-ID
MOVE 'John Doe' TO CUSTOMER-NAME
ADD 5000 TO TOTAL-AMOUNT
DISPLAY 'Customer ID: ' CUSTOMER-ID
DISPLAY 'Customer Name: ' CUSTOMER-NAME
DISPLAY 'Total Amount: ' TOTAL-AMOUNT
STOP RUN.ব্যাখ্যা:
- এখানে
PROCEDURE DIVISIONডেটা ভেরিয়েবলগুলির মান পরিবর্তন করছে এবং এগুলি মেমোরিতে পরিবর্তিত হচ্ছে। MOVEস্টেটমেন্টটি মেমোরিতে ডেটা অ্যাসাইন করে এবংADDস্টেটমেন্টটি মেমোরিতে রাখা মানের সাথে নতুন মান যোগ করে।
৩. মেমোরি অ্যাসাইনমেন্ট এবং ডেটা অপারেশন
COBOL-এ DATA DIVISION এবং PROCEDURE DIVISION মেমোরি ব্যবস্থাপনার ক্ষেত্রে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। WORKING-STORAGE এবং FILE SECTION ডেটাকে স্টোর এবং ম্যানিপুলেট করার জন্য মেমোরি অ্যাসাইন করে, এবং PROCEDURE DIVISION প্রোগ্রাম লজিক ও অপারেশন সম্পাদন করে মেমোরির মধ্যে ডেটা পরিবর্তন এবং প্রক্রিয়াকরণ করে।
মেমোরি অপারেশন উদাহরণ:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 COUNTER PIC 9(3) VALUE 0.
01 MAX-NUMBER PIC 9(3) VALUE 100.
PROCEDURE DIVISION.
ADD 1 TO COUNTER
IF COUNTER > MAX-NUMBER
DISPLAY 'Counter exceeded maximum value'
ELSE
DISPLAY 'Counter: ' COUNTER
END-IF
STOP RUN.ব্যাখ্যা:
- এখানে
COUNTERএবংMAX-NUMBERভেরিয়েবল দুটি মেমোরিতে স্থাপন করা হয়েছে।ADDঅপারেশনটিCOUNTERভেরিয়েবলের মান বাড়ায়, এবং শর্ত চেক করা হয়। IFস্টেটমেন্টটি মেমোরির মধ্যেCOUNTERএর মানের ভিত্তিতে শর্ত নির্ধারণ করে।
সারসংক্ষেপ
| বিভাগের নাম | বর্ণনা |
|---|---|
| DATA DIVISION | মেমোরি অ্যাসাইনমেন্ট এবং ডেটা ডিক্লেয়ারেশন। এই বিভাগে ডেটা স্ট্রাকচার, ফাইল, এবং ভেরিয়েবল ডিফাইন করা হয়। |
| PROCEDURE DIVISION | প্রোগ্রামের কার্যকরী অংশ। মেমোরির মধ্যে ডেটার পরিবর্তন এবং প্রক্রিয়াকরণের কাজ এখানে করা হয়। |
| WORKING-STORAGE SECTION | প্রোগ্রামের চলাকালীন সময়ে ব্যবহৃত ডেটা ফিল্ড, ভেরিয়েবল এবং কনস্ট্যান্ট মেমোরিতে সংরক্ষিত হয়। |
| FILE SECTION | ফাইলের জন্য মেমোরি অ্যাসাইনমেন্ট এবং কাঠামো সংজ্ঞায়িত করা হয়। |
COBOL-এ DATA DIVISION এবং PROCEDURE DIVISION প্রোগ্রামের মধ্যে ডেটা ম্যানিপুলেশন এবং মেমোরি ব্যবস্থাপনার জন্য অত্যন্ত গুরুত্বপূর্ণ। WORKING-STORAGE SECTION এবং FILE SECTION ডেটা স্টোরেজ এবং অ্যাক্সেস করার জন্য ব্যবহৃত হয়, এবং PROCEDURE DIVISION কোডের কার্যকরী অংশ হিসাবে ডেটা প্রক্রিয়াকরণ করে।
Read more