Sunday, 3 September 2017

লজিক্যাল স্টেটমেন্ট (NESTED IF-ELSE)

গত পর্বের দেওয়া প্রোগ্রামগুলো আশা করি সবাই efficient  করে নতুনভাবে করেছো। আজকে আমরা আলোচনা করবো নেস্টেড ইফ এলস নিয়ে।



Nested if-else কি?
নাম শুনে কঠিন মনে হলেও আসলে এটা তেমন কিছু না। একটা if কিংবা else if অথবা else এর ভিতরে আরেকটা  if কিংবা else if অথবা else বসিয়ে দিলেই তা নেস্টেড হয়ে যায়।

নিচের প্রোগ্রামটি দেখোঃ

#include <stdio.h>

int main()
{
    /* ৩ টি ইন্টজার ভেরিয়েবল ডেক্লিয়ার */
    int num1, num2, num3;

    /* ইউজারের কাছ থেকে ইনপুট গ্রহণ */
    printf("Enter three numbers: ");
    scanf("%d%d%d", &num1, &num2, &num3);

    if(num1 > num2)
    {
        if(num1 > num3)
        {
            /* যদি num1>num2 এবং num1>num3 হয় */
            printf("Num1 is max.");
        }
        else
        {
            /* যদি num1>num2 হয় কিন্তু num1<num3 হয় */
            printf("Num3 is max.");
        }
    }
    else
    {
        if(num2 > num3)
        {
            /* যদি num1<num2 হয় এবং num2>num3 */
            printf("Num2 is max.");
        }
        else
        {
            /* যদি num1<num2 এবং num2<num3 */
            printf("Num3 is max.");
        }
    }

    return 0;
}
উপরের প্রোগ্রামে  scanf   পর্যন্ত নিশ্চয় বোঝতে পারছো। ধরে নেই ইউজার num1 = 5     num3 = 15  num2 = 10     ইনপুট দিয়েছেন।

  • প্রথমে কম্পাইলার বাইরের if কন্ডিশন (শর্ত) -> if(num1 > num2) চেক করবে। যেহেতু num1=5 এবং num2=10,সুতরাং num1>num2 এই শর্তটি মিথ্যা।
  • তাই কম্পাইলার এই if এ কোন কাজ করবেনা সম্পূর্ণ if ব্লকের পরে বাইরের else এ চলে যাবে।
  • এখন কম্পাইলার বাইরের else  কন্ডিশন (শর্ত) এ আসবে। তার পর else এর ভিতরের if(num2 > num3) চেক করবে। যেহেতু num2 = 10 এবং num3 = 15,সুতরাং num2 > num3 এই শর্তটি ও মিথ্যা হবে।
  • সুতরাং বাইরের else এর ভিতরের if মিথ্যা হবে, এখন কম্পাইলার ভিতরের else এ চলে যাবে।
  • এই else এ আসার পর দেখবে শুধু   printf("Num3 is max.");   এই স্টেটমেন্ট দেওয়া আছে। তাই আউটপুট আসবে   Num3 is max.
  •  কম্পাইলার return 0;  তে চলে যাবে , এবং প্রোগ্রাম শেষ হয়ে যাবে।
আশাকরি , বোঝতে পেরেছো। আর যদি কোন সমস্যা হয় তাহলে অবশ্যই কমেন্ট করবে।

Related Posts:

  • লজিক্যাল স্টেটমেন্ট (if , else if and else) পর্ব-২আগের পর্বে আমরা একটি প্রোগ্রাম নিয়ে আলোচনা করেছিলাম, যেখানে কোন নাম্বার ইনপুট দিলে তা 10 কি না? তা দেখায় এবং 10 ছাড়া অন্য নাম্বার দিলেও তা দেখায়। যদি মনে না থাকে তাহলে আগের পর্ব আবার ভালো করে পড়ে নিন। আজ আমরা একটা… Read More
  • ইফ এলস নিয়ে কিছু সহজ সমস্যা!! (IF ELSE Exercise)  তিনটি সংখ্যার মধ্যে বড় সংখ্যা নির্ণয়ের প্রোগ্রাম লিখো। একটি সংখ্যা পজেটিভ , নেগেটিভ নাকি জিরো তা নির্ণয় করো।  কোন সংখ্যাকে ৫ ও ১১ দিয়ে ভাগ করা যাবে কি না? তা নির্ণয়ের প্রোগ্রাম লেখো। কোন সংখ্যা জোড় কি বেজো… Read More
  • লজিক্যাল স্টেটমেন্ট (NESTED IF-ELSE)গত পর্বের দেওয়া প্রোগ্রামগুলো আশা করি সবাই efficient  করে নতুনভাবে করেছো। আজকে আমরা আলোচনা করবো নেস্টেড ইফ এলস নিয়ে। Nested if-else কি? নাম শুনে কঠিন মনে হলেও আসলে এটা তেমন কিছু না। একটা if কিংবা else if অথবা else… Read More
  • Solution of If-else problem (part-2) 7.একটি অ্যালফাবেট VOWEL নাকি CONSONENT ? তা নির্ণয়ের প্রোগ্রাম লিখো। #include <stdio.h> int main() { char ch; /* Input character from user */ printf("Enter any character: "); scanf("%c", &ch)… Read More
  • Solution of If-else problem (part-1) Problem-1: তিনটি সংখ্যার মধ্যে বড় সংখ্যা নির্ণয়ের প্রোগ্রাম লিখো। Solution: #include <stdio.h> int main() { int num1, num2, num3, max; /* Input three numbers from user */ printf("Enter three numbers… Read More

0 comments:

Post a Comment