جيجاثانية

جيجاثانية

سهل

مقدمة

طريقة قياسنا للزمن فوضوية نوعًا ما. فالدقيقة تحتوي على 60 ثانية، والساعة على 60 دقيقة. وهذا يعود إلى بابل القديمة، حيث استخدموا العدد 60 أساسًا لنظامهم العددي. واليوم فيه 24 ساعة، والأسبوع فيه 7 أيام، أما الشهر فكم يومًا فيه؟ حسنًا، عدد أيام الشهر لا يعتمد على الشهر نفسه فقط، بل يعتمد أيضًا على نوع التقويم المستخدم في البلد الذي تعيش فيه.

فماذا لو استخدمنا الثواني وحدها، بدلًا من ذلك، للتعبير عن الفواصل الزمنية؟ حينها يمكننا استخدام سوابق النظام المتري لكتابة أعداد كبيرة من الثواني بمقادير أسهل على الفهم.

  • قد تشرح وصفة طعام أن عليك ترك البراونيز ينضج في الفرن لمدة كيلوثانيتين (أي ألفي ثانية).
  • وربما تسافر أنت وعائلتك إلى مكان بعيد لمدة ميغاثانيتين (أي مليوني ثانية).
  • وإذا كنت أنت وزوجك متزوجين منذ ألف مليون ثانية، فستحتفلان بمرور غيغاثانية واحدة على زواجكما.
Note

لو استعمرنا المريخ أو أي كوكب آخر يومًا ما، فسيصبح قياس الزمن أكثر فوضوية مما هو عليه الآن. وإذا قال أحدهم "سنة"، فهل يقصد سنة على الأرض أم سنة على المريخ؟

جاءت فكرة هذا التمرين من رواية الخيال العلمي "A Deepness in the Sky" للمؤلف Vernor Vinge. وفيها يستخدم المؤلف النظام المتري أساسًا لقياس الزمن.

التعليمات

مهمتك هي تحديد التاريخ والوقت بعد جيجا ثانية واحدة من تاريخ معيّن.

الجيجا ثانية هي ألف مليون ثانية. أي الرقم واحد تليه تسعة أصفار.

إذا وُلدت في 24 يناير 2015 الساعة 22:00 (10:00:00 مساءً)، فسيكون عمرك جيجا ثانية واحدة في 2 أكتوبر 2046 الساعة 23:46:40 (11:46:40 مساءً).

قراءة الأعداد الطويلة وكتابتها

غالبًا ما يُقرأ الكود أكثر مما يُكتب، وقد تكون قراءة عدد كبير أو طويل وسط نص آخر أمرًا صعبًا. فيما يلي أسلوبان لجعل الأعداد أكثر قابلية للقراءة:

  1. استخدام الشرطات السفلية في الأعداد الحرفية. فقراءة 1_000_000 أسهل من قراءة 1000000، وتتبّع 10_100_201_330 أسهل من تتبّع 10100201330. لمزيد من المعلومات، راجع PEP-0515.

  2. استخدام الصيغة الأسية أو الصيغة العلمية. يشير الحرف e (أو E) المتبوع بعدد صحيح إلى قوة العشرة التي يُضرب فيها العدد الذي يسبقه (أي: 1e6، حيث يُضرب 1 في 10 مرفوعة إلى القوة 6، وهو ما يساوي 1000000). لمزيد من التفاصيل، اطّلع على هذا المرجع حول الصيغة العلمية.

التواريخ والأوقات في Python

يستكشف هذا التمرين كائنات من وحدة datetime في Python:

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Python Exercism

مستعد لبدء جيجاثانية؟

سجّل في Exercism لتتعلّم وتتقن Python عبر 17 مفهومًا146 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.