Conditional Control


সিপ্রোগ্রামিং ভাষায় কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট
কন্ট্রোল স্টেটমেন্ট:
সিপ্রোগ্রামিং ভাষায় স্টেটমেন্টসমূহ সাধারণত স্বয়ংক্রিয়ভাবে পর্যায়ক্রমে নির্বাহ হয়। কিন্তু বিভিন্ন পরিস্থিতিতে প্রোগ্রামের নির্বাহ নিয়ন্ত্রণ (যেমন- এক বা একাধিক স্টেটমেন্ট একাধিক বার নির্বাহ, শর্ত সাপেক্ষে কোন এক বা একাধিক স্টেটমেন্ট নির্বাহ, এক স্টেটমেন্ট থেকে অন্য স্টেটমেন্টে প্রোগ্রামের নিয়ন্ত্রণ স্থানান্তর ইত্যাদি) করার প্রয়োজন হতে পারে। যে সকল স্টেটমেন্ট এর সাহায্যে প্রোগ্রাম স্টেটমেন্টসমূহের পর্যায়ক্রমিক নির্বাহ নিয়ন্ত্রণ করা যায়, তাদেরকে কন্ট্রোল স্টেটমেন্ট বলে।

কন্ট্রোল স্টেটমেন্ট সমূহ:
 কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট
লুপ কন্ট্রোল স্টেটমেন্ট

কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট:
সিপ্রোগ্রামে শর্তসাপেক্ষে এক বা একাদিক স্টেটমেন্ট সম্পাদনের জন্য কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট ব্যবহৃত হয়। কন্ডিশনাল কন্ট্রোল স্টেটমেন্টে ব্যবহৃত শর্ত সত্য হলে প্রোগ্রামে এক ধরনের ফলাফল পাওয়া যায় এবং মিথ্যা হলে অন্য ধরনের ফলাফল পাওয়া যায়।

সিপ্রোগ্রামিং ভাষায় কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট সমূহ:
1if স্টেটমেন্ট
if.....else স্টেটমেন্ট
else if স্টেটমেন্ট
 switch …case স্টেটমেন্ট

if স্টেটমেন্ট
প্রোগ্রামে শর্ত সাপেক্ষে কোনো এক বা একাধিক স্টেটমেন্ট সম্পাদনের জন্য if স্টেটমেন্ট ব্যবহার করা হয়। if স্টেটমেন্ট ব্যবহারের ফরম্যাট হলো-

if(condition)
{
  Action
}

উদাহরণ: কীবোর্ড থেকে কোনো সংখ্যা ইনপুট দিয়ে দেখবে সংখ্যাটি ধনাত্নক কি-না।


#include<stdio.h>
main()
{
    int a;
    printf("Enter a number");
    scanf("%d",&a);
    if(a>=0)
    {
        printf("The given number is Positive");
    }
    return 0;
}

If…else স্টেটমেন্ট
সি প্রোগ্রামে শর্ত সাপেক্ষে কোন স্টেটমেন্ট বা কাযফ সম্পাদনের জন্য if স্টেটমেন্ট ব্যাবহৃত হয়। if স্টেটমেন্ট এর সাথে অন্যথায়অর্থে  else স্টেটমেন্ট ব্যবহৃত হয়। উপরের কোন কন্ডিশন সত্য না হলে else স্টেটমেন্টটি কাজ করে। else স্টেটমেন্টে কোন কন্ডিশন থাকে না। else স্টেটমেন্ট ব্যবহারের ফরম্যাট হলো-

if(condition)
{
  Action1
}
else
{
  Action2
}

উদাহরণ: কীবোর্ড থেকে কোনো সংখ্যা ইনপুট দিয়ে দেখবে সংখ্যাটি ধনাত্নক  না ঋনাত্নক


#include<stdio.h>

main()
{
    int a;
    printf("Enter a number");
    scanf("%d",&a);
    if(a>=0)
    {
        printf("The given number is Positive:");
    }
    else
    {
        printf("The given number is Negative:");
    }
    return 0;
}

