Wednesday, 30 August 2017

লজিক্যাল স্টেটমেন্ট (if ,else if and else)

কোন সমস্যাকে যুক্তির ভিত্তিতে সমাধান করতে আমরা if , else if , else ব্যবহার করি । এদেরকে লজিক্যাল স্টেট্মেন্ট বলা হয়।


যেমন: if ব্যবহার করে সমাধান করা যায় এমন একটি প্রোগ্রাম আমরা দেখবো,

#include <stdio.h>
int main( )
{
    int number;
    scanf("%d", &number);
    if(number == 10)
    {
        printf("This is Ten\n");
    }
    return 0;
}

উপরের প্রোগ্রামে আমরা number নামের ভেরিয়েবলটির মধ্যে একটি মান ইনপুট নিয়েছি । তারপর চেক করেছি আমাদের ইনপুট নেওয়া নাম্বারটি ১০ কি না?! যদি ১০ হয় তাহলে প্রোগ্রামটি This is Ten লেখাটি প্রিন্ট করবে।
আর যদি ইনপুট নেওয়া নাম্বারটি ১০ না হয় তাহলে কি হবে ?
প্রোগ্রাম রান করবে ঠিকই কিন্তু কিছুই প্রিন্ট করবে না।
কিন্তু আমরা চাই , নাম্বারটি ১০ না হলে যাতে কম্পিউটার আমাদের জানিয়ে দেয় যে এটি ১০ না। তাহলে , নিচের প্রোগ্রামটি দেখোঃ


#include <stdio.h>
int main( )
{
    int number;
    scanf("%d", &number);
    if(number == 10)
    {
        printf("This is Ten\n");
    }
    else
    {
        printf("This is not Ten\n");
    }
    return 0;
}
এবার কিন্তু ১০ ইনপুট না দিলে আমরা অউটপুট হিসেবে This is not Ten এই লেখাটি দেখতে পাবো! এবার চলো প্রোগ্রামটি কিভাবে কাজ করছে দেখে নেয়া যাক।
প্রথমে প্রোগ্রামটি রান করার পর ইউসারের কাছে একটি নাম্বার ইনপুট চাইবে, ধরে নাও আমরা 10 ইনপুট দিয়েছি, তাহলে প্রোগ্রামটি if(number == 10) এই লাইনে আসার পর দেখবে number এর মান 10 কিনা, যেহেতু আমরা 10 ইনপুট দিয়েছি তাই if(number == 10) কথাটি সত্য, সুতরাং This is Ten প্রিন্ট করবে।
আর যদি আমরা 10 ইনপুট না দিয়ে অন্য কিছু দিতাম? মনেকরো 20 ইনপুট দিলাম তাহলে প্রোগ্রামটি if(number == 10) এই লাইনে আসার পর দেখবে number এর মান 10 কিনা, যেহেতু আমরা 20 ইনপুট দিয়েছি তাই if(number == 10) কথাটি মিথ্যা, এখন প্রোগ্রামটি else এ চলে যাবে, এবং দেখবে সেখানে printf(“This is not Ten\n”); এই স্টেমেন্ট রয়েছে সুতরাং This is not Ten প্রিন্ট করবে।
 আচ্ছা আমরা এখন চাই আমরা যে মান ইনপুট দিবো সেই মান স্ক্রিনে দেখাবে, অনেকটা এই রকম যদি ১০ ইনপুট দেই তাহলে লেখাটা আসবে This is number 10.
 হয়তো ভাবছো Ten এর জায়গায় 10 লিখে দিলেই তো হয় কিন্তু মজাটা হচ্ছে এবার আমরা এ ব্যপার টা কম্পিউটারের হাতে ছেড়ে দিবো। তাহলে নিচের প্রোগ্রামটি লিখে ফেলো ঝটপটঃ


#include <stdio.h>

int main( )
{
    int number;
    scanf("%d", &number);
    if(number == 10)
    {
        printf("This is %d\n",number);
    }
    else
    {
        printf("This is not %d\n",number);
    }
    return 0;
}


যেহেতু number একটি ইন্টিজার টাইপ ভেরিয়েবল তাই ফরম্যাট স্পেসিফায়ার হিসেবে আমরা %d ব্যবহার করেছি।
যদি আমরা number ভেরিয়েবল টা ডাবল টাইপের নিতাম তাহলে ফরম্যাট স্পেসিফায়ার হিসেবে %lf ব্যবহার করতাম । পরের কোন পোস্টে ফরম্যাট স্পেসিফায়ার নিয়ে বিস্তারিত আলোচনা করবো।

0 comments:

Post a Comment