COBOL প্রোগ্রামের মৌলিক কাঠামো (Basic Structure of a COBOL Program)
COBOL (Common Business-Oriented Language) প্রোগ্রামের কাঠামো বেশ কাঠিন্যপূর্ণ এবং স্ট্রাকচারড। COBOL প্রোগ্রামটি সাধারণত কিছু নির্দিষ্ট বিভাগে বিভক্ত থাকে, এবং প্রতিটি বিভাগের একটি নির্দিষ্ট কাজ থাকে। COBOL প্রোগ্রামের মৌলিক কাঠামোতে কিছু প্রধান বিভাগ থাকে, যেমন Identification Division, Environment Division, Data Division, এবং Procedure Division।
COBOL প্রোগ্রামের প্রধান বিভাগসমূহ
- IDENTIFICATION DIVISION
- ENVIRONMENT DIVISION
- DATA DIVISION
- PROCEDURE DIVISION
১. IDENTIFICATION DIVISION
এটি COBOL প্রোগ্রামের প্রথম বিভাগ এবং এটি প্রোগ্রামের মৌলিক তথ্য প্রদান করে, যেমন প্রোগ্রামের নাম, লেখক, এবং অন্যান্য মেটা তথ্য। এটি মূলত প্রোগ্রামের পরিচিতি প্রদান করে।
উদাহরণ:
IDENTIFICATION DIVISION.
PROGRAM-ID. HelloWorld.
AUTHOR. John Doe.- PROGRAM-ID: প্রোগ্রামের নাম নির্ধারণ করে।
- AUTHOR: লেখক বা ডেভেলপার এর নাম।
২. ENVIRONMENT DIVISION
এই বিভাগটি প্রোগ্রামের রান করার পরিবেশ সংক্রান্ত তথ্য ধারণ করে। এতে কম্পিউটার বা হার্ডওয়্যারের সাথে প্রোগ্রামের সম্পর্ক এবং আউটপুট ডিভাইস বা ফাইল সিস্টেম উল্লেখ করা হয়। এই বিভাগটি প্রোগ্রামের ইনপুট এবং আউটপুট ফাইলগুলোর সাথে সম্পর্ক স্থাপন করে।
উদাহরণ:
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT inputFile ASSIGN TO 'data.txt'.- INPUT-OUTPUT SECTION: ইনপুট এবং আউটপুট ফাইল বা ডিভাইসের সংজ্ঞা দেয়।
- FILE-CONTROL: ফাইল ব্যবস্থাপনা নির্ধারণ করে।
৩. DATA DIVISION
এই বিভাগটি প্রোগ্রামে ব্যবহৃত সমস্ত ডেটা এবং তাদের ডেটা টাইপ এবং কাঠামো সংজ্ঞায়িত করে। এটি মূলত প্রোগ্রামের ভেরিয়েবল এবং ফাইলের জন্য ডেটা স্ট্রাকচার নির্ধারণ করে।
উদাহরণ:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-NAME PIC X(20).
01 USER-AGE PIC 99.- WORKING-STORAGE SECTION: এখানে ভেরিয়েবল এবং তাদের ডেটা টাইপ নির্ধারণ করা হয়।
- PIC (Picture): COBOL ভাষায় ডেটা টাইপ নির্ধারণের জন্য ব্যবহার করা হয়। যেমন
PIC X(20)মানে এটি একটি ২০ ক্যারেক্টারের স্ট্রিং, এবংPIC 99মানে এটি দুটি ডিজিটের একটি সংখ্যা।
৪. PROCEDURE DIVISION
এটি COBOL প্রোগ্রামের মূল অংশ যেখানে সমস্ত লজিক এবং কার্যক্রম (অপারেশন) নির্দেশ করা হয়। এই বিভাগে সমস্ত প্রক্রিয়া, অ্যালগরিদম এবং প্রোগ্রাম চলানোর সময় কীভাবে ডেটা প্রক্রিয়া হবে তা সংজ্ঞায়িত করা হয়।
উদাহরণ:
PROCEDURE DIVISION.
DISPLAY 'Enter your name: '.
ACCEPT USER-NAME.
DISPLAY 'Enter your age: '.
ACCEPT USER-AGE.
DISPLAY 'Hello, ' USER-NAME ', you are ' USER-AGE ' years old.'.
STOP RUN.- DISPLAY: স্ক্রীনে তথ্য প্রদর্শন করতে ব্যবহৃত হয়।
- ACCEPT: ব্যবহারকারীর ইনপুট গ্রহণ করতে ব্যবহৃত হয়।
- STOP RUN: প্রোগ্রামটি শেষ করতে ব্যবহৃত হয়।
COBOL প্রোগ্রামের মৌলিক কাঠামোর সারাংশ
COBOL প্রোগ্রামের কাঠামো একটি নির্দিষ্ট এবং স্ট্রাকচারড ধাঁচে সাজানো থাকে। প্রতিটি বিভাগ একটি নির্দিষ্ট কাজ সম্পাদন করে এবং কোডের পাঠযোগ্যতা ও মেইনটেনেন্স সহজতর করে। প্রোগ্রামের প্রতিটি অংশের উদ্দেশ্য স্পষ্টভাবে নির্ধারণ করা হয়েছে, যা কোডের কার্যকারিতা এবং স্থিতিশীলতা নিশ্চিত করে।
- IDENTIFICATION DIVISION: প্রোগ্রামের মৌলিক পরিচিতি।
- ENVIRONMENT DIVISION: প্রোগ্রামের রান করার পরিবেশ।
- DATA DIVISION: প্রোগ্রামে ব্যবহৃত সমস্ত ডেটা এবং তাদের কাঠামো।
- PROCEDURE DIVISION: কোডের কার্যকরী অংশ যেখানে ডেটা প্রক্রিয়াকরণ করা হয়।
এই কাঠামোটি COBOL প্রোগ্রামিং ভাষার শক্তিশালী এবং কাঠিন্যপূর্ণ বৈশিষ্ট্যগুলির মধ্যে একটি, যা ডেভেলপারদের জন্য কোডিং এবং ডিবাগিং সহজ করে।
COBOL প্রোগ্রামের প্রধান বিভাগসমূহ: Identification Division, Environment Division, Data Division, Procedure Division
COBOL প্রোগ্রাম সাধারণত চারটি প্রধান বিভাগের মধ্যে ভাগ করা হয়, যা প্রতিটি কোডের একটি নির্দিষ্ট দায়িত্ব বা কার্যকারিতা নির্ধারণ করে। এই চারটি বিভাগের মাধ্যমে প্রোগ্রামটি সঠিকভাবে কাজ করতে পারে এবং অন্যান্য সিস্টেমের সাথে সহজে যোগাযোগ করতে পারে। নিচে প্রতিটি বিভাগের কার্যাবলী বিস্তারিতভাবে আলোচনা করা হয়েছে।
১. Identification Division
Identification Division হল COBOL প্রোগ্রামের প্রথম বিভাগ, যা প্রোগ্রামের মৌলিক তথ্য এবং প্রোগ্রামের জন্য মেটাডেটা ধারণ করে। এখানে প্রোগ্রামের নাম, লেখক, তারিখ এবং অন্যান্য সাধারণ তথ্য উল্লেখ করা হয়। এটি কোডের কোনো কার্যকরী অংশ না হলেও, এটি একটি গুরুত্বপূর্ণ বিভাগ যা প্রোগ্রামকে চিহ্নিত করতে সাহায্য করে।
উদাহরণ:
IDENTIFICATION DIVISION.
PROGRAM-ID. HelloWorld.
AUTHOR. Azizur.
DATE-WRITTEN. 12-11-2024.- PROGRAM-ID: এখানে প্রোগ্রামের নাম উল্লেখ করা হয়।
- AUTHOR: প্রোগ্রামটি যিনি লিখেছেন তার নাম।
- DATE-WRITTEN: প্রোগ্রামটি কবে লেখা হয়েছে তা এখানে উল্লেখ করা হয়।
২. Environment Division
Environment Division প্রোগ্রামের চালানোর পরিবেশ সংক্রান্ত তথ্য ধারণ করে। এই বিভাগে, মূলত ডিভাইস এবং সিস্টেম রিসোর্সের সাথে সম্পর্কিত বিবরণ থাকে, যেমন ইনপুট এবং আউটপুট ফাইলের নাম এবং সংযোগের পদ্ধতি। এটি আপনার প্রোগ্রামকে নির্দিষ্ট পরিবেশে চালানোর জন্য প্রয়োজনীয় সব কিছু নির্দেশ করে।
উদাহরণ:
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT inputFile ASSIGN TO 'datafile.dat'
ORGANIZATION IS LINE SEQUENTIAL.- INPUT-OUTPUT SECTION: এখানে ইনপুট এবং আউটপুট ফাইলের বিবরণ থাকে।
- FILE-CONTROL: এটি ফাইলের সঙ্গে যোগাযোগ স্থাপন করে।
৩. Data Division
Data Division হল COBOL প্রোগ্রামের সবচেয়ে গুরুত্বপূর্ণ বিভাগ, যেখানে সমস্ত ডেটা এবং তার কাঠামো সংজ্ঞায়িত করা হয়। এই বিভাগে ডেটার ধরন, তার আকার, এবং অন্যান্য বিশদ উল্লেখ করা হয়। এটি ডেটাবেস ম্যানিপুলেশন এবং ভেরিয়েবল ডেফিনিশনের জন্য অত্যন্ত গুরুত্বপূর্ণ।
- Working-Storage Section: এটি মূলত সাময়িকভাবে ডেটা সংরক্ষণ করতে ব্যবহৃত হয়।
- File Section: এখানে ফাইলের জন্য ডেটা কাঠামো সংজ্ঞায়িত করা হয়।
উদাহরণ:
DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-NAME PIC X(20).
01 USER-AGE PIC 99.- USER-NAME: এখানে ২০ অক্ষরের একটি নামের জন্য স্টোরেজ সংরক্ষিত হয়েছে।
- USER-AGE: এখানে দুটি ডিজিটের জন্য স্টোরেজ সংরক্ষিত হয়েছে।
৪. Procedure Division
Procedure Division হল COBOL প্রোগ্রামের কার্যকরী অংশ, যেখানে প্রোগ্রামের লজিক এবং ডেটা ম্যানিপুলেশন থাকে। এই বিভাগে কোডের সেই অংশ থাকে যা মূলত প্রোগ্রামের বাস্তব কার্যকলাপ সম্পাদন করে। এটি ডেটা গ্রহণ, প্রক্রিয়া এবং আউটপুট তৈরির জন্য ব্যবহৃত হয়। এতে কোডিং স্টেটমেন্ট এবং কন্ট্রোল স্টেটমেন্ট থাকে, যেমন লুপ, কন্ডিশনাল স্টেটমেন্ট ইত্যাদি।
উদাহরণ:
PROCEDURE DIVISION.
DISPLAY 'Enter your name: '.
ACCEPT USER-NAME.
DISPLAY 'Enter your age: '.
ACCEPT USER-AGE.
DISPLAY 'Hello, ' USER-NAME ', you are ' USER-AGE ' years old.'.
STOP RUN.- DISPLAY: স্ক্রীনে মেসেজ প্রদর্শন করার জন্য ব্যবহৃত হয়।
- ACCEPT: ব্যবহারকারীর ইনপুট গ্রহণ করার জন্য ব্যবহৃত হয়।
- STOP RUN: প্রোগ্রাম শেষ করার নির্দেশ।
সারসংক্ষেপ
COBOL প্রোগ্রাম চারটি প্রধান বিভাগের মধ্যে বিভক্ত:
- Identification Division: প্রোগ্রামের মৌলিক তথ্য ধারণ করে।
- Environment Division: প্রোগ্রামের চালানোর পরিবেশ সম্পর্কিত তথ্য ধারণ করে।
- Data Division: সমস্ত ডেটা এবং তার কাঠামো সংজ্ঞায়িত করে।
- Procedure Division: প্রোগ্রামের কার্যকরী অংশ, যেখানে ডেটা প্রক্রিয়া এবং কার্যকলাপ সম্পাদিত হয়।
এই চারটি বিভাগের মাধ্যমে COBOL প্রোগ্রামটি সঠিকভাবে কাজ করতে পারে এবং প্রয়োজনীয় আউটপুট সরবরাহ করতে সক্ষম হয়।
COBOL সিনট্যাক্স এবং সাধারণ নিয়ম
COBOL (Common Business-Oriented Language) একটি উচ্চ-স্তরের প্রোগ্রামিং ভাষা যা প্রধানত ব্যবসায়িক অ্যাপ্লিকেশন, ব্যাংকিং এবং ডেটা প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়। COBOL এর সিনট্যাক্স সাধারণত পরিষ্কার, পাঠযোগ্য এবং ইংরেজি ভাষার মতো। এটি কোডের পঠনযোগ্যতা এবং সহজ বোধগম্যতার জন্য পরিচিত। COBOL এর কিছু মৌলিক সিনট্যাক্স এবং সাধারণ নিয়ম নিচে আলোচনা করা হলো।
COBOL সিনট্যাক্সের মূল নিয়ম
- প্রোগ্রাম সেকশন:
COBOL প্রোগ্রামটি সাধারণত কিছু নির্দিষ্ট সেকশন দিয়ে গঠিত হয়। একটি প্রোগ্রাম নিম্নলিখিত সেকশনে বিভক্ত:- Identification Division: এখানে প্রোগ্রামের মৌলিক পরিচিতি উল্লেখ করা হয় (যেমন প্রোগ্রামের নাম, লেখক, এবং অন্যান্য তথ্য)।
- Environment Division: এটি প্রোগ্রামের পরিবেশ এবং ইনপুট/আউটপুট সিস্টেমের বিবরণ দেয়।
- Data Division: এখানে ব্যবহৃত ডেটা ফাইল এবং ডেটার ধরন সংজ্ঞায়িত করা হয়।
- Procedure Division: এখানে মূল প্রোগ্রামিং লজিক এবং অপারেশনসমূহ থাকে।
- COBOL এর পঠনযোগ্যতা:
- COBOL এর সিনট্যাক্স অনেকটা ইংরেজি ভাষার মতো, যেমন **DISPLAY "Hello, World!"**। এতে করে কোডের পঠনযোগ্যতা সহজ হয়।
- COBOL কোডের মধ্যে সাধারণভাবে শব্দের মধ্যে স্পেস দেওয়া হয় (যেমন
DISPLAY 'Hello, World!') এবং প্রতিটি কমান্ডের শেষে একটি সেমিকোলন থাকা বাধ্যতামূলক নয়, তবে পঠনযোগ্যতা বাড়ানোর জন্য কিছু ডেভেলপার সেমিকোলন ব্যবহার করতে পারেন।
COBOL এর সিনট্যাক্সের উদাহরণ
IDENTIFICATION DIVISION.
PROGRAM-ID. HelloWorld.
AUTHOR. Azizur.
PROCEDURE DIVISION.
DISPLAY 'Hello, World!'.
STOP RUN.এই কোডের ব্যাখ্যা:
- IDENTIFICATION DIVISION: প্রোগ্রামের নাম এবং লেখকের তথ্য সংজ্ঞায়িত করা হয়েছে।
- PROCEDURE DIVISION: এখানে প্রোগ্রামের কার্যকর অংশ থাকে।
DISPLAYকমান্ডটি "Hello, World!" স্ক্রীনে দেখাবে এবংSTOP RUNপ্রোগ্রামটি বন্ধ করে দেবে।
COBOL সিনট্যাক্সের সাধারণ নিয়ম
- কেস সেনসিটিভিটি:
- COBOL ভাষাটি কেস সেনসিটিভ নয়, অর্থাৎ ক্যাপিটাল এবং ছোট হাতের অক্ষরের মধ্যে পার্থক্য নেই। যেমন,
DISPLAYএবংdisplayসমানভাবে কাজ করবে।
- COBOL ভাষাটি কেস সেনসিটিভ নয়, অর্থাৎ ক্যাপিটাল এবং ছোট হাতের অক্ষরের মধ্যে পার্থক্য নেই। যেমন,
- ব্লক এবং ইনডেন্টেশন:
- COBOL ভাষায় ব্লকগুলি (যেমন,
PROCEDURE DIVISION) স্পেস বা ট্যাবের মাধ্যমে সঠিকভাবে ইনডেন্ট করা হয়, যদিও এটি বাধ্যতামূলক নয়। তবে, সঠিক ইনডেন্টেশন কোডের পঠনযোগ্যতা বাড়ায় এবং কমপ্লেক্স কোড আরও সহজে বোঝা যায়।
- COBOL ভাষায় ব্লকগুলি (যেমন,
- নামকরণ নিয়ম:
- COBOL-এ নামকরণের ক্ষেত্রে একটি শব্দের মধ্যে স্পেস ব্যবহার করা যাবে না। এজন্য
_(আন্ডারস্কোর) বা ক্যামেল কেস ব্যবহার করা হয়। - উদাহরণ:
CUSTOMER_NAME,BANK_ACCOUNT.
- COBOL-এ নামকরণের ক্ষেত্রে একটি শব্দের মধ্যে স্পেস ব্যবহার করা যাবে না। এজন্য
- কোড লাইনের দৈর্ঘ্য:
- COBOL এর পুরনো সংস্করণে একটি কোড লাইনের দৈর্ঘ্য ছিল ৮০ অক্ষর। তবে, আধুনিক COBOL সংস্করণে এটি কিছুটা বৃদ্ধি পেয়েছে, তবে এখনও অনেক ক্ষেত্রে ৮০ অক্ষরের সীমাবদ্ধতা বজায় থাকে।
- পরিচিতি (Comments):
- COBOL-এ মন্তব্য বা কমেন্ট লিখতে
*চিহ্ন ব্যবহার করা হয়। মন্তব্যগুলি কোডের ব্যাখ্যা দেওয়ার জন্য ব্যবহৃত হয় এবং সেগুলি কম্পাইলার দ্বারা উপেক্ষিত হয়। উদাহরণ:
* এটি একটি মন্তব্য
- COBOL-এ মন্তব্য বা কমেন্ট লিখতে
ডেটা টাইপস:
COBOL-এ ব্যবহৃত ডেটা টাইপগুলো নিম্নরূপ:- PIC X: অক্ষর (যেমন স্ট্রিং)।
- PIC 9: সংখ্যা (যেমন ইন্টিজার)।
- PIC S9: সাইনড সংখ্যা (অথবা নেতিবাচক সংখ্যা)।
উদাহরণ:
01 CUSTOMER-NAME PIC X(20). 01 ACCOUNT-BALANCE PIC 9(5)V99.
COBOL এর অন্যান্য গুরুত্বপূর্ণ সিনট্যাক্স উপাদান
পর্যায় (Paragraph):
COBOL-এ কোড একটি পর্যায় (Paragraph) বা অনুচ্ছেদ হিসেবে লেখা হয়, যা একটি নির্দিষ্ট কাজ সম্পাদন করে। প্রতি অনুচ্ছেদের শেষে .` (পিরিয়ড) থাকে।উদাহরণ:
DISPLAY-PARAGRAPH. DISPLAY "This is a paragraph in COBOL.".- বিভাগ (Section):
একটি বিভাগ (Section) একাধিক পর্যায় (Paragraph) এর সমষ্টি। সাধারণত, PROCEDURE DIVISION এবং DATA DIVISION এর মধ্যে বিভাজন থাকতে পারে। তথ্য শ্রেণী (Data Class):
COBOL ডেটাকে বিভিন্ন শ্রেণীতে ভাগ করতে পারে, যেমন ALPHANUMERIC, NUMERIC, এবং STRING।উদাহরণ:
01 CUSTOMER-NAME PIC X(20). 01 CUSTOMER-AGE PIC 99.
সারসংক্ষেপ
COBOL সিনট্যাক্স সাধারন এবং পঠনযোগ্য, যা এর ব্যবহারকারীদের সহজে প্রোগ্রাম লেখার এবং বুঝতে সাহায্য করে। কোডের গঠন, ডেটা টাইপ, নামকরণ, এবং মন্তব্য লেখার নিয়মগুলি COBOL প্রোগ্রামিংয়ের মৌলিক অংশ। COBOL প্রোগ্রাম লেখার সময় সিনট্যাক্সের নিয়ম অনুসরণ করা অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি কোডের কার্যকারিতা এবং সঠিকতার সাথে সরাসরি সম্পর্কিত।
COBOL এ কমেন্টিং এবং লেআউট
COBOL ভাষায় কমেন্টিং এবং প্রোগ্রামের লেআউট গুরুত্বপূর্ণ ভূমিকা পালন করে, কারণ এটি কোডের পাঠযোগ্যতা এবং বুঝতে সুবিধা সৃষ্টি করে। COBOL প্রোগ্রামগুলি সাধারণত বড় আকারের এবং দীর্ঘমেয়াদী প্রকল্পগুলির জন্য ব্যবহৃত হয়, তাই ভালো কমেন্টিং এবং পরিষ্কার লেআউট থাকা প্রয়োজন।
১. COBOL এ কমেন্টিং
COBOL এ কমেন্ট লিখতে * বা REM কীওয়ার্ড ব্যবহার করা হয়। কমেন্টগুলি কোডের ভিতরে নথিভুক্ত করা হয়, কিন্তু কম্পাইলার সেগুলি উপেক্ষা করে, অর্থাৎ এগুলি শুধুমাত্র ডেভেলপারদের জন্য থাকে।
১.১ Single-line কমেন্ট
COBOL-এ এক লাইনের কমেন্ট লিখতে * চিহ্ন ব্যবহার করা হয়।
* This is a single-line commentএছাড়া, REM কীওয়ার্ড দিয়েও এক লাইনের কমেন্ট লেখা যেতে পারে:
REM This is another single-line comment১.২ Multi-line কমেন্ট
COBOL-এ একাধিক লাইনে কমেন্ট লেখার জন্য প্রতি লাইনে * অথবা REM ব্যবহার করা যেতে পারে।
* This is a multi-line comment
* that spans across multiple lines
* for better understanding.অথবা
REM This is a multi-line comment
REM that spans across multiple lines
REM for better understanding.এছাড়া, বড় আকারের মন্তব্যের জন্য, কোনো নির্দিষ্ট মাল্টি-লাইনের কমেন্ট ব্লক স্টাইল নেই, তবে একাধিক * বা REM ব্যবহার করা হয়।
১.৩ Inline কমেন্ট
একটি লাইনের শেষে কমেন্ট যুক্ত করতে * বা REM ব্যবহার করা যেতে পারে:
DISPLAY 'Hello, World!' * This will display a message২. COBOL প্রোগ্রামের লেআউট
COBOL প্রোগ্রামের লেআউট প্রোগ্রামের কাঠামো এবং কোডের পঠনযোগ্যতা নিশ্চিত করতে গুরুত্বপূর্ণ। COBOL প্রোগ্রামটি সাধারণত একটি নির্দিষ্ট স্টাইল অনুসরণ করে।
২.১ COBOL কোডের কলামিং নিয়ম
COBOL ভাষায় সাধারণত চারটি সেকশন থাকে:
- Column 1–6: সেক্টর কলাম — সাধারণত প্রোগ্রাম কোডের অংশে নয়, তবে প্রয়োজনে এটি কম্পাইলারের নির্দেশনাতে ব্যবহৃত হয়।
- Column 7: এটি কমেন্ট ও নির্দেশনাসংক্রান্ত অংশের জন্য ব্যবহৃত হয়। এখানে যদি
*বাREMচিহ্ন থাকে, তবে এটি কমেন্ট হিসেবে গণ্য হবে। - Column 8–72: এই কলামগুলি কোডের জন্য ব্যবহৃত হয়। এটি কোড লেখার মূল অংশ।
- Column 73–80: এই অংশটি ঐতিহ্যগতভাবে কোডের কিছু অতিরিক্ত তথ্য বা নোট সংরক্ষণ করার জন্য ব্যবহৃত হয়, যদিও আধুনিক COBOL সিস্টেমে এটি আর তেমন গুরুত্বপূর্ণ নয়।
২.২ বিভিন্ন DIVISION এর লেআউট
COBOL প্রোগ্রামটি সাধারণত বিভিন্ন "DIVISION" এ বিভক্ত থাকে, প্রতিটি DIVISION একটি নির্দিষ্ট কাজের জন্য ব্যবহৃত হয়। প্রধান DIVISION গুলি হল:
- IDENTIFICATION DIVISION: প্রোগ্রামের মৌলিক তথ্য যেমন নাম, লেখক ইত্যাদি।
- ENVIRONMENT DIVISION: সিস্টেম সম্পর্কিত তথ্য এবং প্রোগ্রামের পরিবেশ।
- DATA DIVISION: ডেটা সম্পর্কিত সকল নির্ধারণ এবং তথ্য।
- PROCEDURE DIVISION: প্রোগ্রামের কার্যকর অংশ যেখানে কোডের লজিক থাকে।
প্রতিটি DIVISION আলাদা আলাদা সেকশনে রাখা উচিত এবং এতে পরিষ্কারভাবে কোডের বিভিন্ন অংশ বিভক্ত থাকবে।
২.৩ Indentation এবং স্পেস ব্যবহার
COBOL প্রোগ্রামে ইনডেন্টেশন (indentation) ব্যবহার করা হয় কোডের ব্লকগুলিকে পরিষ্কারভাবে আলাদা করতে। এতে কোড পড়তে সুবিধা হয় এবং লজিক বুঝতে সহায়ক হয়।
উদাহরণ:
PROCEDURE DIVISION.
DISPLAY 'Hello, World!' * Display message
STOP RUN. * End the programএখানে, কোড ব্লকগুলিকে ইনডেন্ট করে আলাদা করা হয়েছে, যা কোডের পঠনযোগ্যতা বৃদ্ধি করে।
সারসংক্ষেপ
COBOL প্রোগ্রাম লেখার সময় সঠিকভাবে কমেন্টিং এবং কোডের লেআউট বজায় রাখা খুবই গুরুত্বপূর্ণ। এটি প্রোগ্রামের পঠনযোগ্যতা এবং মেইনটেন্যান্স সহজ করে তোলে। COBOL প্রোগ্রামে কমেন্ট এবং লেআউট ব্যবহার করার মাধ্যমে কোড বুঝতে এবং ডিবাগ করতে সহজ হয়, যা বড় প্রোগ্রামিং প্রকল্পগুলির জন্য অপরিহার্য।
COBOL প্রোগ্রামের উদাহরণ
COBOL (Common Business-Oriented Language) ভাষাটি সাধারণত ব্যবসায়িক, ফাইনান্সিয়াল, এবং সরকারি অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। এখানে একটি সহজ COBOL প্রোগ্রামের উদাহরণ দেয়া হলো, যা ব্যবহারকারীর নাম এবং বয়স ইনপুট নিয়ে তা প্রদর্শন করবে।
উদাহরণ ১: "Hello, World!" প্রোগ্রাম
এই প্রোগ্রামটি শুধু "Hello, World!" আউটপুট করবে, যা COBOL-এর একটি সাধারণ উদাহরণ।
IDENTIFICATION DIVISION.
PROGRAM-ID. HelloWorld.
AUTHOR. Azizur.
PROCEDURE DIVISION.
DISPLAY 'Hello, World!'.
STOP RUN.ব্যাখ্যা:
- IDENTIFICATION DIVISION: প্রোগ্রামের পরিচিতি (নাম, লেখক ইত্যাদি) উল্লেখ করা হয়।
- PROGRAM-ID: প্রোগ্রামের নাম নির্ধারণ করা হয়।
- PROCEDURE DIVISION: এখানে কোডের কার্যকর অংশ থাকে, যেখানে আউটপুট প্রদর্শন করা হয়।
- DISPLAY: এটি আউটপুট দেখানোর জন্য ব্যবহৃত হয়।
- STOP RUN: প্রোগ্রাম শেষ হওয়ার নির্দেশনা।
উদাহরণ ২: ব্যবহারকারীর নাম এবং বয়স ইনপুট নেওয়া
এটি একটি COBOL প্রোগ্রাম যেখানে ব্যবহারকারীর নাম এবং বয়স ইনপুট নেয়া হবে এবং পরে তা প্রদর্শন করা হবে।
IDENTIFICATION DIVISION.
PROGRAM-ID. UserInfo.
AUTHOR. Azizur.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-NAME PIC X(20).
01 USER-AGE PIC 99.
PROCEDURE DIVISION.
DISPLAY 'Enter your name: '.
ACCEPT USER-NAME.
DISPLAY 'Enter your age: '.
ACCEPT USER-AGE.
DISPLAY 'Hello, ' USER-NAME ', you are ' USER-AGE ' years old.'.
STOP RUN.ব্যাখ্যা:
- DATA DIVISION: এখানে প্রোগ্রামে ব্যবহৃত ডেটা এবং তাদের ধরন নির্ধারণ করা হয়।
- USER-NAME একটি ২০ ক্যারেক্টারের স্ট্রিং, যা ব্যবহারকারীর নাম ধারণ করবে।
- USER-AGE একটি ২ ডিজিটের সংখ্যা, যা ব্যবহারকারীর বয়স ধারণ করবে।
- ACCEPT: এটি ব্যবহারকারীর ইনপুট গ্রহণ করতে ব্যবহৃত হয়।
- DISPLAY: এটি ইনপুটকৃত ডেটা আউটপুট করার জন্য ব্যবহৃত হয়।
উদাহরণ ৩: দুটি সংখ্যার যোগফল
এটি একটি সহজ COBOL প্রোগ্রাম যা দুটি সংখ্যার যোগফল নির্ণয় করবে।
IDENTIFICATION DIVISION.
PROGRAM-ID. AddNumbers.
AUTHOR. Azizur.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUM1 PIC 9(3).
01 NUM2 PIC 9(3).
01 SUM PIC 9(3).
PROCEDURE DIVISION.
DISPLAY 'Enter the first number: '.
ACCEPT NUM1.
DISPLAY 'Enter the second number: '.
ACCEPT NUM2.
ADD NUM1 TO NUM2 GIVING SUM.
DISPLAY 'The sum is: ' SUM.
STOP RUN.ব্যাখ্যা:
- NUM1 এবং NUM2 দুটি সংখ্যা ধারণ করবে, যার টাইপ PIC 9(3) (৩ ডিজিটের সংখ্যা)।
- SUM হল যোগফল, যা NUM1 এবং NUM2 যোগ করার পরে রাখা হবে।
- ADD: এটি দুটি সংখ্যাকে যোগ করার জন্য ব্যবহৃত হয়।
- GIVING: এটি অপারেশনের ফলাফল সংরক্ষণ করতে ব্যবহৃত হয়।
সারসংক্ষেপ
এই উদাহরণগুলির মাধ্যমে আপনি COBOL ভাষার মৌলিক কাঠামো এবং সিনট্যাক্স বুঝতে পারবেন। COBOL ভাষার প্রধান সুবিধা হলো এর পঠনযোগ্যতা এবং ব্যবসায়িক অ্যাপ্লিকেশনগুলির জন্য কার্যকরী ডেটা প্রক্রিয়াকরণ ক্ষমতা।
Read more