পাটি গনিতে আমরা যে সকল Operators ব্যাবহার করছি তাই হল Arithmetic Operators। যেমন যোগ, গুন, ভাগ ইত্যাদি।
Operator | ব্যাবহার |
+ | যোগ |
- | বিয়োগ |
* | গুণ |
/ | ভাগ |
% | ভাগশেষ |
যোগ, গুন, ভাগ ইত্যাদির তো উদাহরন দেওয়ার কিছুই নেই, আমরা ইচ্ছে করলেই পারি তাই না? উপরের সকর Operator সম্পর্কে ই আমরা জানি শুধু %(একে Reminder অথবা Mode বলে) Operator ছাড়া। % এর কাজ একটি উদাহরন দিয়ে ব্যাখ্যা করি।
মড মূলত ভাগশেষ ভ্যালু। এই Mode (%) নিয়ে কাজ করার একটা সুন্দর নাম রয়েছে, যাকে বলে Modulus Arithmetic। Mode এর অনেক কাজ রয়েছে।
বাস্তব একটা উদাহরন দেওয়া যাক।
আমরা সময় হিসেব করি, তা একটা মডুলাস এরিথম্যাটিক বা মডুলাস পাটীগণিত। আমরা যদি ১২ ঘন্টার ঘড়ির কথা চিন্তা করি, তাহলে দেখব ১২ এর পর ১৩ না হয়ে ১ টা ধরি আমরা। আর ঘড়ির এই হিসাবকে বলা যায় ১২ এর মডুলাস এরিথম্যাটিক। আমরা করি কি, প্র্যতকটা ঘন্টাকে ১২ দিয়ে ভাগ করে দি। ১ টা বাজলেও ১২ দিয়ে ভাগ করি। ২ টা বাজলেও। তেমনি ১৫টা বাজলেও। তো যখন ১৫টা বাজে, তখন আমরা মুলত দেখি (১৫%১২) = ৩ বা তিনটা। আস্তে আস্তে আমরা এরকম অনেক গুলো মডুলাস এরিথম্যাটিক নিয়ে কাজ করতে পারব।
মূলত মডের কাজ হচ্ছে একটা লিমিট সেট করে দেওয়া। ঐ লিমিট ক্রস করলে আবার প্রথম থেকে কাউন্ট শুরু হবে। ঘড়ির টাইমের ক্ষেত্রে যেমন, তেমনি।
২৪ ঘন্টার ঘড়ি গুলোতে ২৪ হচ্ছে সর্বোচ্চ ভ্যালু। তো ২৪ এর পর ২৫ না হয়ে হয় (২৫%২৪) = ১।
১৫%৪ = কত হবে?
১৫%৪ এটার উত্তর হবে ৩ কারন ১৫ কে ৪ দ্বারা ভাগ করলে ভাগশেষ থাকে ৩।
মড এর মান সব সময় পূর্ন সংখা হবে। অর্থাৎ ১৫.৫%৪ এর ভাগ শেষ হচ্ছে ৩.৫ কিন্তু এর মান হবে ৩।
মড সব সময় পজেটিভ হবে। ১৫%-৪ এর মান হবে ৩। -১৫%৪এর মান হবে -৩। -১৫%-৪এর মান হবে-৩। ইত্যাদি।
নিচের প্রোগ্রামটা দেখিঃ
#include <stdio.h>int main(){int x =11%3;printf("%d", x);return 0;}
11 কে ৩ দিয়ে ভাগ করলে ভাগশেষ ২ থাকার কথা, তাই না? তাই আমাদের পোগ্রামের আউটপুট হচ্ছে। 2
#include <stdio.h>int main(){int x =12%3;printf("%d", x);return 0;}
12 কে 3 দিয়ে ভাগ করলে ভাগশেষ ০ থাকার কথা, তাই আমাদের আউটপুটও ০;