Arduino:
সংখ্যা নির্ণয়

কিভাবে:

আরডুইনোতে আপনি নির্মিত ফাংশন ব্যবহার করে সংখ্যাগুলি গোলকরণ করতে পারেন। মুখ্য ফাংশনগুলি হল round, ceil, এবং floor। এখানে একটি দ্রুত ডেমো দেওয়া হল:

void setup() {
  Serial.begin(9600);
  
  float myNumber = 123.4567;

  // নিকটত পূর্ণ সংখ্যায় গোলক
  Serial.println(round(myNumber)); // আউটপুট: 123

  // সবসময় উপরের দিকে গোলক
  Serial.println(ceil(myNumber));  // আউটপুট: 124

  // সবসময় নিচের দিকে গোলক
  Serial.println(floor(myNumber)); // আউটপুট: 123
}

void loop() {
  // লুপ করার জন্য কিছু নেই।
}

গভীর ডুব:

গোলকরণ অ্যালগরিদমের একটি দীর্ঘ ইতিহাস রয়েছে; ডিজিটাল কম্পিউটারের আগে থেকেই এগুলি ছিল। অ্যানালগ কম্পিউটিংয়ে, গোলকরণ একটি শারীরিক প্রক্রিয়া ছিল। ডিজিটাল কম্পিউটিংয়ে, এটি একটি গাণিতিক প্রক্রিয়া।

যখন আমরা একটি অধিক নির্ভুলতা সম্পন্ন টাইপ (float বা double এর মতো) থেকে কম নির্ভুলতা সম্পন্ন টাইপ (যেমন int) এ রূপান্তর করি, তখন গোলকরণ প্রয়োজন হয়। কিন্তু আমরা কিভাবে গোলকরণ করব তা ভিন্ন হতে পারে:

  1. round(): স্ট্যান্ডার্ড গোলকরণ। যদি ভগ্নাংশ 0.5 বা তার বেশি হয়, তাহলে এটি উপরে যায়; নতুবা, এটি নীচে যায়।
  2. ceil(): “ceiling” এর সংক্ষিপ্ত রূপ, সবসময় নিকটতম পূর্ণ সংখ্যায় উপরের দিকে গোলকরণ করে, এমনকি যদি এটি নিচের সংখ্যার কাছাকাছি হয়।
  3. floor(): “ceiling” এর বিপরীত; সবসময় নিচের দিকে গোলকরণ করে।

এই ফাংশনগুলির মধ্যে বাছাই করা নির্ভর করে যে গোলকরণ করা মান কোন উদ্দেশ্যের জন্য। পরিমাপের জন্য স্ট্যান্ডার্ড গোলকরণ প্রয়োজন, মুদ্রা প্রায়শই floor ব্যবহার হয়, যখন ইনভেন্টরি সিস্টেমগুলি সবকিছু হিসেবে ধরে রাখতে ceil ব্যবহার করতে পারে।

আরডুইনোর এই ফাংশনগুলি চালানোর প্রক্রিয়া সহজ; এগুলি নির্দিষ্ট দশমিক স্থানে গোলকরণের মতো অতিরিক্ত কেসগুলি সামলায় না। এর জন্য, একটি কাস্টম ফাংশন বা গভীর গাণিতিক বিশ্লেষণ প্রয়োজন হতে পারে—ভাবুন দশমিকটি সরানোর জন্য গুণ, গোলকরণ করা, তারপর ভাগ করে ফেরত আনা।

গোলকরণের ত্রুটি সঞ্চিত হয়ে, দীর্ঘ গণনা বা পুনরাবৃত্তি প্রক্রিয়াগুলিতে গুরুত্বপূর্ণ প্রভাব ফেলতে পারে। গোলকরণ মানগুলির উপর বহু অপারেশন চালানোর সময় প্রোগ্রামারদের সাবধান থাকতে হবে।

আরও দেখুন:

২. গোলকরণের ফাঁদ এবং কৌশল সম্পর্কে গভীর দৃষ্টিভঙ্গি: Floating Point Guide ৩. কাস্টম গোলকরণ ফাংশন এবং গোলকরণের ত্রুটি হ্যান্ডল করার জন্য এডভান্সড টেকনিক, আপনি একাডেমিক রিসোর্স বা বিস্তারিত প্রোগ্রামিং গাইড দেখতে পারেন।