صفحة 162 - كتاب المهارات الرقمية - الصف 9 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب المهارات الرقمية - الصف 9 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 9 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

📚 معلومات الصفحة

الكتاب: كتاب المهارات الرقمية - الصف 9 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 9 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

📝 ملخص الصفحة

📚 استخدام وحدة datetime في بايثون

المفاهيم الأساسية

سمة (Attribute) الدالة: خاصية أو قيمة مرتبطة بكائن (مثل تاريخ) يمكن استرجاعها بعد استدعاء الدالة.

دالة date.replace(): تُستخدم لاستبدال محتويات كائن date بالمعاملات المحددة (مثل السنة).

خريطة المفاهيم

```markmap

المكتبات والنماذج البرمجية في بايثون

مفهوم النموذج البرمجي

تعريف

  • حزمة ملفات تحتوي مقاطع برمجية
  • امتدادها .py
  • يتم استيرادها لتنفيذ وظائف

مصادر النماذج

المكتبة القياسية (Standard library)

#### تعريف

  • تُثبَّت تلقائياً مع بايثون
  • جزء أساسي من اللغة
  • تحتوي على أكثر من 200 نموذج برمجي
#### طرق الاستيراد

##### 1. استيراد الكل

  • الأمر: `from module_name import *`
##### 2. استيراد دوال من نموذج برمجي

  • الأمر: `from module_name import function_a, function_b, function_c`
##### 3. استيراد النماذج البرمجية

  • الأمر: `import module_name`
##### أمثلة على نماذجها

###### math

  • الهدف: الوصول إلى دوال وثوابت رياضية شائعة
  • طريقة الاستيراد: `import math`
  • أمثلة على استخدامه:
- الدوال الأكبتان (التقريب)

- `math.ceil(x)`: تقريب الرقم `x` إلى أقرب عدد صحيح أكبر (السقف).

- مثال: `math.ceil(10.1657)` ← 11

- `math.floor(x)`: تقريب الرقم `x` إلى أقرب عدد صحيح أصغر (الأرضية).

- مثال: `math.floor(10.1657)` ← 10

- مثال مع الأرقام السالبة: `math.floor(-10.1657)` ← -11

###### tkinter

  • الهدف: إنشاء واجهات رسومية (GUI).
  • طريقة الاستيراد: `from tkinter import *` (حالة نموذجية لاستيراد الكل بسبب كثرة الدوال المستخدمة).
  • خطوات إنشاء نافذة أساسية:
1. `window = Tk()`: إنشاء كائن النافذة.

2. `window.title("عنوان")`: تحديد عنوان النافذة.

3. `window.geometry("عرضxارتفاع")`: تحديد حجم النافذة.

4. `window.mainloop()`: إبقاء النافذة مفتوحة.

###### time

  • الهدف: توفير دوال للعمل مع الأوقات.
  • طريقة الاستيراد: `import time`
  • أمثلة على استخدامه:
- معرفة الوقت بالساعة والدقيقة (تنسيق 24 ساعة) واليوم من الأسبوع وما إذا كان صباحًا أم مساءً.

- الأمر: `print(time.strftime("%H:%M"), time.strftime("%A %p"))`

- مثال على المخرجات: `10:49 Wednesday AM`

###### datetime

  • الهدف: التعامل مع التواريخ والوقت بكثرة في البرامج المختلفة.
  • طريقة الاستيراد: `import datetime`
  • أمثلة على استخدامه:
- معرفة تاريخ اليوم.

- الأمر: `print(datetime.date.today())`

- مثال على المخرجات: `2023-11-15`

- يمكن استخراج السنة والشهر واليوم من التاريخ.

- استخدام سمة (Attribute) الدالة:

- الصيغة العامة: `module_name.function_name().attribute_name`

- مثال لاستخراج اليوم: `datetime.date.today().day`

- مثال لاستخراج الشهر: `datetime.date.today().month`

- مثال لاستخراج السنة: `datetime.date.today().year`

- حساب الأيام المتبقية لحدث (مثال: يوم التأسيس):

1. استيراد `date` من `datetime`.

2. الحصول على تاريخ اليوم: `today = date.today()`.

3. تحديد تاريخ الحدث: `foundationDay = date(today.year, 2, 22)`.

4. التحقق إذا مضى الحدث هذا العام باستخدام `date.replace()`:

- `if foundationDay < today: foundationDay = foundationDay.replace(year=today.year + 1)`

5. حساب الفرق بالأيام: `time_to_foundationDay = foundationDay - today`.

6. طباعة النتيجة: `print("Days left:", time_to_foundationDay.days)`.

```

