COBOL-এ Nested IF এবং Complex Conditions
COBOL একটি প্রাচীন প্রোগ্রামিং ভাষা হলেও, এটি শক্তিশালী IF শর্তাবলী এবং Complex Conditions সমর্থন করে। এগুলি কোডের মধ্যে শর্ত অনুযায়ী বিভিন্ন অপারেশন বাস্তবায়ন করতে ব্যবহৃত হয়। Nested IF এবং Complex Conditions কোডের শর্তাধীন লজিক আরও শক্তিশালী এবং নমনীয় করে তোলে।
১. Nested IF (নেস্টেড IF)
Nested IF হলো একাধিক IF স্টেটমেন্টকে ভিতরে ভিতরে একে অপরের মধ্যে ব্যবহার করা। অর্থাৎ, একটি IF স্টেটমেন্টের ভিতরে অন্য IF স্টেটমেন্ট ব্যবহার করা হয়। এটি এমন পরিস্থিতিতে ব্যবহার করা হয় যেখানে একাধিক শর্তের উপর ভিত্তি করে বিভিন্ন সিদ্ধান্ত নিতে হয়।
Nested IF উদাহরণ:
01 AGE PIC 99.
01 GENDER PIC X.
01 ELIGIBLE PIC X(5).
PROCEDURE DIVISION.
ACCEPT AGE.
ACCEPT GENDER.
IF AGE >= 18
IF GENDER = 'M'
MOVE 'Eligible' TO ELIGIBLE
ELSE
MOVE 'Not Eligible' TO ELIGIBLE
END-IF
ELSE
MOVE 'Underage' TO ELIGIBLE
END-IF
DISPLAY ELIGIBLE.
STOP RUN.ব্যাখ্যা:
- প্রথমে
AGEএবংGENDERইনপুট নেওয়া হচ্ছে। - প্রথম
IFচেক করছে যেAGE১৮ এর বেশি কিনা। যদি হ্যাঁ হয়, তবে ভিতরেরIFচেক করে যে লিঙ্গ পুরুষ (M) কিনা। যদি পুরুষ হয়, তাহলে 'Eligible' ফলাফল দেওয়া হবে, অন্যথায় 'Not Eligible' হবে। - যদি
AGE১৮ এর কম থাকে, তাহলে 'Underage' ফলাফল দেওয়া হবে।
এটি একটি সাধারণ উদাহরণ, যেখানে Nested IF ব্যবহার করে একাধিক শর্ত পরীক্ষা করা হয়েছে।
২. Complex Conditions (জটিল শর্ত)
COBOL-এ Complex Conditions ব্যবহার করা হয় একাধিক শর্ত একত্রিত করে একটি শর্ত তৈরি করার জন্য। একাধিক শর্তের মধ্যে AND, OR, এবং NOT অপারেটর ব্যবহার করে জটিল শর্ত তৈরি করা যায়। COBOL অনেক শর্ত একসাথে পরীক্ষা করতে পারে, যেমন IF AGE > 18 AND GENDER = 'M' অথবা **IF NOT AGE < 18**।
Complex Conditions উদাহরণ:
01 AGE PIC 99.
01 GENDER PIC X.
01 STATUS PIC X(10).
PROCEDURE DIVISION.
ACCEPT AGE.
ACCEPT GENDER.
IF AGE > 18 AND GENDER = 'M'
MOVE 'Eligible for Military' TO STATUS
ELSE IF AGE > 18 AND GENDER = 'F'
MOVE 'Eligible for Civilian' TO STATUS
ELSE
MOVE 'Not Eligible' TO STATUS
END-IF
DISPLAY STATUS.
STOP RUN.ব্যাখ্যা:
- এখানে
IFস্টেটমেন্টে দুটি শর্ত একসাথে AND অপারেটরের মাধ্যমে যোগ করা হয়েছে। - প্রথম শর্তটি পরীক্ষা করছে যদি
AGE১৮ এর বেশি হয় এবংGENDER'M' হয়, তাহলে 'Eligible for Military' স্ট্যাটাস দেওয়া হবে। - অন্যথায়, যদি
AGE১৮ এর বেশি হয় এবংGENDER'F' হয়, তবে 'Eligible for Civilian' স্ট্যাটাস দেওয়া হবে। - যদি কোন শর্ত পূর্ণ না হয়, তবে 'Not Eligible' স্ট্যাটাস সেট হবে।
এটি একটি Complex Condition যেখানে একাধিক শর্ত একত্রিত করে সিদ্ধান্ত নেওয়া হয়েছে।
৩. AND, OR, এবং NOT অপারেটর ব্যবহার
COBOL-এ AND, OR, এবং NOT অপারেটর ব্যবহার করে একাধিক শর্ত পরীক্ষা করা যায়। এগুলি শর্তের মধ্যে যৌক্তিক সম্পর্ক স্থাপন করতে ব্যবহৃত হয়।
উদাহরণ:
01 AGE PIC 99.
01 SALARY PIC 9(5).
01 ELIGIBLE PIC X(10).
PROCEDURE DIVISION.
ACCEPT AGE.
ACCEPT SALARY.
IF AGE > 18 AND SALARY >= 5000
MOVE 'Eligible' TO ELIGIBLE
ELSE IF AGE < 18 OR SALARY < 5000
MOVE 'Not Eligible' TO ELIGIBLE
ELSE
MOVE 'Pending' TO ELIGIBLE
END-IF
DISPLAY ELIGIBLE.
STOP RUN.ব্যাখ্যা:
- এখানে
ANDব্যবহার করা হয়েছে যেAGE১৮ এর বেশি এবংSALARY৫,০০০ এর বেশি হতে হবে, তারপর 'Eligible' হবে। ORব্যবহার করা হয়েছে, যেখানে একটিই শর্ত পূর্ণ হলে 'Not Eligible' হবে।
৪. IF-এর THEN, ELSE এবং ELSE IF ব্যবহার
COBOL-এ IF শর্তের সাথে THEN, ELSE, এবং ELSE IF ব্যবহার করা হয়। এটি কোডের কার্যকারিতা এবং ফ্লো নিয়ন্ত্রণে সহায়ক।
THEN: শর্ত যদি পূর্ণ হয়, তবে এরপরের কোড এক্সিকিউট হবে।ELSE: যদি পূর্বের শর্তটি পূর্ণ না হয়, তবে এই অংশে থাকা কোড এক্সিকিউট হবে।ELSE IF: যদি একটি শর্ত পূর্ণ না হয়, তবে অন্য একটি শর্ত পরীক্ষা করার জন্য ব্যবহৃত হয়।
উদাহরণ:
01 AGE PIC 99.
01 GENDER PIC X.
01 RESULT PIC X(15).
PROCEDURE DIVISION.
ACCEPT AGE.
ACCEPT GENDER.
IF AGE >= 18 AND GENDER = 'M' THEN
MOVE 'Eligible for Army' TO RESULT
ELSE IF AGE >= 18 AND GENDER = 'F' THEN
MOVE 'Eligible for Nursing' TO RESULT
ELSE
MOVE 'Not Eligible' TO RESULT
END-IF
DISPLAY RESULT.
STOP RUN.ব্যাখ্যা:
- এখানে
IF-THENএবংELSE IFব্যবহার করা হয়েছে। - যদি
AGE১৮ এর বেশি এবংGENDER'M' হয়, তাহলে 'Eligible for Army' হবে। - অন্যথায়, যদি
AGE১৮ এর বেশি এবংGENDER'F' হয়, তাহলে 'Eligible for Nursing' হবে। - যদি কোন শর্তও না পূর্ণ হয়, তাহলে 'Not Eligible' হবে।
সারসংক্ষেপ
- Nested IF: একাধিক
IFস্টেটমেন্টকে ভিতরে ভিতরে একে অপরের মধ্যে ব্যবহার করা। - Complex Conditions: একাধিক শর্ত একত্রিত করে একটি শর্ত তৈরি করা, যাতে
AND,OR, এবংNOTঅপারেটর ব্যবহৃত হয়। IF-THEN-ELSE: শর্ত অনুযায়ী বিভিন্ন সিদ্ধান্ত নেওয়া এবং কোড ফ্লো নিয়ন্ত্রণ করা।
COBOL-এ IF এবং Complex Conditions ব্যবহার করে আপনি শক্তিশালী লজিক তৈরি করতে পারেন যা কোডের কার্যকারিতা বৃদ্ধি করে এবং ডেটার উপর ভিত্তি করে বিভিন্ন সিদ্ধান্ত নেওয়ার সুযোগ দেয়।
Read more