সময়রক্ষক


এই অনুশীলনীটি মূলত সময়কাল নিয়ে, তবে সাধারণ সময়-সংক্রান্ত অনুশীলনীর জন্যও ব্যবহার করা যায়।

গল্প

সারা একজন টাইম-কিপার। আসলে তার মতো ভালো আর কেউ নেই। শিশুরা যখন জিজ্ঞেস করে টাইম-কিপার কী করে, তখন সে তাদের সাদা বালিতে ভরা একটি বয়াম দেখাতে ভালোবাসে। দেখুন, সে বলে: "আমি সময়কে নিরাপদে রেখে দিচ্ছি!"

তার আসল কাজটা তেমন রোমান্টিক নয়, তবুও তার কাছে এটি খুবই চিত্তাকর্ষক ও পরিতৃপ্তিদায়ক কাজ। টাইমিং সরঞ্জামে ভরা ব্যাগ নিয়ে সে সারা বিশ্বের ক্রীড়া প্রতিযোগিতায় উড়ে যায় এবং প্রতিটি খেলোয়াড়ের সময় মাপে।

এই অনুশীলনীতে আপনি কিছু ফাংশন লিখবেন সারার নতুন টাইমিং সফটওয়্যারের জন্য, যা বানাতে সে আপনাকে বলেছে। এখানে কোনো ভুল চলবে না, নইলে পরে সফটওয়্যারে bug পাওয়া গেলে পরের বিশ্ব রেকর্ডটি বৈধ নাও হতে পারে! এই দায়িত্ব নেওয়ার জন্য আপনি তৈরি তো?

নোট

টাইমকিপিং হার্ডওয়্যার থেকে আসা ডেটা সাধারণত একটি টাইম স্ট্যাম্প হয় (সময়, datetime বা এমনকি টাইম জোন-সহ)। এর নির্ভুলতা বেশ উচ্চ, সাধারণত ১ মিলিসেকেন্ড পর্যন্ত, কখনও কখনও ১০০ মাইক্রোসেকেন্ড পর্যন্তও। প্রতিটি হার্ডওয়্যার ডিভাইসের একটি অভ্যন্তরীণ ঘড়ি থাকে, যা অন্য সব ডিভাইসের সঙ্গে সিঙ্ক্রোনাইজ করা থাকতে হয়।

কাজ

এগুলো এমন কিছু নমুনা কাজ যা টাইম-কিপার অনুশীলনীর সঙ্গে মানানসই:

  • সময়কাল বের করতে স্টার্ট ও ফিনিশ টাইমের পার্থক্য নিন।
  • একটি টাইমিং ডিভাইস অন্য একটি টাইম জোনে আছে। আলাদা টাইম জোনের ২টি সময়ের পার্থক্য হিসাব করুন।
  • একটি টাইমিং ডিভাইসে ইন্টারনেট সংযোগ নেই। প্রথম ১০ জন দৌড়বিদের ক্ষেত্রে একজন সহকারী ফোনে আপনাকে রেকর্ড করা সময়গুলো পড়ে শোনাচ্ছে। এগুলো "10h5m19.234s" ফরম্যাটে লেখা হয়, যা পার্স করতে হবে।
  • আগেভাগে শুরুর ঘটনাটি ব্যাকআপ ভিডিও ক্যামেরায় রেকর্ড হয়েছে। ভুল স্টার্ট টাইম থেকে একটি নির্দিষ্ট সময়কাল বিয়োগ করে নতুন স্টার্ট টাইম বের করুন।
  • কোনো ইভেন্ট চলার সময় অনেক এলোমেলো সময় ধরা পড়ে। ওই সব "অনাকাঙ্ক্ষিত" সময় উপেক্ষা করার জন্য টাইম-কিপার একটি টাইমিং ডিভাইসের সময় শুরুর পরে কেবল একটি নির্দিষ্ট সময়সীমার মধ্যে গ্রহণ করতে পারেন। যেমন শুরুর ১০ মিনিট থেকে ৩০ মিনিটের মধ্যে। ইনপুট হিসেবে start time (টাইম স্ট্যাম্প), from ও to (সময়কাল) এবং detection (টাইম স্ট্যাম্প) নিয়ে একটি ফিল্টার ফাংশন বানান।
  • লিডারবোর্ডে একটি সময়কালের আউটপুট "1h5m19.234s +4.843" ফরম্যাটে সাজান, যেখানে +4.843 হলো লিডারের (প্রথম স্থানে থাকা দৌড়বিদের) সঙ্গে পার্থক্য।

ইমপ্লিমেন্টেশন

  • এখনও নেই

সম্পর্কিত