نقاط مهمة

  • يمكن استخراج اليوم والشهر والسنة من تاريخ اليوم باستخدام سمات دالة `date.today()`.
  • تُستخدم دالة `date.replace()` لتعديل سنة (أو شهر أو يوم) كائن تاريخ محدد.
  • يمكن حساب الفرق بين تاريخين، والنتيجة تحتوي على سمة `.days` لاستخراج عدد الأيام فقط.
  • مثال تطبيقي: حساب الأيام المتبقية لذكرى يوم التأسيس (22 فبراير).

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

نوع: محتوى تعليمي

يمكنك أن تسأل عن اليوم بطريقة مختلفة باستخدام سمة (Attribute) الدالة. في هذا المثال، تحتاج استخدام سمة (Attribute) اليوم والشهر (month) والسنة (year) من دالة ( )date.today() ويمكنك استخدام نموذج الصيغة الآتية:

نوع: محتوى تعليمي

module_name.function_name().attribute_name

نوع: محتوى تعليمي

# استورد نموذج datetime import datetime # تاريخ اليوم بالتفصيل print(datetime.date.today().day) print(datetime.date.today().month) print(datetime.date.today().year)

نوع: محتوى تعليمي

ستستخدم في المثال الآتي نموذج datetime البرمجي لحساب عدد الأيام المتبقية لذكرى يوم التأسيس.

نوع: محتوى تعليمي

# استورد date من نموذج datetime from datetime import date # اطبع تاريخ اليوم# today = date.today() print("Today is:",today) # اطبع تاريخ ذكرى يوم التأسيس# foundationDay = date(today.year, 2, 22) print("The Foundation day is on",foundationDay)

نوع: محتوى تعليمي

تستخدم دالة date.replace() لاستبدال محتويات كائن date بالمعاملات المحددة.

نوع: محتوى تعليمي

# تحقق مما إذا كان ذكرى يوم التأسيس لهذا العام قد مضت if foundationDay < today: foundationDay = foundationDay.replace(year=today.year + 1)

نوع: محتوى تعليمي

# احسب الأيام المتبقية على الذكرى القادمة ليوم التأسيس time_to_foundationDay = foundationDay - today print("Days left for the Foundation Day:",time_to_foundationDay.days)

نوع: محتوى تعليمي

Today is: 2023-11-15 The Foundation day is on: 2023-02-22 Days left for the Foundation Day: 79

نوع: METADATA

وزارة التعليم Ministry of Education 2025 - 1447

نوع: METADATA

162

📄 النص الكامل للصفحة

