কন্ট্রোল স্টেটমেন্ট :লেকচার- ৭

কন্ট্রোল স্টেটমেন্ট :
কন্ট্রোল স্টেটমেন্টগুলো হচ্ছে -
                                         1.if statement
                                         2.if-else statement
                                         3.while-statement
                                         4.do-while statement
                                         5.for statement ইত্যাদি

এগুলো জেনে আমরা সত্যিকারের প্রোগ্রামিং জগতে প্রবেশ করতে যাচ্ছি। যিনি যত সহজে কন্ট্রোল স্টেটমেন্টগুলো দিয়ে নিজের লজিকগুলো কোড পরিণত করতে পারবেন, তিনি প্রোগ্রামিং তত ভালো করতে পারবেন।

if-else statement
সি প্রোগ্রামিং তে if statement এর মতোই if-else statement ব্যবহার করা হয়। তবে এদের মধ্যে কিছুটা পার্থক্য আছে।পার্থক্যটা হল ,ধরা যাক , আমরা একটা প্রোগ্রাম লিখব যা কোন শ্রেনীতে কতজন ছাএ এবং কতজন ছাএী আছে তা বের করবে।এখানে আমরা 'M'কে  ছাএ এর জন্য  এবং 'F' কে ছাএীর জন্য code হিসাবে ব্যবহার করব । প্রথমে শুধুমাএ if statement দিয়ে প্রোগ্রামটা কিভাবে লেখা  যায় তা দেখা যাক,

   if(code='M'){
             ++boy;
     }
   
   if(code='F'){
             ++girl;
     }

এখানে  কম্পিউটার প্রথমে দেখবে যে code এর মান 'M' কিনা । যদি 'M' হয়,তাহলে boy এর মান এক বাড়বে । এরপর কম্পিউটার আবার দেখবে যে ,২য় if এ  code এর মান 'F' কিনা ।কিন্তু একবার যদি code কে 'M' বা 'F' হিসাবে সনাক্ত করা যায় ,তাহলে ২য় if এ তা আবার সনাক্ত করতে যাওয়া অর্থহীন এবং সময়ের অপচয় । সি প্রোগ্রামে এ ধরনের কাজে  if-else statement ব্যবহার করা যায়।

    if(code=='M'){
         ++boy;
     }
    else{
       ++girl;
    }
এখানে code এর মান যদি 'M' হয় তাহলে প্রোগ্রামে   ++boy; -এর statement কাজ করবে। অন্যথায়, ++girl; -এর statement কাজ করবে। if-else statement ব্যবহারের ধারণাটা হচ্ছে এরকম যে , যদি if এর সাথে দেয়া condition true হয় তাহলে  if statement কাজ করবে ,অন্যথায় else statement কাজ করবে।
কন্ডিশন True হলে কিছু কোড এবং False হলে অন্য কিছু কোড সম্পাদন(execution) এর জন্য সি if...else স্টেটমেন্ট ব্যবহৃত হয়।
   if (testExpression) {
            // True হলে এই কোড এক্সিকিউট হবে। 
      }
      else {
           // False হলে এই কোড এক্সিকিউট হবে। 
     }
 
টেস্ট এক্সপ্রেশন True হলে if স্টেটমেন্টের কোড ব্লক এক্সিকিউট হবে এবং else স্টেটমেন্টের কোড ব্লককে এড়িয়ে যাবে।

টেস্ট এক্সপ্রেশন false হলে else স্টেটমেন্টের কোড ব্লক সম্পাদিত হবে এবং if স্টেটমেন্টের কোড ব্লককে এড়িয়ে যাবে।

if...else স্টেটমেন্টের ফ্লোচার্ট





উদাহরন ১: if-else statement

#include<stdio.h>

int main()
{
    int time=16;
    if(time<12)
    {
        printf("Good morning."); // সময় ১২ টার কম হলে প্রিন্ট হবে।
    }
    else
    {
        printf("Good after noon");// সময় ১২ টার বেশি হলে প্রিন্ট হবে।
    }
   return 0;
}

আউটপুট

Good after noon.

উদাহরন ২: সি if...else স্টেটমেন্ট

