পঞ্চম অধ্যায় লেকচার-১৪: কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট ও এ সম্পর্কীত প্রোগ্রামসমূহ।

Conditional Control statement


Conditional Control Statement সম্পর্কীত প্রোগ্রামসমূহের অ্যালগরিদম ও ফ্লোচার্ট দেখতে নিচের লিংকে ক্লিক করুন।

 

কন্ট্রোল স্টেটমেন্ট (Control Statement) :
সি প্রোগ্রামে স্টেটমেন্টসমূহ সাধারণত স্বয়ংক্রিয়ভাবে এবং পর্যায়ক্রমে একবার করে নির্বাহ হয়। সি প্রোগ্রামে কোন স্টেটমেন্ট পূনরাবৃত্তি অনুযায়ী নির্বাহের প্রয়োজন হলে কিছু শর্ত যুক্ত করা হয় তাকে কন্ট্রোল স্টেটমেন্ট বলে।

কন্ট্রোল স্টেটমেন্ট এর প্রকারভেদ :

সি প্রোগ্রামে কন্ট্রোল স্টেটমেন্ট প্রধানত ২ প্রকার। যথা-

  • ১. কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট (Conditional Control Statement)
  • ২. লুপ কন্ট্রোল স্টেটমেন্ট (Loop Control Statement)

 

কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট (Conditional Control Statement) :

সি বা সি++ প্রোগ্রামে শর্তসাপেক্ষে কোন স্টেটমেন্ট সম্পাদনের জন্য if, if-else, else if এবং switch ইত্যাদি স্টেটমেন্ট ব্যবহৃত হয়, এগুলোকে কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট বলে।

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

  • if স্টেটমেন্ট
  • if-else স্টেটমেন্ট
  • else if /if-else if-else স্টেটমেন্ট
  • Nested if-else স্টেটমেন্ট
  • switch স্টেটমেন্ট

Note : লুপ কন্ট্রোল স্টেটমেন্ট (Loop Control Statement) সম্পর্কে পরবর্তী লেকচারে আলোচনা করা হবে।

 

if স্টেটমেন্ট :

সি প্রোগ্রামে ’যদি’ অর্থে if স্টেটমেন্ট ব্যবহৃত হয়। if স্টেটমেন্ট-এ কন্ডিশন সত্য হলে বডির ভিতরের স্টেটমেন্ট/স্টেমেন্টসমূহ নির্বাহ হয়। আর কন্ডিশন মিথ্যা হলে বডির ভিতরের স্টেটমেন্ট/স্টেমেন্টসমূহ নির্বাহ হয় না।

if স্টেটমেন্ট এর ফরম্যাট :

if(Condition)
{
Statement 1;
Statement 2;
......................
......................
Statement n;
}

 

উদাহরণ-০১ : একটি সংখ্যা কী-বোর্ড থেকে ইনপুট নিয়ে জোড় কিনা ? তা নির্ণয়ের সি ভাষা লেখ।

সি প্রোগ্রাম :

#include<stdio.h>
#include<conio.h>
int main ()
{
int n;
printf("Enter value of n= ");
scanf("%d",&n);
if(n%2==0)
printf("The number is Even");
getch();
}

আউটপুট :

Enter value of n=10
The number is Even
আবার,
Enter value of n=5
-

অনুশীলন-০১ : কী-বোর্ড থেকে একটি সংখ্যা ইনপুট নিয়ে তা ধনাত্নক কিনা দেখানোর প্রোগ্রাম লেখ।
অনুশীলন-০২ : কী-বোর্ড থেকে একটি বিষয়ের পরীক্ষার নম্বর ইনপুট নিয়ে পোস কিনা তা দেখানোর প্রোগ্রাম লেখ।

 

if-else স্টেটমেন্ট :

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

if-else স্টেটমেন্ট এর গঠন :

if(Condition)
{
Statement (s);
}
else
{
Statement (s);
}

 

উদাহরণ-০২ : দুটি সংখ্যার মধ্যে বড় সংখ্যাটি নির্ণয়ের সি ভাষা লেখ।

সি প্রোগ্রাম :

#include<stdio.h>
#include<conio.h>
int main ()
{
int a,b;
printf("Enter value of a,b= ");
scanf("%d%d",&a,&b);
if(a>b)
printf("The Largest number is=%d",a);
else
printf("The Largest number is=%d",b);
getch();
}

আউটপুট :

