কন্ডিশনাল লজিক ও দৈনন্দিন জীবন

দৈনন্দিন জীবনে আমরা যেকোন কাজ করতে গেলে বিভিন্ন রকম শর্ত বা কন্ডিশনের উপর ভিত্তি করে সর্বোপরি তিন রকমের সিদ্ধান্ত নিয়ে থাকি। যেমনঃ
১. হ্যাঁ
২. না
৩. হ্যাঁ-না এর মাঝামাঝি।
তো এই সিদ্ধান্তগুলোকেই প্রোগ্রামিং-এর ভাষায় কন্ডিশনাল লজিক বলা হয়। (সিম্পল না জিনিসটা…!!!)

ধরুন, এখন শীতকাল চলছে, হাড় কাপানো ঠান্ডা পড়ে সকাল সাড়ে সাতটা বা আটটায়।


জনি আর মামুন একসাথে ধানমন্ডি-৩২ এ মেসে থাকে (ব্যাচেলর স্টুডেন্ট 😜)।
জনির ভোরে ঘুম ভাঙ্গে না কিন্তু মামুনের মাঝে-মধ্যে ভাঙ্গে।
তো জনি মামুনকে বললঃ দোস্ত কাল সকাল ৭.০০ টায় (৮.০০ থেকে ক্লাশ) যেভাবেই পারিস উঠিস আর আমাকে ডেকে দিস, নইলে কিন্তু ক্লাশ টেস্টটা মিস হয়ে যাবে।😂
তো এই কথা গুলো আমরা এইভাবে লজিকালি প্রকাশ করতে পারি যে,

যদি (মামুন সাতটায় ঘুম থেকে উঠতে পারে তবে)
{
    জনির ও মামুন দুজনের-ই ক্লাশ টেস্ট দেওয়া হবে।
‎}
নইলে
{
    জনি ও মামুন কারো-ই ক্লাশ টেস্ট দেওয়া হবে।
}

ডায়াগ্রাম-১

তো এইটা গেল হ্যাঁ(১) ও না(২) এর কন্ডিশন। আবার এমনও তো হতে পারে যে, মামুন সাতটায় ঘুম থেকে উঠল কিন্তু সে জনির সাথে গুটিবাজি😜 করলো মানে জনিকে ক্লাশে যাওয়ার জন্য ডাকলো না, এবং সে একাই ক্লাশে গেল।
তো এইবার বিষয়টা লজিকালি এইরকম দ্বারায় যেঃ

যদি (মামুন সাতটায় ওঠে ও জনিকে ডাকে তবে)
{
    জনির ও মামুন দুজনের-ই ক্লাশ টেস্ট দেওয়া হবে।
‎}
অন্যথায় যদি (মামুন সাতটায় ওঠে কিন্তু জনিকে না ডাকে তবে)
{
    জনির ক্লাশ টেস্ট দেওয়া হবে না।
}
নইলে
{
    জনি ও মামুন কারো-ই ক্লাশ টেস্ট দেওয়া হবে না।
}

ডায়াগ্রাম-২

তো উপরের এই বাস্তব জীবনের লজিক কাজে লাগিয়ে প্রোগ্রামিং-এর মাধ্যমে একটি সংখ্যা ধনাত্বক(+) নাকি ঋণাত্বক(-) নাকি শূন্য(০) তা নির্ণয় করতে পারি আমরা।

#include<stdio.h>
int main()
{
   int n;
   printf("Enter a number: ");
   scanf("%d", &n);

   if(n > 0)
   {
       printf("n is a positive number\n");
   }
   else if(n < 0)
   {
       printf("n is a negative number\n");
   }
   else
   {
       printf("n is zero\n");
   }

   return 0;
}

প্রথমে আমরা ১নং লাইনে stdio.h হেডার ফাইলটা include করে নিয়েছি। তারপর ৪নং লাইনে main() ফাংশনের ভেতরে একটা ভেরিয়েবল n নিয়ে, scanf() ফাংশন দ্বারা ৬নং লাইনে n এর ভেতরে একটা সংখ্যা ইনপুট নিয়েছি।

এখন আমরা ৮নং লাইনে if দ্বারা চেক করছি n এর ভিতরে যে নাম্বারটা নিয়েছি সেটা কি শূন্য এর চেয়ে বড় কিনা (এখানে উপরের ডায়াগ্রাম-২ এর সাথে লজিকটা বিবেচনা করি)।
এখন n এর মান যদি শূন্য এর চেয়ে বড় হয় (ধরুন n এর মান ১২) তাহলে সে if কন্ডিশনের সেকেন্ড ব্রাকেটের ভিতরে ঢুকে প্রিন্ট করবে n is a positive number. এবং যেহেতু সে সত্য কন্ডিশন পেয়ে গেছে তাই সে আর বাকি কন্ডিশন গুলোতে ঢুকবেনা।

অন্যথায় যদি n এর মান (১২নং লাইন) শূন্য-এর চেয়ে ছোট হয় (ধরুন n এর মান -৪) তাহলে else if এর সেকেন্ড ব্রাকেটের ভিতরে ঢুকে প্রিন্ট করবে n is a negative number. এবং যেহেতু সে সত্য কন্ডিশন পেয়ে গেছে তাই সে আর বাকি কন্ডিশন গুলোতে ঢুকবেনা।

নইলে n এর মান যদি শূন্যের চেয়ে ছোট বা বড় কোনটাই না হয় (১৬নং লাইন) তাহলে অবশ্যই লজিকালি n এর মান শূন্য হবে। তাই else এর সেকেন্ড ব্রাকেটের ভিতরে ঢুকে প্রিন্ট করবে n is zero.

এখানে এই সংক্রান্ত কিছু প্রবলেমের লিংক দেওয়া হল, ট্রাই করে দেখতে পারেন।

আজ এ পর্যন্তই, সাথে থাকুন। ধন্যবাদ 🙂

Advertisements

2 thoughts on “কন্ডিশনাল লজিক ও দৈনন্দিন জীবন

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s