আসসালামু আলাইকুম
সি প্রোগ্রামিং বাংলা টিউটোরিয়াল পার্ট-১২ তে স্বাগতম। আজকে আমরা কন্ডিশনাল লজিক ব্যবহার করে কিভাবে কোন সংখ্যা জোড় না বিজোড় (even/odd) তা নির্ণয় করব। কন্ডিশনাল লজিক বলতে if else ব্যাবহার করে সংখ্যা জোড় না বিজ়োড় বের করব। if else এর ফরম্যাট টি হচ্ছে –
if (condition)
{
statement;
}
else
{
statement;
}
প্রথমে জোড় বিজোড় সংখ্যা নির্ণয়ের লজিক টা কি জেনে নেই? জোড় সংখ্যা হচ্ছে এমন সংখ্যা যাকে দুই বা দুই এর গুনিতক দিয়ে নিঃশেষে বিভাজ্য করা যায়, অর্থাৎ কোন ভাগশেষ থাকবেনা। আর বিজোড় সংখ্যা হচ্ছে তার উলটো, যাকে দুই বা দুই এর গুনিতক দিয়ে নিঃশেষে বিভাজ্য করা যায়না, অর্থাৎ ভাগশেষ থাকবে। যেমন, ১৪০ একটি জোড় সংখ্যা। আবার, ১৯৯ একটি বিজোড় সংখ্যা।
তাহলে আমরা যদি এই ব্যাখ্যা টিকে আমাদের প্রোগ্রামে ইমপ্লিমেন্ট করতে চাই, তখন আমাদের লজিক কেমন হবে? আমরা প্রথমে যে কোন একটি সংখ্যা নেব। অবশ্যই পূর্ণ সংখ্যা। এরপর সেটাকে ২ বা তার গুনিতক দিয়ে ভাগ করব, যদি ভাগশেষ না থাকে, তবে সঙ্খ্যাটি জোড়, ভাগশেষ থাকলে বিজোড়। খুবই সহজ।
প্রোগ্রামে ভাগশেষ কিভাবে বের করে? “%” চিহ্নটি দিয়ে। আমরা যদি (১৩/২) লিখি, তাহলে ১৩ কে ২ দিয়ে ভাগ করলে যে ভাগফল পাব অর্থাৎ ৬ আসবে। এখানে ভাবশেষ কিন্তু ১। যখন আমরা (১৩%২) লিখব তখন ওই ভাগশেষ ১ ই আমাদের ফলাফল আসবে। আমরা অংকে “সমান সমান” বলতে “=” এই চিহ্নকে বুঝি। প্রোগ্রামে “=” চিহ্নকে “==”, এভাবে দুইবার লেখা হয়, যার অর্থ “সমান সমান” (equal to) বোঝায়।
ধরা যাক, আমরা ৪০ সংখ্যাটি দেখতে চাই জোড় নাকি বিজোড়। সংখ্যাটিকে আমরা int number = 40; এইভাবে number ভেরিয়েবলে ডেক্লায়ার করে নিলাম। ৪০ সংখ্যাটি জোড় হলে ভাগশেষ শূন্য (০) হবে। তাহলে, if (condition) এর এই (condition) এ আমরা কি লিখতে পারি?
if((number % 2) == 0) অর্থাৎ যদি number ভেরিয়েবল এ যে মান আছে সেটি ২ দিয়ে নিঃশেষে বিভাজ্য হয়, অর্থাৎ ২ দিয়ে ভাগ করলে কোন ভাগশেহ না থাকে, তবে if এর যে স্টেটমেন্ট রয়েছে সেটির কাজ হবে অর্থাৎ প্রিন্ট করবে printf(” This number is EVEN number. \n”); । আর যদি তা না হয় অর্থাৎ ভাগশেষ শূন্য না হয়, তাহলে if এর কন্ডিশন সত্যি হবেনা। সেক্ষেত্রে else এর যে স্টেটমেন্ট রয়েছে সেটির কাজ হবে অর্থাৎ প্রিন্ট করবে printf(” This number is ODD number. \n”); ।
#include<stdio.h>
main()
{
int number = 40;
if((number % 2) == 0)
{
printf(” This number is EVEN number. \n”);
}
else
{
printf(” This number is ODD number. \n”);
}
return 0;
}
কোডটি ঝটপট রান করা যাক।
int number = 40; এই লাইনে ৪০ এর জায়গায় অন্যান্য মান বসিয়ে চেষ্টা করুন। যেমন, ১১, ১১৩, ৫৬৭, ৮৭৬, ৬৬ ইত্যাদি।
যে কোন সমস্যায় কমেন্ট করতে পারেন। ধন্যবাদ।