Enter value of a,b=10 15
The Largest number is=15

 

অনুশীলন-০৩ : দুটি সংখ্যার মধ্যে ছোট সংখ্যাটি নির্ণয়ের সি ভাষা লেখ।

 

উদাহরণ-০৩ : একটি সংখ্যা জোড় না বিজোড় তা নির্ণয়ের সি ভাষা লেখ।

সি প্রোগ্রাম :

#include<stdio.h>
#include<conio.h>
int main ()
{
int a;
printf("Enter value of a= ");
scanf("%d",&a);
if(a%2==0)
printf("The number is Even");
else
printf("The number is Odd");
getch();
}

আউটপুট :

Enter value of a=11
The number is Odd

 

অনুশীলন-০৪ : একটি সংখ্যা ধনাত্নক না ঋণাত্নক তা নির্ণয়ের সি ভাষা লেখ।
অনুশীলন-০৫ : কোন একটি চাকরিতে আবেদনকারীর বয়সসীমা 18-35 হলে, ঐ চাকরীতে যে কোন ব্যক্তি তার বয়স অনুযায়ি আবেদনের যোগ্য না অযোগ্য তা নির্ণয়ের সি ভাষা লেখ।

 

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

একাধিক শর্ত যাচাইয়ের জন্য সি/সি++ প্রোগ্রামে ”অন্যথায় যদি” অর্থে if-else স্টেটমেন্ট এর if এবং else স্টেটমেন্টের মাঝে else if স্টেটমেন্ট বসে।

else if স্টেটমেন্ট এর গঠন :

if(Condition)
{
statement (s);
}
else if(Condition)
{
statement (s);
}
..........
..........
..........
else 
{
statement (s);
}

 

উদাহরণ-০৪ : একটি সংখ্যা ধনাত্নক, ঋণাত্নক না শূন্য তা নির্ণয়ের সি ভাষা লেখ।

সি প্রোগ্রাম :

#include<stdio.h>
#include<conio.h>
int main ()
{
int n;
printf("Enter value of n= ");
scanf("%d",&n);
if(n==0)
printf("The number is Zero");
else if(n>0)
printf("The number is Positive");
else 
printf("The number is Negative");
getch();
}

আউটপুট :

Enter value of n=68
The number is Positive

 

উদাহরণ-০৫ : দুটি সংখ্যা পরস্পর বড়, ছোট না সমান তা নির্ণয়ের সি ভাষা লেখ।

সি প্রোগ্রাম :

#include<stdio.h>
#include<conio.h>
int main ()
{
int a,b;
printf("Enter value of a,b= ");
scanf("%d%d",&a,&b);
if(a==b)
printf("The numbers are equal");
else if(a>b)
printf("1st number is Large");
else 
printf("2nd number is Large");
getch();
}

আউটপুট :

Enter value of a,b=25 27
2nd number is Large

 

উদাহরণ-০৬ : তিনটি সংখ্যার মধ্যে বড় সংখ্যাটি নির্ণয়ের সি ভাষা লেখ।

সি প্রোগ্রাম :

#include<stdio.h>
#include<conio.h>
int main ()
{
int a,b,c;
printf("Enter value of a,b,c= ");
scanf("%d%d%d",&a,&b,&c);
if((a>b)&&(a>c))
printf("Largest number is=%d",a);
else if((b>a)&&(b>c))
printf("Largest number is=%d",b);
else 
printf("Largest number is=%d",c);
getch();
}

আউটপুট :

Enter value of a,b,c=25 29 81
Largest number is=81

 

উদাহরণ-০৭ : একবার মাত্র printf() ব্যবহার করে তিনটি সংখ্যার মধ্যে বড় সংখ্যাটি নির্ণয়ের সি ভাষা লেখ।

সি প্রোগ্রাম :

#include<stdio.h>
#include<conio.h>
int main ()
{
int a,b,c,Max;
scanf("%d%d%d",&a,&b,&c);
if((a>b)&&(a>c))
Max=a;
else if((b>a)&&(b>c))
Max=b;
else 
Max=c;
printf("Largest number is=%d",Max);
getch();
}

 