else if স্টেটমেন্ট
প্রোগ্রামে যদি একাধিক কন্ডিশন যাচাই করতে হয় তাহলে প্রথম কন্ডিশন যাচাই করার জন্য if  স্টেটমেন্ট ব্যবহার করা হয়। তারপরের কন্ডিশন গুলো যাচাই করার জন্য else if  স্টেটমেন্ট ব্যবহার করা হয়। সিপ্রোগ্রামে অন্যথায় যদিঅর্থে  else if  স্টেটমেন্ট ব্যবহার করা হয়। else if স্টেটমেন্ট ব্যবহারের ফরম্যাট হলো-



if(Condition1)
{
  Action1
}
else if(Condition2)
{  
  Action2
}
  ……………
  ……………

else
{
  Default Action
}

উদাহরণ: কীবোর্ড থেকে কোনো সংখ্যা ইনপুট দিয়ে দেখবে সংখ্যাটি শূন্য, ধনাত্নক  অথবা ঋনাত্নক


#include<stdio.h>
#include<conio.h>

main()
{
    int a;
    printf("Enter a number");
    scanf("%d",&a);
    if(a==0)
    {
        printf("The given number is Zero");
    }
    else if(a>0)
    {
        printf("The given number is Positive");
    }
    else
    {
        printf("The given number is Negative");
    }
    getch();
}


switch…case
একটা ভ্যালু এর উপর নির্ভর করে অনেক গুলো স্টেটম্যান্ট থেকে একটা স্টেটম্যান্ট এক্সিকিউট করার জন্য switch case ব্যবহার করা হয়। switch case  সাধারণত নিচের মত করে লেখা হয়ঃ

switch ( variable ) {
    case expression 1:
        statement;
        break;
    case expression 2:
        statement;
        break;
    case expression 3:
        statement;
        break;
    default:
        statement;
        break;
 }

এখানে যদি switch ( variable ) এর variable  টির মান expression 1 এর সাথে মিলে, তাহলে case expression 1 এর  statement এক্সিকিউট হবে। যদি variable  টির মান expression 2 এর সাথে মিলে, তাহলে case expression 2 এর  statement এক্সিকিউট হবে। যদি variable  টির মান expression 3 এর সাথে মিলে, তাহলে case expression 3 এর  statement এক্সিকিউট হবে। যদি কোনটির সাথেই না মিলে, তাহলে default এর  statement টি এক্সিকিউট হবে। এখানে যত ইচ্ছে তত গুলো case যুক্ত করা যাবে।  আর case এর স্টেটম্যান্ট শেষে break; যুক্ত করতে হয়। break; মানে হচ্ছে আমাদের কাজ শেষ, এবার switch case থেকে বের হতে পারি। break; টা খুব গুরুত্ত্বপূর্ণ।

আমরা একটা উদাহরন দেখলে অনেক সহজ হয়ে যাবে এই switch case স্টেটম্যান্টটি আমরা একটা প্রোগ্রাম লিখব এমন, যদি আমরা r ইনপুট দেই, তাহলে লেখা উঠবে You select Red, যদি w ইনপুট দেই, তাহলে লেখা উঠবে You select White. যদি b ইনপুট দেই, তাহলে লেখা উঠবে You select Black. আর প্রোগ্রামটা লিখব আমরা switch case ব্যবহার করে
#include <stdio.h>
int main ()
{
char colorCode;
printf("Enter first word of Red, White or Black: \n");
scanf("%c", &colorCode);
  
switch ( colorCode ) {
    case 'r' :
    printf("You select Red.");
    break;

    case 'w':
    printf("You select White.");
    break;

    case 'b':
    printf("You select Black.");
    break;

    default:
    printf("Wrong choose!");
    break;
}
return 0;
}

উপরের প্রোগ্রামটি রান করি, তারপর r, w, b তিনটার মধ্যে যে কোন একটা ইনপুট দিলে কালারটা দেখবেআর যদি আমরা অন্য কোন কারেকটার ইনপুট দি, তাহলে লেখা উঠবে Wrong choose!



কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট সম্পর্কিত প্রোগ্রাম সমূহ
কোন সংখ্যা জোড় অথবা বিজোড় নির্ণয়ের জন্য সি প্রোগ্রামিং।

