Ticker

6/recent/ticker-posts

The A - Z Of এইচ এস সি ২০২৫ এর গুরুত্বপূর্ণ কিছু প্রোগ্রাম

  • The A - Z Of এইচ এস সি ২০২৫ এর গুরুত্বপূর্ণ কিছু প্রোগ্রাম
প্রশ্ন-১। বয়সের ক্যাটাগরি অনুসারে মানুষকে ৩ ভাগে ভাগ করে ব্যাক্তিকে সনাক্ত করার প্রোগ্রাম লিখ।
সমাধানঃ
#include<stdio.h>
main(){
int a;
printf("Enter your age:");
scanf("%d",&a);
if(a<18)
    printf("You are child");
else if(a>18 && a<45)
    printf("you are young");
else
    printf("You are bury");
}
ব্যাখ্যাঃ
    প্রোগ্রামটিতে প্রথমে ব্যবহার কারির থেকে একটি ইন্টিযার মান নিয়ে তা a এর মধ্যে সংরক্ষন করতে হবে। আমরা বয়সকে ৩টি ভাগে ভাগ করে নেব। যেমন: ১৮ বছরের নিচে হলে ধরে নেব শিশু, যদি ১৮ থেকে বড় এবং ৪৫ বছরে মধ্যে বয়স হয় তাহলে ধরে নেব যুবক এবং যদি ৪৫ এর চেয়ে বেশি বয়স হয় তাহরে বৃদ্ধ ধরেনেব। 
এখন, if statement এর মাধ্যমে যাচাই করব যে ব্যবহার কারি যে মান দিয়েছে তা ১৮ থেকে ছোটে কি না।
যদি ছোটো হয় তাহলে তাকে ম্যাসেজ দেখাবে আপনি শিশু। আর যদি ১৮ থেকে বড় এবং ৪৫ থেকে ছোট হয় তাহলে তাকে ম্যাসেজ দিবে আপনি যুবক এবং ৪৫ এর চেয়ে বড় মান হলে দেখাবে আপনি বৃদ্ধ। এবার ফলাফল প্রোদর্শন করতে হবে।

প্রশ্ন-২। ৩টি সংখ্যার মধ্যে বড় সংখ্যা বাছাই করার পদ্ধতি।
সমাধানঃ
#include<stdio.h>
main(){
int a,b,c;
printf("Enter your 3 Number:");
scanf("%d%d%d",&a,&b,&c);
if(a>b && a>c)
    printf("Big number is A");
else if(b>a && b>c)
    printf("Big number is B");
else
    printf("Big number is C");
}

ব্যাখ্যা: তিনটি সংখ্যার মধ্যে প্রথমে a যদি ৮ এর চেয়ে বড় হয় (প্রথম if) এবং (৪৪) একই সাথে আ যদি c এর চেয়ে বড় হয় তাহলে এ (ফলাফল) হবে সবচেয়ে বড় সংখ্যা এবং a এর মান প্রিন্ট করবে। আর যদি তা না হয় তাহলে পরবর্তী (if) অর্থাৎ ৮ যদি এর চেয়ে বড় হয়, তাহলে ৮ (ফলাফল) হবে সবচেয়ে বড় সংখ্যা এবং ৮ এর মান প্রিন্ট করবে।

আর যদি উপরের দুইটি অর্থাৎ if এর শর্ত সত্য না হয়, তাহলে (ফলাফল) হবে সবচেয়ে বড় সংখ্যা এবং ০ এর মান প্রিন্ট করবে।

 প্রশ্ন-৩। ছোট হাতের অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করার প্রোগ্রাম লিখ।
সমাধানঃ
#include<stdio.h>
main(){
char n,f;
printf("\nEnter your One letter:");
scanf("%c",&n);
f=n-32;
printf("Big letter :%c",f);
return 0;
}
 প্রশ্ন-৪। বড় হাতের অক্ষরকে ছোট হাতের অক্ষরে রূপান্তর করার প্রোগ্রাম লিখ।
সমাধানঃ
#include<stdio.h>
main(){
char n,f;
printf("\nEnter your One letter:");
scanf("%c",&n);
f=n+32;
printf("Small letter: %c",f);
return 0;
}
 প্রশ্ন-৫।  ল.সা.গু নির্ণয় করার প্রোগ্রাম রচনা কর।
সমাধানঃ
#include<stdio.h>
main(){
int a,b,k;
printf("Enter your two integer number:");
scanf("%d%d",&a,&b);
if(a>b)
    k=a;
else
    k=b;
again:if(k%a==0 && k%b==0)
    printf("The LCD of %d and %d is %d",a,b,k);
    else{
        k=k+1;
        goto again;
    }
    return 0;
}
ব্যাখ্যাঃ
উক্ত প্রোগ্রামটিতে ল.সা.গু. বের করার জন্য- যে সংখ্যা দুইটির ল.সা.গু. বের করা হবে, তা a ও b ভেরিয়েবলের মধ্যে রাখা হয়েছে। দুইটি সংখ্যার মধ্যে বড় সংখ্যাটি k ভেরিয়েবলের মধ্যে রাখা হয়েছে।

