ট্র্যাক
/
Standard ML
Standard ML
/
অনুশীলনী
/
স্প্লিট-সেকেন্ড স্টপওয়াচ
স্প্লিট-সেকেন্ড স্টপওয়াচ

স্প্লিট-সেকেন্ড স্টপওয়াচ

মধ্যম

ভূমিকা

আপনি সবসময়ই দৌড়েছেন শুধু আনন্দের টানে: কোনো সময়সূচি নেই, কোনো টাইমার নেই, শুধু ফুটপাতে আপনার পায়ের শব্দ।

কিন্তু এখন আপনি যেহেতু একটি প্রতিযোগিতামূলক দৌড়ের দলে যোগ দিয়েছেন, ব্যাপারটা সিরিয়াস হয়ে উঠছে। প্রশিক্ষণের প্রতিটি সেশন সেকেন্ড ধরে মাপা হয়, আর প্রতিটি পলকই গুরুত্বপূর্ণ।

তাল মিলিয়ে চলার জন্য আপনি নিয়ে এসেছেন স্প্লিট-সেকেন্ড স্টপওয়াচ, একটি মসৃণ, হাই-টেক গ্যাজেট, যা এখন আপনার নতুন প্রিয় বন্ধু হতে চলেছে।

নির্দেশনা

আপনার কাজ হলো এমন একটি স্টপওয়াচ তৈরি করা, যা দিয়ে ল্যাপ টাইম নির্ভুলভাবে হিসাব রাখা যাবে।

স্টপওয়াচটি হিসাব রাখতে চারটি কমান্ড (start, stop, lap এবং reset) ব্যবহার করে:

  1. বর্তমান ল্যাপের গোনা সময়
  2. আগে রেকর্ড করা ল্যাপ টাইমগুলো

কোন কোন কমান্ড ব্যবহার করা যাবে, তা নির্ভর করে স্টপওয়াচটি কোন অবস্থায় আছে তার উপর:

  1. প্রস্তুত: প্রাথমিক অবস্থা
  2. চলছে: সময় গোনা হচ্ছে
  3. থেমে আছে: সময় গোনা হচ্ছে না
কমান্ড শুরুর অবস্থা শেষ অবস্থা ফলাফল
Start প্রস্তুত চলছে সময় গোনা শুরু হয়
Start থেমে আছে চলছে সময় গোনা আবার শুরু হয়
Stop চলছে থেমে আছে সময় গোনা বন্ধ হয়
Lap চলছে চলছে বর্তমান ল্যাপটি আগের ল্যাপগুলোর সাথে যোগ করা হয়, তারপর বর্তমান ল্যাপ রিসেট করা হয়
Reset থেমে আছে প্রস্তুত বর্তমান ল্যাপ রিসেট করা হয় এবং আগের ল্যাপগুলো মুছে ফেলা হয়

বাস্তবায়ন

এই অনুশীলনীটি সম্পূর্ণ করতে হলে আপনাকে stopwatch ডেটা টাইপটি ডিফাইন করতে হবে এবং নিচের ফাংশনগুলো বাস্তবায়ন করতে হবে:

  • newStopwatch
  • start
  • stop
  • lap
  • reset
  • advanceTime
  • getState
  • currentLap
  • total
  • previousLaps

একটি ডামি টাইপ ডেফিনিশন আগে থেকেই দেওয়া আছে, তবে ফাংশনগুলো ডিফাইন করা এবং একটি অর্থবহ ডেটা টাইপ তৈরি করা আপনারই কাজ।


সূত্র

Erik Schierboomলিংকটি নতুন উইন্ডো বা ট্যাবে খোলে
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Standard ML Exercism

স্প্লিট-সেকেন্ড স্টপওয়াচ শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Standard ML ট্র্যাকের 90টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।