Jukti (যুক্তি) গাণিতিক অপারেটর (Arithmetic Operators)
গাণিতিক হিসাব-নিকাশ এবং বিভিন্ন ধরনের ডেটার ওপর কাজ করার জন্য
Jukti (যুক্তি)-তে বেশ কিছু গুরুত্বপূর্ণ
Arithmetic Operator রয়েছে। সবচেয়ে পরিচিত অপারেটরগুলো হলো
+, -, *, / এবং %।
Jukti-র Interpreter অপারেটর দেখার পর সংশ্লিষ্ট runtime value-এর operation method ব্যবহার করে ফলাফল তৈরি করে। তাই একই অপারেটর ভিন্ন ধরনের ডেটার ক্ষেত্রে ভিন্ন আচরণ করতে পারে।
Jukti-তে অপারেটরের আচরণ ডেটার টাইপের ওপর নির্ভর করতে পারে।
যেমন 10 + 5 সংখ্যার যোগ করে, আবার
"হ্যালো " + "বিশ্ব" দুটি বাক্যকে যুক্ত করে।
১) সাধারণ গাণিতিক অপারেটর
সংখ্যার ওপর সাধারণ হিসাব করার জন্য Jukti-তে নিচের Arithmetic Operator-গুলো ব্যবহার করা যায়।
| অপারেটর | নাম | উদাহরণ | ফলাফল |
|---|---|---|---|
+ |
যোগ | ১০ + ৫ |
১৫ |
- |
বিয়োগ | ১০ - ৫ |
৫ |
* |
গুণ | ১০ * ৫ |
৫০ |
/ |
ভাগ | ১০ / ৫ |
২ |
% |
ভাগশেষ (Modulo) | ১০ % ৩ |
১ |
সংখ্যার ক্ষেত্রে Jukti-র Number runtime value এই পাঁচটি
অপারেশনের জন্য নির্দিষ্ট আচরণ প্রদান করে।
উদাহরণ কোড
পূর্ণসংখ্যা ক = ১০;
পূর্ণসংখ্যা খ = ৫;
দেখাও "যোগ: " >> ক + খ ;
দেখাও "বিয়োগ: " >> (ক - খ);
দেখাও "গুণ: " >> (ক * খ);
দেখাও "ভাগ: " >> (ক / খ);
দেখাও "ভাগশেষ: " >> (ক % খ);
এই প্রোগ্রামে একই দুটি সংখ্যার ওপর পাঁচটি ভিন্ন Arithmetic Operator ব্যবহার করা হয়েছে।
২) প্লাস (+) অপারেটরের বিশেষ ব্যবহার
Jukti-তে + শুধু সংখ্যার যোগের জন্য সীমাবদ্ধ নয়।
কোন ধরনের value-এর সঙ্গে এটি ব্যবহার করা হচ্ছে তার ওপর ভিত্তি করে
এর কাজ পরিবর্তিত হয়।
২.১ সংখ্যার যোগ
দুটি Number-এর মধ্যে + ব্যবহার করলে সাধারণ গাণিতিক যোগফল পাওয়া যায়।
পূর্ণসংখ্যা ক = ১০;
পূর্ণসংখ্যা খ = ২০;
দেখাও ক + খ;
ফলাফল: ৩০
২.২ বাক্য জোড়া লাগানো (String Concatenation)
Jukti-তে বাক্য (String)-এর সঙ্গে + ব্যবহার করলে
দুটি বাক্য যুক্ত করা যায়। শুধু তাই নয়, একটি String-এর সঙ্গে অন্য ধরনের
value যোগ করলে সেই value-কে text হিসেবে যুক্ত করা হয়।
অর্থাৎ String-এর + অপারেশনটি বেশ flexible।
দেখাও "হ্যালো " + "বিশ্ব";
দেখাও "রোল: " + ১০;
দেখাও "স্কোর: " + (৫০ + ২০);
এখানে প্রথম ক্ষেত্রে দুটি String যুক্ত হয়েছে। দ্বিতীয় ও তৃতীয় ক্ষেত্রে
Number-কে String-এর সঙ্গে যুক্ত করা হয়েছে।
Jukti-র String runtime value অন্য value-কে তার text representation
হিসেবে নিয়ে String-এর সঙ্গে যুক্ত করে।
"নম্বর: " + ৯০ লিখলে Jukti বুঝতে পারে যে বাম পাশের
value একটি String এবং তাই ৯০-কে text হিসেবে যুক্ত করে।
২.৩ তালিকা যুক্ত করা (List Concatenation)
Jukti-তে দুটি তালিকা (Array)-কে + দিয়ে যুক্ত করলে
একটি নতুন বড় তালিকা তৈরি হয়। এটিকে List Concatenation বলা যায়।
তালিকা ক = [১, ২] + [৩, ৪];
দেখাও ক;
ফলাফল:
[১, ২, ৩, ৪]
তবে এখানে একটি গুরুত্বপূর্ণ নিয়ম আছে—তালিকার সঙ্গে শুধুমাত্র
অন্য তালিকা যোগ করা যায়। Array runtime implementation-এ
Array + Array সমর্থিত।
❌ যেমন:
তালিকা ক = [১, ২] + ৩;
তালিকার সঙ্গে Number যোগ করা যাবে না।
২.৪ সময়ের সঙ্গে যোগ
Jukti-তে সময় (Time)-এর সঙ্গেও + ব্যবহার করা যায়।
Time-এর সঙ্গে একটি Number যোগ করলে সেই Number-কে
সেকেন্ড হিসেবে ধরা হয়।
সময় t = এখন;
সময় t2 = t + ৬০;
দেখাও t2;
এখানে ৬০ মানে ৬০ সেকেন্ড। অর্থাৎ t2 হলো
t-এর সময়ের ৬০ সেকেন্ড পরের সময়।
Jukti-র Time runtime value Number-এর সঙ্গে যোগ ও বিয়োগ সমর্থন করে।
সময়ের সঙ্গে সরাসরি Number ব্যবহার করলে সেটি সেকেন্ড হিসেবে কাজ করে।
তাই ১ মিনিটের জন্য ৬০, ১ ঘণ্টার জন্য ৩৬০০
ব্যবহার করা যায়।
৩) গুণ (*) এবং String-এর বিশেষ ব্যবহার
Number-এর ক্ষেত্রে * সাধারণ গুণ করে। কিন্তু Jukti-তে
String-এর সঙ্গেও *-এর একটি বিশেষ ব্যবহার রয়েছে।
একটি String-এর সঙ্গে Number গুণ করলে String-টি নির্দিষ্ট সংখ্যকবার
পুনরাবৃত্তি হয়।
দেখাও "হা" * ৩;
ফলাফল:
হাহাহা
Jukti-র String implementation-এ String × Number এই repetition operation সমর্থিত। নিরাপত্তার জন্য string repetition-এর সর্বোচ্চ সীমাও নির্ধারিত আছে।
"হা" * ৩ এবং ৩ * "হা" একই operation নয়।
Jukti-র বর্তমান implementation-এ String-এর সঙ্গে Number গুণ করলে
String repetition হয়; Number-এর সঙ্গে String গুণ করলে Number-এর
implementation অন্য আচরণ করে।
৪) ইউনারি মাইনাস (Unary Minus)
একটি সংখ্যার আগে - বসিয়ে সেই সংখ্যার বিপরীত চিহ্ন প্রকাশ করা যায়।
এটিকে Unary Operator বলা হয়, কারণ এখানে একটি মাত্র value-এর
ওপর operation করা হয়।
পূর্ণসংখ্যা ক = -১০;
দেখাও ক;
ফলাফল: -১০
Jukti Interpreter-এ Unary Minus-এর জন্য সংখ্যাটিকে -১ দিয়ে
গুণ করার সমতুল্য operation করা হয়।
৫) ভাগ করার ক্ষেত্রে সতর্কতা
গাণিতিকভাবে শূন্য দিয়ে ভাগ করা যায় না। তাই Jukti-তে কোনো Number-কে
০ দিয়ে ভাগ করার চেষ্টা করলে Runtime Error তৈরি হয়।
পূর্ণসংখ্যা ক = ১০;
পূর্ণসংখ্যা খ = ০;
দেখাও ক / খ;
⚠️ Error: শূন্য দিয়ে ভাগ করা যাবে না
Jukti-র Number division operation সরাসরি denominator পরীক্ষা করে; denominator-এর মান শূন্য হলে Runtime Error তৈরি করা হয়।
৬) Modulo (%) এবং শূন্যের নিয়ম
% অপারেটর ভাগশেষ বের করতে ব্যবহৃত হয়।
পূর্ণসংখ্যা ক = ১৭;
পূর্ণসংখ্যা খ = ৫;
দেখাও ক % খ;
ফলাফল: ২
তবে এখানেও শূন্য দিয়ে modulo করা যাবে না। ক % ০ করলে
Jukti Runtime Error তৈরি করে।
৭) নিরাপদভাবে ভাগ করা
ভাগ করার আগে divisor বা যাকে দিয়ে ভাগ করা হচ্ছে সেটি শূন্য কি না পরীক্ষা করা ভালো।
পূর্ণসংখ্যা ক = ১০;
পূর্ণসংখ্যা খ = ০;
যদি খ == ০ {
দেখাও "ভুল! শূন্য দিয়ে ভাগ করা যায় না।";
} নাহলে {
দেখাও "ফল: " >> (ক / খ);
}
নতুনলাইন;
প্রোগ্রাম লেখার সময় শুধু সঠিক ফলাফল জানা যথেষ্ট নয়; কোন input-এর কারণে program error করতে পারে সেটিও বুঝতে হয়। Zero division-এর মতো runtime সমস্যা আগে থেকে যাচাই করা ভালো programming practice।
৮) এক নজরে Jukti Arithmetic Operators
| অপারেটর | মূল ব্যবহার | বিশেষ ব্যবহার |
|---|---|---|
+ |
Number যোগ | String + value, Array + Array, Time + Number |
- |
Number বিয়োগ | Time - Number, Time - Time |
* |
Number গুণ | String × Number repetition |
/ |
Number ভাগ | ০ দিয়ে ভাগ নিষিদ্ধ |
% |
ভাগশেষ | ০ দিয়ে modulo নিষিদ্ধ |
-১০ |
Unary Minus | সংখ্যার চিহ্ন পরিবর্তন |
+,-,*,/,%হলো Jukti-র প্রধান Arithmetic Operator- Number-এর ক্ষেত্রে এগুলো সাধারণ গাণিতিক operation করে
- String-এর সঙ্গে
+ব্যবহার করে value যুক্ত করা যায় - দুটি Array-এর
+তাদের একত্র করে - Time-এর সঙ্গে Number যোগ বা বিয়োগ করলে Number-টি সেকেন্ড হিসেবে কাজ করে
- String × Number করলে String পুনরাবৃত্তি হয়
- Unary
-দিয়ে negative number প্রকাশ করা যায় - ০ দিয়ে ভাগ করলে Runtime Error হয়
- ০ দিয়ে modulo করলেও Runtime Error হয়
🧠 Operator বুঝুন, Logic তৈরি করুন
Programming-এ operator শুধু কিছু চিহ্ন নয়—এগুলো ব্যবহার করেই আমরা ডেটার ওপর কাজ করি, হিসাব করি এবং সমস্যার সমাধানের logic তৈরি করি। Jukti-তে একই ধারণাগুলো পরিচিত বাংলা syntax-এর সঙ্গে শেখার সুযোগ পাওয়া যায়।