প্রোগ্রামিংয়ের মৌলিক ধারণা/ফ্ল্যাগ ধারণা
ফ্ল্যাগ ধারণা
[সম্পাদনা]
ফ্ল্যাগ সাধারণত কোনও নির্দিষ্ট অপারেশনের মধ্যবর্তী অবস্থা বা ফলাফল নির্দেশ করতে বা নিয়ন্ত্রণ করতে ব্যবহৃত হয়।[১]
আলোচনা
[সম্পাদনা]একটি ফ্ল্যাগ প্রকাশ করে যে একটি ডেটা স্ট্রাকচার একটি সম্ভাব্য অবস্থা পরিসরে আছে কিনা এবং এটি একটি বিট ফিল্ড অ্যাট্রিবিউট নির্দেশ করতে পারে, যেটি ব্যবহারকারীর বিশেষ অনুমতি ছাড়া অ্যাক্সেসযোগ্য নয়। একটি প্রসেসরের অনেক অবস্থা থাকে যেখানে একাধিক ফ্ল্যাগ মান সংরক্ষিত থাকে, যা পোস্ট-প্রসেসিংয়ে সহায়তা করতে পারে। উদাহরণস্বরূপ, গাণিতিক ওভারফ্লো। যদি মেমোরি সীমা অতিক্রম করে, যেমন শূন্য দ্বারা ভাগ করা, তখন ফ্ল্যাগ সক্রিয় হয়ে সহায়তা করে।
ফ্ল্যাগ ধারণার একটি উদাহরণ হলো একটি সুইচ, যা একটি কমান্ড লাইন প্রোগ্রামের শুরুতে পার্সার দ্বারা নির্ধারিত হয়। এই সুইচগুলি ফ্ল্যাগে রূপান্তরিত হয় এবং পরে প্রক্রিয়াকরণে ব্যবহৃত হয়।
কম্পিউটার প্রয়োগ
[সম্পাদনা]যেকোনো ভেরিয়েবল বা ধ্রুবক যা তথ্য ধারণ করে, তা ফ্ল্যাগ হিসেবে ব্যবহার করা যেতে পারে। আপনি এটি একটি ফ্ল্যাগপোল হিসেবে ভাবতে পারেন। ফ্ল্যাগপোলে সংরক্ষিত মানটিই হলো ফ্ল্যাগ। উদাহরণস্বরূপ, একটি ভেরিয়েবল marital_status যার ডেটা টাইপ ক্যারেক্টার। এই ভেরিয়েবলে সাধারণত দুটি মান সংরক্ষিত হয়: ‘S’ এবং ‘M’, অর্থাৎ অবিবাহিত এবং বিবাহিত। প্রোগ্রামের কোনো এক স্থানে আমরা এই ভেরিয়েবলটি দেখে সিদ্ধান্ত নিতে পারি:
যদি marital_status 'M' হয় তবে
"আপনি কি যৌথভাবে ট্যাক্স জমা দিচ্ছেন?" প্রদর্শন করুন
ব্যবহারকারীর উত্তর গ্রহণ করে filing_jointly ভেরিয়েবলে সংরক্ষণ করুনফ্ল্যাগ দেখা মানে হলো ভেরিয়েবলের মানকে অন্য একটি মানের (ধ্রুবক অথবা অন্য ভেরিয়েবল) সঙ্গে তুলনা করা, সাধারণত একটি সম্পর্কীয় অপারেটর ব্যবহার করে (উপরের উদাহরণে: সমতা)।
কন্ট্রোল স্ট্রাকচার সাধারণত একটি টেস্ট এক্সপ্রেশন দ্বারা নিয়ন্ত্রিত হয়, যা একটি বুলিয়ান এক্সপ্রেশন। তাই ফ্ল্যাগ দেখা এবং তুলনা করা কন্ট্রোল স্ট্রাকচার বোঝার ভিত্তি।
একই অর্থের দুটি ফ্ল্যাগ
[সম্পাদনা]অনেক সময় আমরা do while পুনরাবৃত্তি কন্ট্রোল স্ট্রাকচার ব্যবহার করি, যাতে ব্যবহারকারী পুনরায় লুপ চালাতে চায় কিনা তা নির্ধারণ করা যায়। একটি ভেরিয়েবলের নাম হতে পারে “loop_response” যেখানে ব্যবহারকারী ‘y’ বা ‘n’ উত্তর দেয়। কীবোর্ড থেকে উত্তর নিয়ে আমাদের ফ্ল্যাগ ভেরিয়েবল “loop_response”-এ সংরক্ষণ করি এবং টেস্ট এক্সপ্রেশন হতে পারে:
loop_response 'y' হলেএটি ঠিক আছে, কিন্তু যদি ব্যবহারকারীর ক্যাপস লক চালু থাকে তবে ‘Y’ উত্তর দিলেও লুপ আর চলবে না। এর সমাধান হলো ফ্ল্যাগ দুটি মানেই চেক করা:
loop_response 'y' অথবা loop_response 'Y' হলেএখানে আমরা বুলিয়ান এক্সপ্রেশন ব্যবহার করে ফ্ল্যাগকে ছোট হাতের 'y' অথবা বড় হাতের 'Y' কিনা তা যাচাই করছি।
এক বাইটে একাধিক ফ্ল্যাগ
[সম্পাদনা]অ্যাসেম্বলি ভাষা প্রোগ্রামিং ও কিছু বিশেষ ডিভাইস নিয়ন্ত্রণে ব্যবহৃত টেকনিক্যাল প্রোগ্রামে এক বাইটে একাধিক ফ্ল্যাগ সংরক্ষণের পদ্ধতি প্রচলিত। এতে একটি বাইটের প্রতিটি বিট (৮টি বিট) একটি করে ফ্ল্যাগ হিসেবে ব্যবহৃত হয়। প্রতিটি বিটের মান হয় ১ অথবা ০ — যা সত্য/মিথ্যা, চালু/বন্ধ, হ্যাঁ/না ইত্যাদি বোঝাতে ব্যবহৃত হয়।
মূল শব্দসমূহ
[সম্পাদনা]- ফ্ল্যাগ
- এমন একটি ভেরিয়েবল যা সাধারণত প্রোগ্রাম নিয়ন্ত্রণ করতে তথ্য সংরক্ষণের জন্য ব্যবহৃত হয়।
- Flag of Oceania