//ইউজার কর্তৃক ইনপুট দেওয়া ইন্টেজার সংখ্যা জোড় না বিজোড়  চেক করার জন্য প্রোগ্রাম।

#include <stdio.h>
int main()
{
    int testNumber;
    printf("Enter an integer: ");
    scanf("%d",&testNumber);

    // ভাগশেষ শূন্য(0) হলে True হবে
    if(testNumber%2 == 0 ){
        printf("%d is an even integer.",testNumber);
        } 
    else{
       printf("%d is an odd integer.",testNumber); 
       }
        
    return 0;
}

আউটপুট
Enter an integer: 9
9 is an odd integer.

যখন ইউজার 9 প্রবেশ করায় তখন টেস্ট এক্সপ্রেশন (testNumber%2 == 0 ) এর ভ্যালু false হয়। সুতরাং else স্টেটমেন্টের মধ্যে অবস্থিত printf("%d is an odd integer"); স্টেটমেন্ট এক্সিকিউশন হয় এবং if এর মধ্যে অবস্থিত স্টেটমেন্টকে এড়িয়ে যায়।



নেস্টেট if...else স্টেটমেন্ট

কন্ডিশন True/False যাই হোক না কেন আমরা কোড এক্সিকিউট করতে চাই অর্থাৎ সিদ্ধান্ত গ্রহণ করতে চাই সেক্ষেত্রে if...else স্টেটমেন্ট ব্যবহৃত হয়। কিন্তু মাঝে মাঝে সিদ্ধান্ত গ্রহণ দুই এর অধিক কন্ডিশনের উপর নির্ভর করতে পারে।

দুই এর অধিক এক্সপ্রেশনকে টেস্ট করে কোড এক্সিকিউট করার জন্য নেস্টেড if...else স্টেটমেন্ট ব্যবহৃত হয়।


নেস্টেট if...else সিনট্যাক্স
if (testExpression1) {
   //testExpression1  True হলে এই কোড এক্সিকিউট হবে।  
}
else if(testExpression2) {
   // testExpression1 false এবং testExpression2  True হলে এই কোড ব্লক এক্সিকিউট হবে।
}
else if (testExpression3) {
   //testExpression1  ও testExpression2 false এবং testExpression3 True হলে এই কোড ব্লক এক্সিকিউট হবে।
}
else {
   // সকল testExpression false হলে এই কোড ব্লক এক্সিকিউট হবে। 
}

উদাহরন ১: সি নেস্টেড if...else স্টেটমেন্ট

#include<stdio.h>  

int main(){  
    int number=0;    
  
    printf("enter a number:");  
    scanf("%d",&number);  
  
    if(number==10){  
    printf("number is equals to 10");  
    }  
    else if(number==50){  
    printf("number is equal to 20");  
    }  
    else if(number==100){  
    printf("number is equal to 30");  
    }  
    else{  
    printf("number is not equal to 10, 20 or 30"); 
    } 
    return 0;
}

আউটপুট

enter a number:5
number is not equal to 10, 20 or 30

enter a number:100
number is equal to 30


উদাহরন ২: সি নেস্টেড if...else স্টেটমেন্ট

 // =, > অথবা < ব্যবহার করে দুটি ইন্টেজারের মধ্য সম্পর্ক তৈরি

#include <stdio.h>
int main()
{
    int testNumber1,testNumber2;
    printf("Enter two integers: ");
    scanf("%d %d", &testNumber1, &testNumber2);

    //দুটি ইন্টেজার সমান কিনা চেক করে। 
    if(testNumber1 ==testNumber2){
        printf("Result: %d = %d",testNumber1, testNumber2);
    }
    //testNumber2 থেকে testNumber1 বড় কিনা চেক করে
    else if (testNumber1 >testNumber2){
        printf("Result: %d > %d",testNumber1, testNumber2);
    }
    // যদি উভয় এক্সপ্রেশন false হয়।
    else{
        printf("Result: %d < %d",testNumber1, testNumber2);
  }
    return 0;
}

আউটপুট

Enter two integers: 15
225
Result: 15 < 25
   

No comments

Theme images by luoman. Powered by Blogger.