অনুশীলন-০৬ : তিনটি সংখ্যার মধ্যে ছোট সংখ্যাটি নির্ণয়ের সি ভাষা লেখ।
অনুশীলন-০৭ : শুধুমাত্র if স্টেটমেন্ট ব্যবহার করে তিনটি সংখ্যার মধ্যে বড় সংখ্যাটি নির্ণয়ের সি ভাষা লেখ।
অনুশীলন-০৮ : শুধুমাত্র if-else স্টেটমেন্ট ব্যবহার করে তিনটি সংখ্যার মধ্যে বড় সংখ্যাটি নির্ণয়ের সি ভাষা লেখ।

 

উদাহরণ-০৮ :একটি বর্ষ অধি-বর্ষ (Leap year) কিনা তা নির্ণয়ের সি ভাষা লেখ।

সি প্রোগ্রাম :

#include<stdio.h>
#include<conio.h>
int main ()
{
int y;
printf("Enter a year= ");
scanf("%d",&y);
if(y%400==0)
printf("Leap year");
else if((y%100!=0)&&(y%4==0))
printf("Leap year");
else 
printf("Not Leap year");
getch();
}

আউটপুট :

Enter a year=2021
Not Leap year

বিকল্প পদ্ধতি : if-else স্টেটমেন্ট ব্যবহার করে একটি বর্ষ অধি-বর্ষ (Leap year) কিনা তা নির্ণয়ের সি ভাষা লেখ।

#include<stdio.h>
#include<conio.h>
int main ()
{
int y;
printf("Enter a year= ");
scanf("%d",&y);
if((y%400==0)||(y%100!=0)&&(y%4==0))
printf("Leap year");
else 
printf("Not Leap year");
getch();
}

 

উদাহরণ-০৯ :একটি অক্ষর Small না Capital তা নির্ণয়ের সি ভাষা লেখ।

সি প্রোগ্রাম :

#include<stdio.h>
#include<conio.h>
int main ()
{
int ch;
printf("Enter a Character= ");
scanf("%c",&ch);
if((ch>='A')&&(ch<='Z'))
printf("Capital Letter");
else if((ch>='a')&&(ch<='z'))
printf("Small Letter");
else 
printf("Is not a Character");
getch();
}

আউটপুট :

Enter a Character=M
Capital Letter

 

উদাহরণ-১০ : লেটার গ্রেড নির্ণয়ের সি ভাষা লেখ।
সি প্রোগ্রাম :

#include<stdio.h>
#include<conio.h>
int main ()
{
int Marks;
printf("Enter value of Marks= ");
scanf("%d",&Marks);
if((Marks>=80)&&(Marks<=100))
printf("your grade is A+");
else if((Marks>=70)&&(Marks<=79))
printf("your grade is A");
else if((Marks>=60)&&(Marks<=69)) 
printf("your grade is A-");
else if((Marks>=50)&&(Marks<=59)) 
printf("your grade is B");
else if((Marks>=40)&&(Marks<=49)) 
printf("your grade is C");
else if((Marks>=33)&&(Marks<=39)) 
printf("your grade is D");
else 
printf("your grade is F");
getch();
}

আউটপুট :

Enter value of Marks=79
your grade is A

অনুশীলন-০৯ : কলেজের ক্রিড়া প্রতিযোগীতায় একাদশ শ্রেণীর শিক্ষার্থীদেরকে A, B ও C দলে বিভক্ত করা হয়। যাদের রোল 1 থেকে 30 তাদেরকে A দলে, যাদের রোল 31 থেকে 60 তাদেরকে B দলে এবং যাদের রোল 61 থেকে 100 তাদেরকে C দলে অন্তর্ভুক্ত করার প্রোগ্রামের অ্যালগরিদম ও ফ্লোচার্ট  তৈরি কর।

Nested if-else স্টেটমেন্ট :

একটি if-else স্টেটমেন্ট এর ভিতরে যখন এক বা একাধিক if-else স্টেটমেন্ট ব্যবহার করা হয় তখন মধ্যবর্তী if-else স্টেটমেন্টকে Nested if-else স্টেটমেন্ট বলে।

Nested if-else স্টেটমেন্ট এর গঠন :

if(Condition)
{
   if(Condition)
    {
     Statement (s);
    }
}

 

উদাহরণ-১১ : Nested if-else স্টেটমেন্ট ব্যবহার করে তিনটি সংখ্যার মধ্যে বড় সংখ্যাটি নির্ণয়।

সি প্রোগ্রাম :

#include<stdio.h>
#include<conio.h>
int main ()
{
int a,b,c;
printf("Enter value of a,b,c= ");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
    if(a>c)
    printf("Largest number is=%d",a);
    else 
    printf("Largest number is=%d",c);
}
else 
{
    if(b>c)
    printf("Largest number is=%d",b);
    else 
    printf("Largest number is=%d",c);
}
getch();
}