يمكنك أن تسأل عن اليوم بطريقة مختلفة باستخدام سمة (Attribute) الدالة. في هذا المثال، تحتاج استخدام سمة (Attribute) اليوم والشهر (month) والسنة (year) من دالة ( )date.today() ويمكنك استخدام نموذج الصيغة الآتية: module_name.function_name().attribute_name # استورد نموذج datetime import datetime # تاريخ اليوم بالتفصيل print(datetime.date.today().day) print(datetime.date.today().month) print(datetime.date.today().year) ستستخدم في المثال الآتي نموذج datetime البرمجي لحساب عدد الأيام المتبقية لذكرى يوم التأسيس. # استورد date من نموذج datetime from datetime import date # اطبع تاريخ اليوم# today = date.today() print("Today is:",today) # اطبع تاريخ ذكرى يوم التأسيس# foundationDay = date(today.year, 2, 22) print("The Foundation day is on",foundationDay) تستخدم دالة date.replace() لاستبدال محتويات كائن date بالمعاملات المحددة. # تحقق مما إذا كان ذكرى يوم التأسيس لهذا العام قد مضت if foundationDay < today: foundationDay = foundationDay.replace(year=today.year + 1) # احسب الأيام المتبقية على الذكرى القادمة ليوم التأسيس time_to_foundationDay = foundationDay - today print("Days left for the Foundation Day:",time_to_foundationDay.days) Today is: 2023-11-15 The Foundation day is on: 2023-02-22 Days left for the Foundation Day: 79 وزارة التعليم Ministry of Education 2025 - 1447 162

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 3 بطاقة لهذه الصفحة

في لغة Python، ما الصيغة الصحيحة للوصول إلى سمة (Attribute) مثل 'اليوم' من دالة 'date.today()'؟

  • أ) module_name.attribute_name.function_name()
  • ب) function_name().module_name.attribute_name
  • ج) module_name.function_name().attribute_name
  • د) attribute_name = module_name.function_name

الإجابة الصحيحة: c

الإجابة: module_name.function_name().attribute_name

الشرح: 1. الصيغة العامة للوصول إلى سمة من دالة هي: اسم_النموذج.اسم_الدالة().اسم_السمة. 2. في المثال: datetime.date.today().day 3. أولاً: datetime (النموذج). 4. ثانياً: date.today() (استدعاء الدالة). 5. أخيراً: .day (الوصول إلى السمة).

تلميح: تذكر ترتيب استدعاء الدالة ثم الوصول إلى السمة.

التصنيف: صيغة/خطوات | المستوى: سهل

في كود Python لحساب الأيام المتبقية لحدث ما، إذا كان تاريخ الحدث لهذا العام قد مضى، ما الوظيفة المستخدمة لتحديث سنة الحدث إلى السنة القادمة؟

  • أ) date.update()
  • ب) date.modify()
  • ج) date.replace()
  • د) date.change()

الإجابة الصحيحة: c

الإجابة: date.replace()

الشرح: 1. تُستخدم دالة replace() لتعديل قيم كائن التاريخ. 2. في المثال: foundationDay = foundationDay.replace(year=today.year + 1) 3. تقوم هذه الدالة بإنشاء كائن تاريخ جديد مع استبدال السنة بالسنة الحالية + 1. 4. هذا ضروري لحساب الأيام المتبقية للذكرى في العام المقبل.

تلميح: تذكر اسم الدالة التي تسمح بتعديل محتويات كائن التاريخ.

التصنيف: تعريف | المستوى: متوسط

في Python، بعد حساب الفرق بين تاريخين (مثل foundationDay - today)، كيف يمكن الحصول على عدد الأيام فقط من الناتج؟

  • أ) استخدام الدالة get_days()
  • ب) استخدام السمة .day (بدون s)
  • ج) استخدام السمة .days
  • د) تحويل الناتج إلى عدد صحيح باستخدام int()

الإجابة الصحيحة: c

الإجابة: استخدام السمة .days

الشرح: 1. عملية طرح كائني تاريخ تُرجع كائناً من نوع timedelta. 2. يحتوي كائن timedelta على معلومات عن الفرق الزمني (أيام، ثوانٍ، إلخ). 3. للوصول إلى عدد الأيام فقط، نستخدم السمة days. 4. في المثال: print("Days left for the Foundation Day:", time_to_foundationDay.days)

تلميح: انظر إلى آخر سطر في المثال الذي يطبع عدد الأيام المتبقية.

التصنيف: مفهوم جوهري | المستوى: متوسط