COBOL ডেটা টাইপ এবং ভেরিয়েবলস (Data Types and Variables in COBOL)
COBOL একটি স্ট্রাকচারড এবং ব্যবসায়িক উদ্দেশ্যে তৈরি ভাষা, যা ডেটা ম্যানিপুলেশন এবং প্রক্রিয়াকরণের জন্য বেশ শক্তিশালী ডেটা টাইপ এবং ভেরিয়েবল ব্যবস্থাপনা প্রদান করে। COBOL ভাষায় ডেটা টাইপ এবং ভেরিয়েবলগুলি বিশেষভাবে ডেটার সংজ্ঞা, কাঠামো, এবং আকারের উপর ভিত্তি করে কাজ করে। এই ডেটা টাইপ এবং ভেরিয়েবলগুলি প্রোগ্রামে ব্যবহারকারীর ইনপুট, আউটপুট, এবং অন্যান্য কার্যাবলীর জন্য ব্যবহৃত হয়।
COBOL ডেটা টাইপ
COBOL এ মূলত কয়েকটি ডেটা টাইপ রয়েছে, যা বিভিন্ন ধরনের তথ্য সংরক্ষণ এবং প্রক্রিয়া করার জন্য ব্যবহৃত হয়। এখানে প্রধান ডেটা টাইপগুলির আলোচনা করা হল:
আলফানিউমেরিক (Alphanumeric - PIC X)
- PIC X বা PIC A ডেটা টাইপটি চরিত্রের জন্য ব্যবহৃত হয়। এটি সাধারণত স্ট্রিং বা টেক্সট ডেটা ধারণ করে।
- এটি একটি নির্দিষ্ট সংখ্যা পর্যন্ত অক্ষর ধারণ করতে পারে (যেমন,
PIC X(10)মানে ১০টি ক্যারেক্টারের স্ট্রিং)।
উদাহরণ:
01 NAME PIC X(30).এই ক্ষেত্রে
NAMEএকটি ৩০ ক্যারেক্টারের স্ট্রিং ধারণ করবে।নিউমেরিক (Numeric - PIC 9)
- PIC 9 ডেটা টাইপটি সেমি-ডিজিটাল (পূর্বে নির্ধারিত সংখ্যার পরিসরে) মান সংরক্ষণ করে। এটি পূর্ণসংখ্যা বা দশমিক সংখ্যা রাখার জন্য ব্যবহৃত হয়।
- এটি নির্দিষ্ট সংখ্যা পর্যন্ত ডিজিট ধারণ করতে পারে (যেমন,
PIC 9(5)মানে ৫টি ডিজিট ধারণ করবে)।
উদাহরণ:
01 AGE PIC 9(2).এই ক্ষেত্রে
AGEএকটি ২ ডিজিটের সংখ্যা ধারণ করবে (যেমন ২৫, ৯৯)।ডেসিমাল (Decimal - PIC 9V9)
- PIC 9V9 ব্যবহার করে দশমিক মান সংরক্ষণ করা যায়। এখানে V দশমিক বিন্দু নির্দেশ করে, তবে এটি কোডের মধ্যে আসবে না, এটি গণনা এবং প্রদর্শন করার জন্য ব্যবহৃত হবে।
উদাহরণ:
01 PRICE PIC 9(3)V99.এখানে
PRICE৩টি ডিজিট এবং ২টি দশমিক ডিজিট ধারণ করবে, যেমন 123.45।সংকেত (Signed Numbers - PIC S9)
- PIC S9 ডেটা টাইপটি সাইন সহ সংখ্যা ধারণ করতে ব্যবহৃত হয়। এটি একটি নেতিবাচক বা পজিটিভ মান ধারণ করতে পারে।
উদাহরণ:
01 SALARY PIC S9(5).এখানে
SALARYএকটি ৫ ডিজিটের সংখ্যাকে সাইনসহ (নেতিবাচক বা পজিটিভ) ধারণ করবে।পাঠ্য বা সিরিয়াল (Packed Decimal - COMP)
- COBOL এ একটি বিশেষ ডেটা টাইপ
COMPবাCOMP-3নামে পরিচিত, যা সংখ্যার জন্য প্যাকড দশমিক রূপ ব্যবহার করে। এটি কম্পিউটেশনে দ্রুততার জন্য ব্যবহার করা হয়, কারণ এটি কম স্পেসে অধিক তথ্য ধারণ করতে সক্ষম।
উদাহরণ:
01 BALANCE PIC 9(7) COMP-3.এখানে
BALANCE৭ ডিজিটের প্যাকড দশমিক সংখ্যাকে কম্পিউটার-প্রক্রিয়া ফরম্যাটে সংরক্ষণ করবে।- COBOL এ একটি বিশেষ ডেটা টাইপ
COBOL ভেরিয়েবলস
COBOL এ ভেরিয়েবলগুলি বিভিন্ন ডেটা টাইপের মাধ্যমে ডিক্লেয়ার করা হয়, এবং এগুলো প্রোগ্রামের মধ্যে তথ্য সংরক্ষণ করার জন্য ব্যবহৃত হয়। COBOL এ ভেরিয়েবল ডিফাইন করার জন্য 01, 05, 10 ইত্যাদি সেকশন নম্বর ব্যবহার করা হয়, যা সঠিকভাবে ভেরিয়েবলের কাঠামো এবং তার পরিমাণ নির্দেশ করে।
উদাহরণ:
01 CUSTOMER-NAME PIC X(20).
01 CUSTOMER-AGE PIC 99.
01 CUSTOMER-BALANCE PIC 9(7)V99.এখানে:
CUSTOMER-NAMEএকটি ২০ ক্যারেক্টারের স্ট্রিং।CUSTOMER-AGEদুটি ডিজিটের সংখ্যা (যেমন ৩০)।CUSTOMER-BALANCE৭টি ডিজিট এবং ২টি দশমিক স্থান ধারণ করবে (যেমন 1234567.89)।
COBOL এ ভেরিয়েবল ইনিশিয়ালাইজেশন
COBOL এ আপনি ভেরিয়েবলগুলিকে নির্দিষ্ট মান দিয়ে ইনিশিয়ালাইজ করতে পারেন। এটি প্রোগ্রামের শুরুতে ডেটা নির্ধারণ করতে সহায়ক হয়।
উদাহরণ:
01 ACCOUNT-BALANCE PIC 9(5) VALUE 10000.এখানে, ACCOUNT-BALANCE ভেরিয়েবলটির মান 10000 দিয়ে ইনিশিয়ালাইজ করা হয়েছে।
সারসংক্ষেপ
COBOL একটি স্ট্রাকচারড ভাষা যা ডেটা টাইপ এবং ভেরিয়েবল ব্যবস্থাপনার মাধ্যমে কার্যকরী এবং নির্ভুল প্রোগ্রামিংয়ের জন্য সহায়ক। এখানে ব্যবহৃত ডেটা টাইপগুলির মধ্যে Alphanumeric, Numeric, Decimal, Signed Numbers, এবং Packed Decimal অন্যতম। প্রতিটি টাইপের কাঠামো প্রোগ্রামের কার্যক্ষমতা এবং স্পেস ব্যবস্থাপনাকে উন্নত করে। COBOL এ ভেরিয়েবলগুলি ডেটা টাইপের মাধ্যমে সংজ্ঞায়িত করা হয় এবং প্রোগ্রামে তথ্য সংরক্ষণের জন্য ব্যবহৃত হয়।
COBOL এর ডেটা টাইপস: Numeric, Alphanumeric, Alphabetic
COBOL ভাষায় ডেটা টাইপগুলি প্রোগ্রাম তৈরি করার জন্য অত্যন্ত গুরুত্বপূর্ণ। বিভিন্ন ডেটা টাইপ ব্যবহার করে আমরা প্রোগ্রামের মধ্যে ভিন্ন ধরনের তথ্য সংরক্ষণ, প্রক্রিয়া এবং প্রদর্শন করতে পারি। COBOL-এর প্রধান ডেটা টাইপগুলি হলো Numeric, Alphanumeric, এবং Alphabetic। প্রতিটি ডেটা টাইপের নিজস্ব বৈশিষ্ট্য এবং ব্যবহারের ক্ষেত্রে নির্দিষ্ট নিয়ম রয়েছে। নিচে প্রতিটি ডেটা টাইপের বিস্তারিত আলোচনা করা হলো।
১. Numeric (সংখ্যা)
Numeric টাইপ ব্যবহার করে কোডে শুধুমাত্র সংখ্যা সংরক্ষণ করা হয়। এটি পূর্ণসংখ্যা (Integer) এবং দশমিক সংখ্যার (Decimal) জন্য ব্যবহৃত হয়। এই ধরনের ডেটা টাইপ সাধারণত গাণিতিক হিসাব এবং আর্থিক সিস্টেমে ব্যবহৃত হয়।
- PIC 9: একটি সংখ্যা বা ডিজিটের জন্য ব্যবহৃত হয়।
- PIC 9(n)V9(m): দশমিক সংখ্যা (Decimal) এর জন্য ব্যবহৃত হয়, যেখানে "n" পূর্ণসংখ্যার ডিজিট এবং "m" দশমিকের পরের ডিজিট নির্দেশ করে।
উদাহরণ:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 AGE PIC 99.
01 SALARY PIC 9(5)V99.- AGE: দুটি ডিজিট ধারণ করতে পারে, যেমন 01 থেকে 99।
- SALARY: পাঁচটি পূর্ণসংখ্যার ডিজিট এবং দুটি দশমিক সংখ্যা ধারণ করতে পারে, যেমন 12345.99।
Numeric টাইপের কিছু বৈশিষ্ট্য:
- Signed numbers: আমরা নির্দিষ্ট করতে পারি যে সংখ্যাটি ধনাত্মক বা ঋণাত্মক হবে (সাইনযুক্ত সংখ্যা)।
- Numeric fields: গাণিতিক অপারেশন যেমন যোগ, বিয়োগ, গুণ, ভাগ এবং শতাংশ হিসাব করতে সহজে ব্যবহার করা হয়।
২. Alphanumeric (আলফানিউমেরিক)
Alphanumeric টাইপটি সংখ্যাসূচক (numeric) এবং বর্ণমালার (alphabetic) চরিত্র উভয়কেই ধারণ করতে পারে। এটি সাধারণত ব্যবহারকারীর নাম, ঠিকানা, ফোন নম্বর, বা অন্য কোনো ধরনের সাধারণ তথ্য সংরক্ষণে ব্যবহৃত হয়, যা শুধু অক্ষর ও সংখ্যার সংমিশ্রণ হতে পারে।
- PIC X: এক বা একাধিক অক্ষরের জন্য ব্যবহৃত হয়।
- PIC X(n): "n" সংখ্যক অক্ষরের জন্য ব্যবহৃত হয়।
উদাহরণ:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-NAME PIC X(20).
01 PHONE-NUMBER PIC X(10).- USER-NAME: ২০টি অক্ষর ধারণ করতে পারে, যেমন "John Doe"।
- PHONE-NUMBER: ১০টি অক্ষর ধারণ করতে পারে, যেমন "123-456-7890"।
Alphanumeric টাইপের কিছু বৈশিষ্ট্য:
- Flexibility: এটি শুধুমাত্র অক্ষর নয়, সংখ্যা, বিশেষ চিহ্ন (যেমন "@" বা "-") এবং স্পেসও ধারণ করতে পারে।
- Usage: সাধারণত টেক্সট ইনপুটের জন্য ব্যবহৃত হয়, যেমন নাম, পোষ্টাল কোড, এবং স্ট্রিং ডেটা।
৩. Alphabetic (বর্ণমালা)
Alphabetic টাইপটি শুধুমাত্র অক্ষর (A-Z, a-z) ধারণ করতে পারে এবং কোনো সংখ্যা বা বিশেষ চিহ্ন ধারণ করতে পারে না। এটি মূলত টেক্সট বা বর্ণমালার জন্য ব্যবহৃত হয়, যেখানে শুধুমাত্র অক্ষরের প্রয়োজন হয়।
- PIC A: একক অক্ষরের জন্য ব্যবহৃত হয়।
- PIC A(n): "n" সংখ্যক অক্ষর ধারণ করতে পারে, যা শুধুমাত্র অক্ষর (A-Z) ধারণ করে।
উদাহরণ:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 FIRST-NAME PIC A(15).
01 LAST-NAME PIC A(15).- FIRST-NAME: ১৫টি অক্ষর ধারণ করতে পারে, যেমন "John"।
- LAST-NAME: ১৫টি অক্ষর ধারণ করতে পারে, যেমন "Doe"।
Alphabetic টাইপের কিছু বৈশিষ্ট্য:
- Letters Only: এটি শুধুমাত্র ইংরেজি বর্ণমালা A-Z (বা a-z) এর অক্ষরসমূহ ধারণ করতে সক্ষম।
- Text Fields: নাম, শহরের নাম, পদের নাম ইত্যাদি ক্ষেত্রে ব্যবহৃত হয়।
সারসংক্ষেপ
COBOL এ বিভিন্ন ধরনের ডেটা টাইপ রয়েছে, যা প্রোগ্রামে ব্যবহৃত তথ্যের ধরণ অনুযায়ী নির্বাচন করা হয়:
- Numeric: সংখ্যা ধারণ করার জন্য ব্যবহৃত, যেমন গাণিতিক হিসাব এবং আর্থিক ডেটা।
- Alphanumeric: সংখ্যা এবং অক্ষর উভয়ই ধারণ করতে সক্ষম, সাধারণত টেক্সট এবং সংখ্যার সংমিশ্রণের জন্য ব্যবহৃত।
- Alphabetic: শুধুমাত্র অক্ষর ধারণ করে, নাম বা অন্যান্য টেক্সট ডেটার জন্য ব্যবহৃত।
প্রত্যেকটি ডেটা টাইপের নিজস্ব ব্যবহার এবং সুবিধা রয়েছে, যা COBOL প্রোগ্রামিংয়ে সঠিক তথ্য সংরক্ষণ এবং প্রক্রিয়াকরণে সহায়ক।
COBOL-এ ভেরিয়েবল ডিক্লারেশন এবং Initialization
COBOL প্রোগ্রামিং ভাষায় ভেরিয়েবল ডিক্লারেশন এবং ইনিশিয়ালাইজেশন হল ডেটা ব্যবহার করার জন্য খুবই গুরুত্বপূর্ণ পদক্ষেপ। COBOL-এ, ডেটা টাইপের ঘোষণা এবং ডিফাইন করা ভেরিয়েবলগুলি DATA DIVISION এর WORKING-STORAGE SECTION বা FILE SECTION-এ করা হয়। প্রতিটি ভেরিয়েবল একটি নির্দিষ্ট ডেটা টাইপ (যেমন, সংখ্যা, অক্ষর ইত্যাদি) দিয়ে ডিফাইন করা হয় এবং তার প্রাথমিক মান (যদি থাকে) ইনিশিয়ালাইজ করা হয়।
১. ভেরিয়েবল ডিক্লারেশন (Variable Declaration)
COBOL-এ, ভেরিয়েবল ডিক্লারেশন সাধারণত DATA DIVISION এর WORKING-STORAGE SECTION বা LOCAL-STORAGE SECTION-এ করা হয়। ভেরিয়েবল ডিফাইন করার সময়, প্রতিটি ভেরিয়েবলের জন্য ডেটা টাইপ এবং পছন্দসই দৈর্ঘ্য উল্লেখ করা হয়।
COBOL-এ ভেরিয়েবল ডিক্লারেশনের সিনট্যাক্স:
01 VARIABLE-NAME PIC X(10).
01 AGE PIC 99.
01 AMOUNT PIC 9(5)V99.এখানে:
01হল ফিল্ড বা ভেরিয়েবলের নামের স্তরের নির্দেশক।PIC(Picture) হল COBOL-এ ভেরিয়েবলের ডেটা টাইপ এবং আকার সংজ্ঞায়িত করার জন্য ব্যবহৃত শব্দ। এর মাধ্যমে, আমরা ভেরিয়েবলের জন্য সঠিক ডেটা টাইপ এবং দৈর্ঘ্য নির্ধারণ করি।X(10): 10টি অক্ষর ধারণকারী একটি স্ট্রিং।99: দুটি ডিজিটের সংখ্যা।9(5)V99: 5টি ডিজিটের পূর্ণসংখ্যা এবং 2টি দশমিক সহ ভাসমান পয়েন্ট সংখ্যা।
২. Initialization (ভেরিয়েবল ইনিশিয়ালাইজেশন)
COBOL-এ, ভেরিয়েবল ইনিশিয়ালাইজেশনের জন্য আমরা ডেটা ডিভিশনের মধ্যে মান নির্ধারণ করি। যদি কোন ভেরিয়েবলের জন্য প্রাথমিক মান নির্ধারণ করা না হয়, তবে তা ডিফল্ট মান হিসেবে ZEROES বা SPACES দিয়ে ইনিশিয়ালাইজ করা হয়।
ইনিশিয়ালাইজেশন উদাহরণ:
নম্বর (Numeric) ভেরিয়েবল ইনিশিয়ালাইজেশন:
01 AGE PIC 99 VALUE 25. 01 SALARY PIC 9(5)V99 VALUE 15000.50.এখানে:
AGEভেরিয়েবলটি ২৫ দিয়ে ইনিশিয়ালাইজ করা হয়েছে।SALARYভেরিয়েবলটি ১৫০০০.৫০ দিয়ে ইনিশিয়ালাইজ করা হয়েছে।
স্ট্রিং (Alphanumeric) ভেরিয়েবল ইনিশিয়ালাইজেশন:
01 CUSTOMER-NAME PIC X(20) VALUE 'John Doe'. 01 ADDRESS PIC X(50) VALUE '123 Elm Street'.এখানে:
CUSTOMER-NAMEভেরিয়েবলটি 'John Doe' দিয়ে ইনিশিয়ালাইজ করা হয়েছে।ADDRESSভেরিয়েবলটি '123 Elm Street' দিয়ে ইনিশিয়ালাইজ করা হয়েছে।
ডিফল্ট ইনিশিয়ালাইজেশন:
COBOL-এ ডিফল্ট মানও ইনিশিয়ালাইজ করা যায়:ZEROES: সংখ্যাসূচক ভেরিয়েবলগুলির জন্য প্রাথমিক মান হিসেবে শূন্য (০)।SPACES: অক্ষরভিত্তিক ভেরিয়েবলগুলির জন্য প্রাথমিক মান হিসেবে স্পেস।
উদাহরণ:
01 BALANCE PIC 9(7)V99 VALUE ZEROES. 01 FULL-NAME PIC X(30) VALUE SPACES.- এখানে
BALANCEভেরিয়েবলটি শূন্য (০) দিয়ে ইনিশিয়ালাইজ করা হয়েছে। FULL-NAMEভেরিয়েবলটি স্পেস দিয়ে ইনিশিয়ালাইজ করা হয়েছে।
৩. COBOL-এ ভেরিয়েবল ডিক্লারেশন এবং ইনিশিয়ালাইজেশনের অন্যান্য নিয়ম
- পরিচিতি স্তর (Level Numbers):
- COBOL-এ ভেরিয়েবল ডিক্লারেশনের সময়
01,05,10,15, ইত্যাদি স্তরের নম্বর ব্যবহৃত হয়, যা ডেটা ফাইলের কাঠামো এবং ডেটার পারিবারিক সম্পর্ক বোঝাতে সাহায্য করে।
- COBOL-এ ভেরিয়েবল ডিক্লারেশনের সময়
- সামাজিক মান (Usage):
COBOL-এ
USAGEপ্রপার্টি ব্যবহার করা যেতে পারে ডেটা টাইপ স্পেসিফিকেশনকে কাস্টমাইজ করার জন্য, যেমন:01 DISCOUNT PIC 9(3)V99 USAGE COMP-3.- এখানে
COMP-3ব্যবহার করা হয়েছে, যা ডেটা কম্প্যাক্ট করতে এবং মেমরি ব্যবহারকে আরও দক্ষ করতে সহায়ক।
- ডেটা টাইপের নির্ধারণ:
- COBOL-এ ডেটা টাইপ হিসাবে
NUMERIC,ALPHANUMERIC,DATE,TIMEএবংBOOLEANপ্রকারের ভেরিয়েবল ব্যবহার করা যায়।
- COBOL-এ ডেটা টাইপ হিসাবে
সারসংক্ষেপ
COBOL-এ ভেরিয়েবল ডিক্লারেশন এবং ইনিশিয়ালাইজেশন একটি অত্যন্ত গুরুত্বপূর্ণ পদক্ষেপ, যা প্রোগ্রামের কার্যকারিতা এবং ডেটা ম্যানিপুলেশন প্রক্রিয়ায় সহায়ক ভূমিকা পালন করে। প্রতিটি ভেরিয়েবলের জন্য উপযুক্ত ডেটা টাইপ এবং মান নির্ধারণ করা প্রয়োজন। COBOL এর পঠনযোগ্যতা এবং সহজ সিনট্যাক্সের কারণে এই প্রক্রিয়া ডেভেলপারদের জন্য সহজ এবং দক্ষ।
পিকচার ক্লজ (PIC) এবং তার ব্যবহার
COBOL প্রোগ্রামিং ভাষায় পিকচার ক্লজ (PIC) একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ডেটার ধরন এবং আকার সংজ্ঞায়িত করতে ব্যবহৃত হয়। এটি DATA DIVISION-এ ডেটা ফিল্ডের জন্য ব্যবহৃত হয়, এবং এটি কী ধরনের ডেটা সঞ্চয় করা হবে (যেমন: সংখ্যা, অক্ষর, দশমিক সংখ্যা) তা নির্ধারণ করে। PIC ক্লজের মাধ্যমে আপনি বিভিন্ন ডেটা টাইপ ডিফাইন করতে পারেন এবং ডেটার আকার (লেংথ) কনফিগার করতে পারেন।
১. পিকচার ক্লজের মৌলিক গঠন
পিকচার ক্লজের মধ্যে ডেটা টাইপ এবং আকার উল্লেখ করা হয়। এটি সাধারণত PIC শব্দ দিয়ে শুরু হয়, তারপরে ডেটার ধরন এবং আকারের সাথে সম্পর্কিত কোড থাকে।
সাধারণ গঠন:
PIC <ধরন> <আকার>.উদাহরণ:
PIC 9(5).এখানে, 9(5) নির্দেশ করে যে এটি একটি নিউমেরিক ডেটা টাইপ যা ৫টি ডিজিট ধারণ করতে পারবে।
২. পিকচার ক্লজের বিভিন্ন ধরন
COBOL-এ PIC ক্লজে বিভিন্ন ধরনের ডেটা এবং তাদের আকার নির্দেশ করা হয়। নীচে কিছু সাধারণ PIC ক্লজের ধরন এবং তাদের ব্যবহার বর্ণনা করা হলো:
২.১ নিউমেরিক ডেটা (9)
নিউমেরিক ডেটার জন্য 9 ব্যবহার করা হয়। এটি শুধুমাত্র সংখ্যা (০-৯) ধারণ করে।
PIC 9(5): এটি ৫টি ডিজিট ধারণ করতে পারে, যেমন 12345 বা 00001।
২.২ অক্ষর (A)
অক্ষরের জন্য A ব্যবহার করা হয়। এটি এলফানিউমেরিক (অক্ষর এবং সংখ্যা) স্ট্রিং ধারণ করতে পারে।
PIC A(10): এটি ১০টি অক্ষর ধারণ করতে পারে, যেমন "HelloWorld"।
২.৩ এলফানিউমেরিক (X)
এলফানিউমেরিক ডেটার জন্য X ব্যবহার করা হয়, যা অক্ষর এবং সংখ্যা উভয়ই ধারণ করতে সক্ষম।
PIC X(20): এটি ২০টি অক্ষর ধারণ করতে পারে, যেমন "ABCD1234567890XYZ!"।
২.৪ ডেসিমাল (V)
ডেসিমাল পয়েন্টের জন্য V ব্যবহার করা হয়। এটি সংখ্যার দশমিক স্থানকে নির্দেশ করে।
PIC 9(4)V99: এটি একটি সংখ্যা ধারণ করবে যার মধ্যে ৪টি পূর্ণসংখ্যা এবং ২টি দশমিক স্থান থাকবে, যেমন 1234.56।
২.৫ ডেসিমাল ডেটা (P)
ডেসিমাল ফর্ম্যাটে সংখ্যার জন্য P ব্যবহার করা হয়, যেটি ডেটার আকার সংকুচিত করতে সহায়ক।
PIC 9(5)P: এটি একটি পাঁচ অংকের সংখ্যা ধারণ করবে, কিন্তু এতে কোনও দশমিক স্থান থাকবে না। এটি বিশেষভাবে মেমরি ব্যবহারের জন্য কার্যকরী।
২.৬ সাইনড (S)
সাইনড ডেটা জন্য S ব্যবহার করা হয়। এটি ধনাত্মক এবং ঋণাত্মক মানের জন্য ব্যবহৃত হয়।
PIC S9(4): এটি একটি সাইনড নিউমেরিক ডেটা, যা ৪টি ডিজিট ধারণ করতে পারে, যেমন +1234 বা -1234।
৩. পিকচার ক্লজের উদাহরণ
৩.১ সাধারণ উদাহরণ
01 employee-name PIC X(30).
01 employee-age PIC 99.
01 salary PIC 9(6)V99.এখানে:
- employee-name একটি স্ট্রিং ধারণ করবে যা ৩০টি অক্ষর হতে পারে।
- employee-age একটি সংখ্যা ধারণ করবে যা ২টি ডিজিট ধারণ করবে।
- salary একটি দশমিক সংখ্যা ধারণ করবে, যার মধ্যে ৬টি পূর্ণসংখ্যা এবং ২টি দশমিক স্থান থাকবে।
৩.২ সাইনড ডেটা উদাহরণ
01 account-balance PIC S9(5)V99.এটি একটি সাইনড ডেটা ফিল্ড, যেখানে ৫টি ডিজিট এবং ২টি দশমিক স্থান রয়েছে, যা ঋণাত্মক এবং ধনাত্মক উভয় মান ধারণ করতে সক্ষম।
৩.৩ এলফানিউমেরিক ডেটা উদাহরণ
01 customer-id PIC X(10).এটি একটি স্ট্রিং ফিল্ড যা ১০টি অক্ষর ধারণ করতে পারে, যেমন গ্রাহকের আইডি বা নাম।
৪. পিকচার ক্লজে অন্যান্য বৈশিষ্ট্য
COBOL-এ PIC ক্লজ ব্যবহার করে আপনি ডেটার আকার এবং ধরন নিয়ন্ত্রণ করতে পারেন, যা আপনার প্রোগ্রামে ডেটা সঠিকভাবে পরিচালনা করতে সাহায্য করে। নিম্নলিখিত কিছু অতিরিক্ত বৈশিষ্ট্যও ব্যবহার করা যেতে পারে:
- তিনটি পৃথক ডেটা টাইপ: কোবল প্রোগ্রামে NUMERIC, ALPHABETIC, এবং ALPHANUMERIC ডেটা টাইপ ব্যবহার করা হয়।
- রিডেবল ফর্ম্যাট: COBOL প্রোগ্রামগুলি প্রায়ই ব্যবসায়িক ব্যবহারের জন্য লিখিত হয়, তাই PIC ক্লজের মাধ্যমে ডেটা আকার নির্ধারণের ফলে প্রোগ্রামের পঠনযোগ্যতা বৃদ্ধি পায়।
সারসংক্ষেপ
COBOL-এর PIC ক্লজ একটি অত্যন্ত গুরুত্বপূর্ণ অংশ যা ডেটা টাইপ এবং তার আকার নির্ধারণ করে। এটি আপনাকে বিভিন্ন ধরণের ডেটা যেমন সংখ্যা, অক্ষর, এলফানিউমেরিক এবং দশমিক সংখ্যার জন্য উপযুক্ত ফরম্যাটে ডেটা সংরক্ষণ ও প্রক্রিয়াকরণের সুবিধা দেয়। এটি বড় ব্যবসায়িক এবং প্রশাসনিক সিস্টেমের জন্য একটি অপরিহার্য ফিচার।
COBOL-এ লেভেল নম্বর: 01 থেকে 49 পর্যন্ত এর ব্যবহার
COBOL প্রোগ্রামিং ভাষায় লেভেল নম্বর ডেটা ডেফিনিশন, ডেটা স্ট্রাকচার এবং রেকর্ড ফরম্যাট নির্ধারণে ব্যবহৃত হয়। লেভেল নম্বরগুলি ডেটার কাঠামো এবং এর মধ্যে সম্পর্ককে নির্দেশ করে। COBOL-এ লেভেল নম্বর 01 থেকে 49 পর্যন্ত বিভিন্ন ডেটা স্ট্রাকচারকে চিহ্নিত করতে ব্যবহৃত হয়।
নিচে লেভেল নম্বর 01 থেকে 49 পর্যন্ত ব্যবহারের বিস্তারিত আলোচনা করা হলো:
১. লেভেল নম্বর 01:
লেভেল 01 সবচেয়ে উচ্চ স্তরের ডেটা স্ট্রাকচার। এটি সাধারণত প্রোগ্রামের মূল ডেটা রেকর্ড বা পরিসর হিসেবে ব্যবহৃত হয়। লেভেল 01 ডেটার জন্য একটি স্বাধীন ডেটা ইউনিটের প্রতিনিধিত্ব করে।
ব্যবহার:
- লেভেল 01 সাধারণত রেকর্ডের মূল অংশ হিসেবে ব্যবহৃত হয় এবং এতে একাধিক লেভেল 02, লেভেল 03 ইত্যাদি অন্তর্ভুক্ত থাকতে পারে।
উদাহরণ:
01 EMPLOYEE-RECORD.
05 EMPLOYEE-NAME PIC X(30).
05 EMPLOYEE-AGE PIC 99.এখানে, EMPLOYEE-RECORD একটি রেকর্ড হিসাবে লেভেল 01 এ ডিফাইন করা হয়েছে এবং এর মধ্যে EMPLOYEE-NAME এবং EMPLOYEE-AGE নামের দুটি ডেটা আইটেম অন্তর্ভুক্ত।
২. লেভেল নম্বর 05:
লেভেল 05 প্রধানত লেভেল 01 বা লেভেল 02 এর উপরে অন্তর্ভুক্ত ডেটা আইটেম হিসেবে ব্যবহৃত হয়। এটি ডেটা সেকশনকে আরও বিস্তারিতভাবে বিভক্ত করতে ব্যবহৃত হয়।
ব্যবহার:
- এটি সাধারণত একটি কোম্পলেক্স ডেটা স্ট্রাকচার তৈরির জন্য ব্যবহার করা হয়, যা একাধিক সাব-এন্ট্রি ধারণ করে।
উদাহরণ:
01 EMPLOYEE-RECORD.
05 EMPLOYEE-NAME PIC X(30).
05 EMPLOYEE-AGE PIC 99.
05 EMPLOYEE-SALARY PIC 9(5)V99.এখানে EMPLOYEE-RECORD রেকর্ডে লেভেল 05 এর মধ্যে EMPLOYEE-NAME, EMPLOYEE-AGE, এবং EMPLOYEE-SALARY নামক পৃথক ডেটা আইটেম রয়েছে।
৩. লেভেল নম্বর 10 - 49:
লেভেল 10 থেকে 49 পর্যন্ত সাধারণত নেস্টেড বা সাব-আইটেম গঠনের জন্য ব্যবহৃত হয়। এই লেভেলগুলি লেভেল 01 বা লেভেল 05 এর মধ্যে ডেটা আইটেমের আরও সাব-ক্যাটেগরি বা উপাদান নির্ধারণ করতে ব্যবহৃত হয়। সাধারণভাবে, লেভেল 10 এবং তার উপরে ডেটা আইটেমের আনুষঙ্গিক সেট বা স্ট্রাকচার তৈরি করতে ব্যবহৃত হয়।
ব্যবহার:
- লেভেল 10 থেকে লেভেল 49 এর মধ্যে ছোট এবং সম্বন্ধিত ডেটা আইটেমকে স্ট্রাকচার করা হয়।
- এদের সাহায্যে বড় এবং জটিল ডেটা কাঠামো তৈরি করা হয়।
উদাহরণ:
01 EMPLOYEE-RECORD.
05 EMPLOYEE-NAME PIC X(30).
05 EMPLOYEE-AGE PIC 99.
05 EMPLOYEE-SALARY PIC 9(5)V99.
10 BASIC-SALARY PIC 9(5).
10 BONUS PIC 9(3).এখানে EMPLOYEE-SALARY এর মধ্যে লেভেল 10 এবং তার নিচে BASIC-SALARY এবং BONUS নামে দুটি সাব-আইটেম আছে।
৪. লেভেল নম্বর 49:
লেভেল 49 সাধারণত ছোট পরিসরের ডেটা আইটেম বা অন্যান্য ডেটার অন্তর্ভুক্তির জন্য ব্যবহৃত হয়। এটি COBOL প্রোগ্রামের ছোট আকারের ডেটা উপাদান নির্দেশ করতে ব্যবহৃত হয়।
ব্যবহার:
- লেভেল 49 সাধারণত আংশিক ডেটা ব্যবস্থাপনা, ছোট পরিসরের ডেটার সাথে কাজ করতে ব্যবহৃত হয়।
উদাহরণ:
01 EMPLOYEE-RECORD.
05 EMPLOYEE-NAME PIC X(30).
05 EMPLOYEE-AGE PIC 99.
05 EMPLOYEE-SALARY PIC 9(5)V99.
49 TEMPORARY-FIELD PIC X(10).এখানে TEMPORARY-FIELD নামে একটি ছোট ডেটা আইটেম লেভেল 49 এ অন্তর্ভুক্ত করা হয়েছে।
সারসংক্ষেপ
COBOL প্রোগ্রামে লেভেল নম্বর ডেটা ডেফিনিশন এবং কাঠামোকে সুনির্দিষ্ট করে, যেখানে লেভেল 01 প্রধান ডেটা ইউনিট এবং 05 থেকে 49 পর্যন্ত বিভিন্ন সাব-আইটেম বা সাব-ক্যাটেগরি তৈরি করতে ব্যবহৃত হয়। লেভেল নম্বর ব্যবহারের মাধ্যমে কোডের স্থিতিশীলতা এবং পরিষ্কারতা নিশ্চিত করা যায়, যা COBOL প্রোগ্রামের জন্য অত্যন্ত গুরুত্বপূর্ণ।
Read more