আউটপুট :

Enter value of a,b,c=25 29 81
Largest number is=81

 

অনুশীলন-১০ : উপরের সি প্রোগ্রামটির অ্যালগরিদম লেখ।

 

উদাহরণ-১২ : Nested if-else স্টেটমেন্ট ব্যবহার করে একটি বর্ষ অধি-বর্ষ (Leap year) কিনা তা নির্ণয়ের সি ভাষা লেখ।

সি প্রোগ্রাম :

#include<stdio.h>
#include<conio.h>
int main ()
{
int y;
printf("Enter a year= ");
scanf("%d",&y);
if(y%4==0)
{
    if(y%100!=0)
    printf("Leap year");
}
else 
{
    if(y%400==0)
    printf("Leap year");
    else 
    printf("Not Leap year");
}
getch();
}

আউটপুট :

Enter a year=2021
Not Leap year

 

Note : Control Statement এ প্রতিটি Condition এর আন্ডারে একাধিক Statement ব্যবহৃত হলে কার্লিব্রেস “{ }” ব্যবহার করতে হয়। আর যদি একটি Statement ব্যবহৃত হয় তাহলে কার্লিব্রেস “{ }” ব্যবহার না করলেও সমস্যা নেই।

 

switch স্টেটমেন্ট :

একাধিক স্টেটমেন্ট থেকে নির্দিষ্ট কোন স্টেটমেন্ট সম্পাদনের জন্য switch স্টেটমেন্ট ব্যবহৃত হয়। যখন কোন প্রোগ্রামে অনেকগুলো else if স্টেটমেন্ট ব্যবহৃত হয় তখন else if এর পরিবর্তে switch স্টেটমেন্ট ব্যবহৃত হয়। switch স্টেটমেন্ট এর সাথে অতিরিক্ত case, break ও default স্টেটমেন্ট ব্যবহৃত হয়।

switch স্টেটমেন্ট এর ফরম্যাট :

switch(Expression)
{
case 1:
   Block 1;
   break;
case 2:
   Block 2;
   break;
case 3:
   Block 3;
   break;
.........
.........
case n:
   Block n;
   break;
default:
   default Block;
}

 

switch স্টেটমেন্ট এ ৪টি কী-ওয়ার্ড থাকে। যথা-

  • switch
  • case
  • break
  • default

 

উদাহরণ-১৩ : switch স্টেটমেন্ট ব্যবহার করে কোন একটি অক্ষর vowel না consonant তা নির্ণয়ের সি প্রোগ্রাম লেখ।

সি প্রোগ্রাম :

#include
#include
int main ()
{ int ch;
printf("Enter a Character= ");
scanf("%c",&ch);
switch(ch)
{ case 'a':
printf("The Letter is vowel");
break;
 case 'e':
printf("The Letter is vowel");
break;
 case 'i':
printf("The Letter is vowel");
break;
 case 'o':
printf("The Letter is vowel");
break;
 case 'u':
printf("The Letter is vowel");
break;
 case 'A':
printf("The Letter is vowel");
break;
 case 'E':
printf("The Letter is vowel");
break;
 case 'I':
printf("The Letter is vowel");
break;
 case 'O':
printf("The Letter is vowel");
break;
 case 'U':
printf("The Letter is vowel");
break;
default:
printf("The Letter is Consonant");
}
getch();
}

আউটপুট :

Enter a Character=R
The Letter is Consonant

 

Note : switch স্টেটমেন্ট এ অনেকগুলি case একত্রে ব্যবহার করা যায়।

অনুশীলন-১১ : switch স্টেটমেন্ট ব্যবহার করে 0 থেকে 9 পর্যন্ত ডিজিট Spelling নির্ণয়ের সি প্রোগ্রাম লেখ।

 



কন্ডিশনাল কন্ট্রোল স্টেটমেন্ট সম্পর্কীত প্রোগ্রামসমূহের অ্যালগরিদম ও ফ্লোচার্ট দেখতে নিচের লিংকে ক্লিক করুন।

 

 



Written by:

Habibur Rahman(Habib Sir)
Author at www.habibictcare.com
Email:habibbzm2018@gmail.com
Cell: +8801712-128532,+8801913865284

Leave a Reply

Your email address will not be published. Required fields are marked *