#include<stdio.h>
main()
{
int n;
printf("Enter a number: ");
scanf("%d", &n);
 if (n%2==0)    
    printf("\nThe number %d is even.",n);
else     
   printf("\nThe number %d is odd.",n);
return 0;
}
 কোন সংখ্যা ধনাত্মক অথবা ঋনাত্মক নির্ণয়ের প্রোগ্রাম।
#include<stdio.h>
main()
{
int n;
printf("Enter a number: ");
scanf("%d", &n);
 if (n>=0)    
  printf("\nThe number %d is positive.",n);
else     
  printf("\nThe number %d is Negative.",n);
return 0;
}
 কোন একটি সাল লিপ ইয়ার Leap Year কিনা নির্নয়ের জন্য সি প্রোগ্রামিং ভাষায় একটি প্রোগ্রাম।

#include<stdio.h>
main()
{
int y;
printf("Enter a year:");
scanf("%d",&y);
 if ((y%400==0)||((y%100!=0)&&(y%4==0)))
{
  printf("%d is a Leap year", y);
}
else
{
  printf("%d is not a Leap year", y);
}
return 0;
}
 দুটি সংখ্যার মধ্যে বড় সংখ্যা নির্নয়ের জন্য সি প্রোগ্রামিং ভাষায় একটি প্রোগ্রাম।

#include<stdio.h>
main()
{
    int a, b;
    printf(“Enter 1st value :”);
    scanf("%d",&a);
    printf(“Enter 2nd value :”);
    scanf("%d",&b);
        if (a>b)
        printf("Largest Number is : %d", a);
    else
        printf("Largest Number is: %d", b);
    return 0;
}
 ৫।  তিনটি সংখ্যার মধ্যে সবচেয়ে ছোট সংখ্যা নির্নয়ের জন্য সি প্রোগ্রামিং ভাষায় একটি প্রোগ্রাম।

#include<stdio.h>
main()
{
    int a,b,c;
    printf("Enter three integer numbers:");
    scanf("%d  %d  %d", &a, &b, &c);
     if(a<b)
    {
        if(a<c)
        {
            printf("\n Smallest number is: %d", a);
        }
        else
        {
            printf("\n Smallest number is: %d", c);
        }
    }
    else
    {
        if(b<c)
        {
            printf("\n Smallest number is: %d", b);
        }
        else
        {
           printf("\n Smallest number is: %d", c);
        }
    }
    return 0;
}


৬। তিনটি সংখ্যার মধ্যে সবচেয়ে বড় সংখ্যা নির্নয়ের জন্য সি প্রোগ্রামিং ভাষায় একটি প্রোগ্রাম।

#include<stdio.h>
main()
{
    int a,b,c;
    printf("Enter three integer numbers:");
    scanf("%d  %d  %d", &a, &b, &c);
     if(a>b)
    {
        if(a>c)
        {
            printf("\n Largest number is: %d", a);
        }
        else
        {
            printf("\n Largest number is: %d", c);
        }
    }
    else
    {
        if(b>c)
        {
            printf("\n Largest number is: %d", b);
        }
        else
        {
           printf("\n Largest number is: %d", c);
        }
    }
    return 0;
}

অথবা,

#include<stdio.h>
main()
{
    int a,b,c;
    printf("Enter three integer numbers:");
    scanf("%d  %d  %d", &a, &b, &c);
     if((a>b) && (a>c))
            printf("\n Largest number is: %d", a);
        
   else if ((b>a) && (b>c))
        
            printf("\n Largest number is: %d", b);
    else
            printf("\n Largest number is: %d", c);
        
    return 0;
}

৭. রোল নম্বর ১-৩০ পর্যন্ত A দলে, ৩১ -৬০ পর্যন্ত B দলে এবং ৬১-১০০ পর্যন্ত C দলে অন্তর্ভূক্ত করে কন্ডিশনাল স্টেটমেন্ট ব্যবহার করে সি ভাষায় প্রোগ্রাম লিখ।

#include<stdio.h>
main()
{
    int Roll;
    printf("Enter Roll Number (1-100):");
    scanf("%d",  &Roll);
     if(Roll>=1 && Roll<=30)
            {
            printf("Group A", Roll);
            }
     else if(Roll>=31 && Roll<=60)
           {
            printf("Group B", Roll);
           }
    else{
            printf("Group C", Roll);  
          }    
    return 0;
}


No comments:

Post a Comment