ট্র্যাক
/
AWK
AWK
/
অনুশীলনী
/
গিগাসেকেন্ড
গিগাসেকেন্ড

গিগাসেকেন্ড

সহজ

ভূমিকা

সময় মাপার পদ্ধতিটা আসলে বেশ এলোমেলো। এক মিনিটে ৬০ সেকেন্ড, আর এক ঘণ্টায় ৬০ মিনিট। এটা এসেছে প্রাচীন ব্যাবিলন থেকে, যেখানে তাঁরা তাঁদের সংখ্যা পদ্ধতির ভিত্তি হিসেবে ৬০ ব্যবহার করতেন। এক দিনে ২৪ ঘণ্টা, এক সপ্তাহে ৭ দিন, আর এক মাসে কত দিন? আসলে মাসের দিনসংখ্যা নির্ভর করে আপনি কোন মাসে আছেন তার উপরই নয়, বরং আপনার দেশে কোন ধরনের ক্যালেন্ডার ব্যবহৃত হয় তার উপরও।

কিন্তু তার বদলে যদি আমরা শুধু সেকেন্ড দিয়েই সময়ের ব্যবধান প্রকাশ করি? তাহলে বড় সংখ্যার সেকেন্ডকে আরও সহজে বোঝা যায় এমন পরিমাণে লিখতে আমরা মেট্রিক সিস্টেমের প্রিফিক্স ব্যবহার করতে পারি।

  • একটি খাবারের রেসিপিতে বলা থাকতে পারে, ব্রাউনিগুলোকে ওভেনে দুই কিলোসেকেন্ড (অর্থাৎ দুই হাজার সেকেন্ড) ধরে রান্না করতে দিতে হবে।
  • হয়তো আপনি আর আপনার পরিবার দুই মেগাসেকেন্ডের (অর্থাৎ দুই মিলিয়ন সেকেন্ড) জন্য কোথাও সুদূর দেশে ঘুরতে যাবেন।
  • আর যদি আপনি ও আপনার সঙ্গী এক হাজার মিলিয়ন সেকেন্ড ধরে বিবাহিত থাকেন, তাহলে আপনার এক গিগাসেকেন্ড বিবাহবার্ষিকী উদযাপন করবেন।
Note

যদি আমরা কখনো মঙ্গল গ্রহে বা অন্য কোনো গ্রহে উপনিবেশ স্থাপন করি, তাহলে সময় মাপা আরও জটিল হয়ে উঠবে। যদি কেউ "বছর" বলে, তাহলে সে কি বোঝায় পৃথিবীর বছর, নাকি মঙ্গলের বছর?

এই অনুশীলনীর ধারণা এসেছে লেখক ভার্নর ভিঞ্জের সায়েন্স ফিকশন উপন্যাস "A Deepness in the Sky" থেকে। এতে লেখক সময় পরিমাপের ভিত্তি হিসেবে মেট্রিক সিস্টেম ব্যবহার করেছেন।

নির্দেশনা

আপনার কাজ হলো একটি নির্দিষ্ট তারিখের এক গিগাসেকেন্ড পরে তারিখ ও সময় বের করা।

এক গিগাসেকেন্ড হলো এক হাজার মিলিয়ন সেকেন্ড। অর্থাৎ এক লিখে তার পরে নয়টি শূন্য বসালে যা হয়।

আপনি যদি ২৪ জানুয়ারি, ২০১৫, রাত 22:00 (রাত 10:00:00)-তে জন্মগ্রহণ করে থাকেন, তাহলে ২ অক্টোবর, ২০৪৬, রাত 23:46:40 (রাত 11:46:40)-এ আপনার বয়স এক গিগাসেকেন্ড হতো।

সময় ফাংশন

এই অনুশীলনীতে GNU awk-এর সময় ফাংশন ব্যবহার করা প্রয়োজন।

ডেটটাইম পার্সিং ও ফরম্যাটিং ফাংশনগুলোর জন্য অবশ্যই UTC ফ্ল্যাগ সেট করুন। উদাহরণস্বরূপ:

export TZ=Asia/Kolkata
gawk 'BEGIN {
    time = 1234567890
    print strftime("%Y-%m-%d %T", time)     # format for local timezone
    print strftime("%Y-%m-%d %T", time, 1)  # format for UTC
}'

আউটপুট:

2009-02-14 05:01:30
2009-02-13 23:31:30
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
AWK Exercism

গিগাসেকেন্ড শুরু করতে প্রস্তুত?

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