মডিউল পাঠ (2/2)
IF এবং মূল্যায়নের সাথে সিদ্ধান্ত
COBOL-এ সিদ্ধান্ত গ্রহণ করা হয় প্রাথমিকভাবে IF শর্তসাপেক্ষ বিবৃতি এবং বহু-শাখা নির্বাচন কাঠামো EVALUATE (আধুনিক ভাষায় switch বা match এর অনুরূপ) ব্যবহার করে।
IF শর্তসাপেক্ষ বিবৃতি
IF বিবৃতিটির মৌলিক বাক্য গঠন হল:
IF condition
statements-if-true
ELSE
statements-if-false
END-IF.আধুনিক COBOL সংস্করণে (COBOL-85 এবং পরবর্তী), বিবৃতিটি স্পষ্টভাবে END-IF. দিয়ে শেষ হতে হবে শুধুমাত্র চূড়ান্ত সময়সীমা . এর উপর নির্ভর না করে, উল্লেখযোগ্যভাবে পার্সিং এবং লজিক ত্রুটিগুলি হ্রাস করে৷
সাধারণ শর্ত
- এর থেকে বড়:
>বাGREATER THAN - এর থেকে কম:
<বাLESS THAN - এর সমান:
=বাEQUAL TO - এর থেকে বড় বা সমান:
>=বাGREATER THAN OR EQUAL TO - এর থেকে কম বা সমান:
<=বাLESS THAN OR EQUAL TO
IF WS-BALANCE < 0
DISPLAY "OVERDRAWN"
ELSE
DISPLAY "ACCOUNT ACTIVE"
END-IF.মূল্যায়ন বিবৃতি
যখন আমাদের একাধিক বিচ্ছিন্ন মানের সাথে একটি ভেরিয়েবলের তুলনা করতে হবে, তখন নেস্টেড IF স্টেটমেন্ট জটিল হয়ে উঠতে পারে। EVALUATE বিবৃতিটি একটি পরিচ্ছন্ন উপায়ে পছন্দগুলিকে গঠন করে এর সমাধান করে:
EVALUATE WS-USER-ROLE
WHEN "ADMIN"
DISPLAY "FULL ACCESS"
WHEN "EDITOR"
DISPLAY "EDIT ACCESS"
WHEN OTHER
DISPLAY "LIMITED ACCESS"
END-EVALUATE.WHEN OTHER: ফলব্যাক শাখা সনাক্ত করে (আধুনিক ভাষায়defaultবা চূড়ান্তelseএর সমতুল্য)।END-EVALUATE.: কাঠামো বন্ধ করে।
নিজে চেষ্টা করে দেখুন
একটি IF-ELSE-END-IF ব্লক লিখুন যা চেক করে যে ভেরিয়েবল WS-USER-AGE 18 এর চেয়ে বড় বা সমান। যদি সত্য হয়, 'ADULT' প্রিন্ট করুন, অন্যথায় DISPLAY ব্যবহার করে 'MINOR' প্রিন্ট করুন।
ইঙ্গিত দেখান
তুলনার জন্য >=, আউটপুটের জন্য DISPLAY এবং END-IF ব্যবহার করুন। (ব্লকের শেষে বিন্দু সহ)।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
WS-STATUS ভেরিয়েবল পরীক্ষা করতে মূল্যায়ন কাঠামোটি সম্পূর্ণ করুন। মান 'A' প্রিন্ট হলে 'ACTIVE', যদি এটি 'I' প্রিন্ট হয় 'নিষ্ক্রিয়', অন্যথায় অন্য কোনো মান প্রিন্টের জন্য 'UNKNOWN'।
ইঙ্গিত দেখান
প্রতিটি WHEN শাখার পরে তার ডিসপ্লে লিখুন এবং ফলব্যাক পরিচালনা করতে WHEN OTHER ব্যবহার করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