WORKING-STORAGE SECTION এর ব্যবহার
COBOL প্রোগ্রামে WORKING-STORAGE SECTION হলো একটি গুরুত্বপূর্ণ বিভাগ যেখানে প্রোগ্রাম চলাকালীন ব্যবহারযোগ্য স্থানীয় পরিবর্তনশীল (variables) বা তথ্য (data) ডিফাইন করা হয়। এই সেকশনে ডেটা ডিফাইন করা হয় যা প্রোগ্রাম রানটাইমে ব্যবহার করা হবে এবং সাধারণত এটি DATA DIVISION এর অংশ হিসেবে থাকে।
WORKING-STORAGE SECTION ডেটার জন্য মেমরি বরাদ্দ করে এবং প্রোগ্রামের বিভিন্ন ধাপে এদের মান পরিবর্তন করা যেতে পারে। এটি সাধারণত প্রোগ্রামের মধ্যে অস্থায়ী ডেটা এবং ক্যালকুলেশন রাখার জন্য ব্যবহৃত হয়।
১. WORKING-STORAGE SECTION এর গঠন
WORKING-STORAGE SECTION এ আপনি যে ডেটা (variables) বা তথ্য (data) ব্যবহার করবেন, সেগুলি এখানে ডিফাইন করতে হয়। এর সাধারণ গঠন নিম্নরূপ:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 variable-name PIC X(10).
01 another-variable PIC 9(5).- DATA DIVISION: কোডের এই অংশে ডেটা ডিফাইন করা হয়।
- WORKING-STORAGE SECTION: এখানে ডেটা স্থায়ীভাবে রাখার জন্য মেমরি বরাদ্দ করা হয়।
- 01 level-number: এটি একটি লেভেল নাম্বার, যার মাধ্যমে ডেটা স্ট্রাকচার ডিফাইন করা হয়।
- PIC: এটি Picture Clause যা ডেটা টাইপ এবং আকার নির্ধারণ করে।
২. WORKING-STORAGE SECTION এ ডেটা ডিফাইন করা
COBOL-এ WORKING-STORAGE SECTION এর মধ্যে বিভিন্ন ধরণের ডেটা টাইপ ডিফাইন করা যায়, যেমন:
- আখ্যা (Alphanumeric): PIC X ব্যবহার করে আখ্যা বা স্ট্রিং ডেটা ডিফাইন করা হয়।
- সংখ্যা (Numeric): PIC 9 ব্যবহার করে পূর্ণসংখ্যা বা দশমিক সংখ্যা ডিফাইন করা হয়।
- ডেসিমাল (Decimal): PIC V ব্যবহার করে দশমিক সংখ্যা ডিফাইন করা যায়।
- হ্যাশ বা সাইনড ভ্যালু: PIC S ব্যবহার করে সাইনড সংখ্যা ডিফাইন করা যায়।
২.১ আখ্যা (Alphanumeric) ডেটা
01 FIRST-NAME PIC X(20).এখানে, FIRST-NAME একটি আখ্যা ডেটা যা সর্বোচ্চ ২০টি অক্ষর ধারণ করতে পারবে।
২.২ সংখ্যা (Numeric) ডেটা
01 AGE PIC 9(3).এখানে, AGE একটি পূর্ণসংখ্যা ডেটা যা ৩টি ডিজিট ধারণ করতে পারবে।
২.৩ ডেসিমাল সংখ্যা (Decimal Number)
01 SALARY PIC 9(5)V99.এখানে, SALARY একটি দশমিক সংখ্যা ডেটা যা ৫টি পূর্ণসংখ্যা এবং ২টি দশমিক স্থান ধারণ করবে।
৩. WORKING-STORAGE SECTION এ মান বরাদ্দ এবং পরিবর্তন
WORKING-STORAGE SECTION এ ডিফাইন করা ডেটার মান INITIALIZE অথবা MOVE স্টেটমেন্ট ব্যবহার করে বরাদ্দ এবং পরিবর্তন করা যায়।
৩.১ INITIALIZE উদাহরণ
01 TOTAL-SALARY PIC 9(5)V99 VALUE 0.এখানে, TOTAL-SALARY কে 0 মান দিয়ে ইনিশিয়ালাইজ করা হয়েছে।
৩.২ MOVE স্টেটমেন্ট উদাহরণ
MOVE 30 TO AGE.এখানে, AGE ফিল্ডে 30 মানটি সরাসরি MOVE স্টেটমেন্টের মাধ্যমে অ্যাসাইন করা হচ্ছে।
৪. WORKING-STORAGE SECTION এর ব্যবহার
WORKING-STORAGE SECTION ব্যবহার করে বিভিন্ন ধরনের কাজ করা যায়, যেমন:
- অস্থায়ী ডেটা রাখা: প্রোগ্রাম চলাকালীন যে ডেটা একাধিক স্থানে ব্যবহার হতে পারে, তা WORKING-STORAGE SECTION এ রাখা হয়।
- গণনা এবং ক্যালকুলেশন: যেকোনো ধরনের গণনা বা ক্যালকুলেশন, যেমন মোট বেতন, গড় পয়েন্ট ইত্যাদি, এখানে রাখা যায়।
- অস্থায়ী ফলাফল সংরক্ষণ: কোনো নির্দিষ্ট অপারেশনের ফলাফল যেমন মোট বিক্রয় বা গড় মান এখানে সংরক্ষণ করা হয়।
- ভেরিয়েবল ডেটার স্থান বরাদ্দ: প্রোগ্রামের অন্যান্য অংশে ভেরিয়েবল ডেটা পাঠানোর জন্য এখানে স্থান বরাদ্দ করা হয়।
৪.১ অস্থায়ী ডেটা এবং গণনা উদাহরণ
01 TOTAL-SALARY PIC 9(5)V99 VALUE 0.
01 BONUS PIC 9(3)V99 VALUE 0.
01 FINAL-SALARY PIC 9(5)V99.
MOVE 50000 TO TOTAL-SALARY
MOVE 5000 TO BONUS
COMPUTE FINAL-SALARY = TOTAL-SALARY + BONUS
DISPLAY 'Final Salary: ' FINAL-SALARYএখানে, TOTAL-SALARY, BONUS, এবং FINAL-SALARY WORKING-STORAGE SECTION এ ডিফাইন করা হয়েছে, যেখানে বেতন এবং বোনাস যোগ করা হয়েছে এবং তার ফলাফল FINAL-SALARY-এ রাখা হয়েছে।
৪.২ অস্থায়ী ফলাফল সংরক্ষণ উদাহরণ
01 COUNT PIC 9(3) VALUE 0.
01 TOTAL-SUM PIC 9(5)V99 VALUE 0.
01 AVERAGE PIC 9(5)V99.
PERFORM VARYING COUNT FROM 1 BY 1 UNTIL COUNT > 5
ADD 10 TO TOTAL-SUM
END-PERFORM
COMPUTE AVERAGE = TOTAL-SUM / COUNT
DISPLAY 'Average: ' AVERAGEএখানে, COUNT এবং TOTAL-SUM WORKING-STORAGE SECTION এ ডিফাইন করা হয়েছে এবং গড় মান হিসাব করা হয়েছে।
৫. WORKING-STORAGE SECTION এ ডেটা ম্যানিপুলেশন
COBOL-এ WORKING-STORAGE SECTION ডেটার মান পরিবর্তন, গণনা এবং সঞ্চয় করার জন্য ব্যাপকভাবে ব্যবহৃত হয়। এটি প্রোগ্রামের চলমানতা এবং কার্যকারিতা সহজ করে।
- গণনা এবং পরিসংখ্যান সংরক্ষণ: সাধারণত WORKING-STORAGE SECTION এ গণনা, মোট, গড় বা অন্যান্য পরিসংখ্যান সংরক্ষণ করা হয়।
- স্টোরেজ ব্যবস্থাপনা: বড় ডেটা অপারেশনের জন্য কার্যকর স্টোরেজ ব্যবস্থাপনা করা হয়।
- ডেটা প্রক্রিয়াকরণ: কোনো প্রকারের ডেটা প্রক্রিয়াকরণ, যেমন ফাইল থেকে ডেটা রিড, অ্যাডিশন বা ডেলিট করা, এখানকার ভেরিয়েবল ব্যবহার করে করা হয়।
সারসংক্ষেপ
WORKING-STORAGE SECTION COBOL প্রোগ্রামে একটি গুরুত্বপূর্ণ অংশ যেখানে ডেটার স্থানীয় ভেরিয়েবল, গণনা, এবং অস্থায়ী ফলাফল সংরক্ষণ করা হয়। এটি DATA DIVISION এর অংশ এবং প্রোগ্রাম চলাকালীন ব্যবহার করা হয়। এখানে বিভিন্ন ধরনের ডেটা টাইপ এবং ভেরিয়েবল ডিফাইন করে প্রোগ্রাম কার্যকর করা হয়, যেমন সংখ্যার যোগফল, গড়, মোট ইত্যাদি। WORKING-STORAGE SECTION ডেটা ম্যানিপুলেশন এবং ফাইল প্রক্রিয়াকরণে সাহায্য করে।
Read more