রং অ্যানসার

যারা বিভিন্ন প্রোগ্রামিং সমস্যা সমাধানের ওয়েবসাইটে কেবল চর্চা করা শুরু করেছ, তাদের জন্য সবচেয়ে সাধারণ ব্যাপার হচ্ছে এই রং অ্যানসার (Wrong Answer)। “স্যাম্পল ইনপুট-আউটপুটের সাথে তো আমার মিলে, তাহলে অনলাইন জাজ কেন রং অ্যানসার দিচ্ছে”?

58306615নমুনা ইনপুট-আউটপুট (Sample Input-Output) মিললেই হবে না। ধরা যাক, কোনো একটা প্রাইম নাম্বার বের করার প্রোগ্রামে নমুনা ইনপুট দেওয়া আছে 3, 5, 7 যার জন্য আউটপুট হচ্ছে প্রাইম। এখন এটা দেখে কেউ যদি এমন প্রোগ্রাম লেখে যে বিজোড় সংখ্যা মাত্রই প্রাইম, তাহলে তো হবে না, তাই না? তাই নিজে নিজে টেস্ট কেইস তৈরি করে আগে নিজে বের করতে হবে যে আউটপুট কী হবে। তারপরে প্রোগ্রামের আউটপুটের সাথে মিলিয়ে দেখবে।

আরেকটা ব্যাপার হচ্ছে আউটপুট ফরম্যাটিং। প্রতিটা টেস্ট কেইসের শেষে নিউলাইন (“\n”) দিতে হবে, যেটা আসল বলে দেওয়া থাকে না। আর দেখতে হবে নমুনা আউটপুটের সাথে যেন হুবুহু মিলে। ছোটহাত-বড়হাতের অক্ষর (Uppercase / lowerse) এবং স্পেস ক্যারেক্টার ঠিকমতো মিলতে হবে। যেমন প্রবলেমের আউটপুটে যদি Case লিখতে বলে আর তুমি case লিখ, তাহলে হবে না। আবার Case 1: লিখতে বললে তুমি যদি Case 1 : লিখ (: এর আগে একটি স্পেস), তাহলেও রং অ্যানসার।

কর্ণার কেস টেস্ট করতে হবে। ধরা যাক তোমাকে বলা হল, a ^ n -এর মান বের করতে। এখন তুমি চট করে প্রোগ্রাম লিখে ফেললে যেটা খুব সহজেই কাজটি করে দেয়। স্যাম্পল আউটপুট তো মিলেই, তুমি নিজেও যেসব ইনপুট-আউটপুট তৈরি করে টেস্ট করলে, সেগুলোও মিলে যায়। কিন্তু এখানে n-এর মান 0 হলে কী হবে? আর ঋণাত্মক হলেই বা কী হবে? এগুলোও কিন্তু তোমার প্রোগ্রামে ঠিকঠাক আউটপুট দিতে হবে।

আরেকটি কারণ হচ্ছে সমস্যার বর্ণনা ঠিকমতো বুঝতে না পারা। আমরা অনেক সময় একবার বা দুবার পড়ে ঠিকঠাক বুঝতে পারি না। তাই রং অ্যানসার হলে সমস্যার বর্ণনা আবার মনোযোগ দিয়ে পড়তে হবে। অনেক সময় দেখবে তখন তুমি উপলব্ধি করবে যে প্রোগ্রাম লেখার সময় তুমি সমস্যাটি ঠিকঠাক বুঝতে পারো নি।

অনেক সময় ফ্লোটিং পয়েন্ট নাম্বার নিয়ে ক্যালকুলেশনের সময় ঝামেলা হয়। সবকিছু ঠিকঠাক থাকলেও ফ্লোটিং পয়েন্ট ক্যালকুলেশনের কারণে তুমি রং অ্যানসার পেতে পার। তাই এই কাজটি ঠিকঠাক করতে হবে। নিচে একটি উদাহরণ দিচ্ছি (পাইথন কোড) :

>>> 2.1 – 1.9
0.20000000000000018

তাই ফ্লোটিং পয়েন্ট নিয়ে কাজ করার সময় সাবধান।

আরেকটা কারণ হচ্ছে ভুল অ্যালগরিদমের ব্যবহার। এটাও আসলে সমস্যার বর্ণনা ঠিকভাবে বুঝতে না পারার ফলেই ঘটে থাকে।
এসব সমস্যা থেকে পরিত্রাণ পাওয়ার উপায় হচ্ছে রং অ্যানসার খেলে সেটা যে তোমারই ভুল, এটা স্বীকার করে নেওয়া (মাঝে-মধ্যে জাজেরও ভুল হতে পারে, তবে সেটা খুবই কম ঘটে)। নিজে আরো চিন্তাভাবনা করা, না পারলে বন্ধুদের সাথে সেটা নিয়ে আলাপ করা। তাতেও কাজ না হলে অনলাইন ফোরাম ঘেঁটে দেখা যে আগে কেউ এরকম সমস্যায় পরেছে কী না এবং সেটা কিভাবে সমাধান হয়েছে।

Facebook Comments

Leave a Reply