এবার k এর মানকে a ও b দিয়ে নিঃশেষে বিভাজ্য হবে, এমন মানই হলো a ও b এর মধ্যে রাখা সংখ্যা দুইটির ল.সা.গু.। এ শর্তের জন্য প্রোগ্রামে লেখা হয়েছে:

if(k%a=0 && k%b=0)

প্রোগ্রামটি রান করিয়ে আমরা যদি 9 এবং 15 ইনপুট করি, তাহলে ল.সা.গু পাব 45। এটি যেভাবে হয়েছে:

9 এবং 15 এর মধ্যে 15 হলো বড়, তাই k = 15. এখন k কে a অর্থাৎ 15 দিয়ে এবং b অর্থাৎ 9 দিয়ে ভাগ করে নিঃশেষে বিভাজ্য হয় কিনা তা পরীক্ষা করা হচ্ছে।

যদি না হয়, তাহলে k এর মান 1 করে বাড়তে থাকবে যতক্ষণ না এর মান এমন হবে, যা 9 ও 15 দিয়ে বিভাজ্য হয়। k এর মান 15 থেকে 1 বেড়ে 16 হলো, যা 9 ও 15 দিয়ে বিভাজ্য নয়। এভাবে k এর মান 1 করে বেড়ে বেড়ে 18 হলে 9 দিয়ে বিভাজ্য হয় কিন্তু আবার 15 দিয়ে বিভাজ্য হয় না। দুটি শর্ত (এবং এর কারণে) পূরণ হলে কাঙ্ক্ষিত মান পাওয়া যাবে।

এভাবে k এর মান 1 করে বেড়ে বেড়ে 27 হলে 9 দিয়ে বিভাজ্য হয় কিন্তু আবার 15 দিয়ে বিভাজ্য হয় না। কিন্তু k এর মান 1 করে বেড়ে বেড়ে 45 হলে 9 দিয়ে বিভাজ্য হয় এবং 15 দিয়েও বিভাজ্য হয়। তাই 45 ই হলো 9 ও 15 এর ল.সা.গু.।

 প্রশ্ন-৬। গ.সা.গু নির্ণয়ের প্রোগ্রাম রচনা কর।


সমাধানঃ
#include<stdio.h>
main(){
int a,b,k,gcd;
printf("Enter the two integer number:");
scanf("%d%d",&a,&b);
if(a<b){
    k=a;
}else{
    k=b;
    }
    for(k=a;k>=1;k--){
        if(a%k==0 && b%k==0){
            gcd=k;
            break;
        }
    }
printf("GCD is %d \n",gcd);
return 0;
}

ব্যাখ্যাঃ
প্রথমেই সংখ্যা দুইটির মধ্যে ছোট সংখ্যাটি x এর মধ্যে রাখা হয়েছে। এবার x এর এই সংখ্যা দিয়ে ইনপুট নেয়া সংখ্যা দুইটি নিঃশেষে বিভাজ্য হয় কিনা সেটি পরীক্ষা করার জন্য a % x == ০ এবং ৮ % x == ০ লেখা হয়েছে। যদি নিঃশেষে বিভাজ্য হয়, তাহলে এটিই গ.সা.গু.।

যেমন, সংখ্যা দুইটি যদি ১০ ও ৩০ হয়, তাহলে ১০ এর মান x এর মধ্যে রাখা হয়েছে। এবার এই ১০ দিয়ে সংখ্যা দুইটি (১০ ও ৩০) কে ভাগ করা হয়েছে। এক্ষেত্রে ১০ দিয়ে নিঃশেষে বিভাজ্য হওয়ায় এটিই গ.সা.গু.। কিন্তু দুইটি সংখ্যা ১২ ও ৩০ এর ক্ষেত্রে ছোট সংখ্যা ১২ দিয়ে নিঃশেষে বিভাজ্য নয়। তাই প্রতিবার ১ করে মাইনাস করে (x--) যে সংখ্যা হয় সেটি দিয়ে ভাগ করে দেখা হয়েছে নিঃশেষে বিভাজ্য কিনা।' ১২-১=১১ দিয়ে বিভাজ্য নয়। ১১-১=১০ দিয়ে বিভাজ্য নয়। ১০-১=৯ দিয়ে বিভাজ্য নয়। এভাবে করতে করতে দেখা গেল ৭-১=৬ দিয়ে বিভাজ্য হয়। তাই ১২ ও ৩০ সংখ্যা দুইটির গ.সা.গু. হলো ৬।

Post a Comment

0 Comments