مثال على استخدام global - كتاب المهارات الرقمية - الصف 8 - الفصل 1 - المملكة العربية السعودية

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

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

الدرس: مثال على استخدام global

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

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

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

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

📝 ملخص الصفحة

📚 نطاق المتغيرات في البرمجة

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

المتغير العام (Global Variable): متغير يُعرّف في المستوى الأعلى من المقطع البرمجي الرئيسي، ويمكن الوصول إليه وتعديله من داخل الدوال باستخدام الكلمة الأساسية `global`.

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

```markmap

الدوال في بايثون

تعريف الدالة

الكلمة الأساسية `def`

اسم الدالة

النقطتان `:`

محتوى الدالة (Function Body)

#### المعاملات (Parameters)

##### تُحدد داخل الأقواس `()`

##### مفصولة بفاصلة

##### متغيرات محلية (Local Variables)

###### نطاق المتغير المحلي

####### داخل الدالة فقط

####### لا تؤثر في المتغيرات العامة بنفس الاسم

####### تبدأ وتنتهي مع تنفيذ الدالة

##### الوسائط الافتراضية (Default Arguments)

###### الغرض

####### جعل بعض المعاملات اختيارية

####### استخدام قيم افتراضية إذا لم يتم تمرير قيمة

###### طريقة التعيين

####### وضع عامل الإحالة `=` متبوعًا بالقيمة الافتراضية بعد تسمية المعاملات

####### مثال: `def helloFunction(message="مرحباً"):`

###### طريقة الاستخدام

####### استدعاء الدالة بدون وسائط: تُستخدم القيمة الافتراضية

####### استدعاء الدالة بقيمة مختلفة: يتم تجاوز القيمة الافتراضية

#### عبارة الإرجاع `return`

##### الغرض

###### إنهاء تنفيذ الدالة

###### إرجاع قيمة التعبير

##### قواعد الاستخدام

###### لا يمكن استخدامها خارج الدالة

###### في حال عدم إضافتها، لا تعيد الدالة أي شيء

##### الفرق بين `return` و `print`

###### `return`: يعطي قيمة أو ردًا لمستخدم الدالة

###### `print`: ينتج نصًا مطبوعًا على الشاشة

استدعاء الدالة

استخدام اسم الدالة متبوعًا بأقواس `()`

تمرير الوسائط (Arguments)

#### قيم تُمرر للمعاملات عند الاستدعاء

الميزة الرئيسية

إمكانية الاستدعاء مرارًا وتكرارًا

المتغيرات العامة (Global Variables)

نطاقها

#### في المستوى الأعلى من المقطع البرمجي

طريقة التصريح

#### استخدام الكلمة `global`

الغرض

#### تعيين قيمة لاسم محدد في المستوى الأعلى من جزء المقطع البرمجي

مثال على استخدام `global`

#### `x = 50`

#### `def func():`

##### `global x`

##### `print("قيمة x هي", x)`

##### `x = 2`

##### `print("لقد غيرت x العامة إلى", x)`

#### `func()`

#### `print("قيمة x هي", x)`

#### المخرجات:

##### `قيمة x هي 50`

##### `لقد غيرت x العامة إلى 2`

##### `قيمة x هي 2`

دوال جاهزة في بايثون

`print()`

`len()`

`range()`

`input()`

```

نقاط مهمة

  • يؤدي إسناد قيمة لمتغير عام داخل دالة (باستخدام `global`) إلى تغيير قيمته في المقطع البرمجي الرئيسي.
  • يمكن تمثيل نطاق المتغيرات بشكل هرمي: المقطع البرمجي الرئيسي (أوسع نطاق)، ثم المتغير العام، ثم المتغير المحلي داخل الدالة (أضيق نطاق).

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

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

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

في المثال التالي يستخدم فيه الأمر العام (global) للإشارة إلى أن x هو متغير عام، حيث يؤدي إسناد قيمة إلى x داخل الدالة لتغيير قيمة x في الجزء الرئيس.

مثال على استخدام global

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

x = 50 def func(): global x print("قيمة x هي", x) x = 2 print("لقد غيرت x العامة إلى", x) func() print("قيمة x هي", x)

مخرجات البرنامج

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

قيمة x هي 50 لقد غيرت x العامة إلى 2 قيمة x هي 2

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

المقطع البرمجي الرئيس

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

المتغير العام

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

دالة

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

المتغير المحلي

نوع: NON_EDUCATIONAL

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

نوع: NON_EDUCATIONAL

168

🔍 عناصر مرئية

تمثيل نطاق المتغيرات

A conceptual diagram illustrating variable scope using three nested gear-shaped circles. The outermost grey gear represents the main program block, the middle green gear represents the global variable scope, and the innermost orange gear represents the local variable scope. Lines connect labels to each gear and to the function boundary.

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

في المثال التالي يستخدم فيه الأمر العام (global) للإشارة إلى أن x هو متغير عام، حيث يؤدي إسناد قيمة إلى x داخل الدالة لتغيير قيمة x في الجزء الرئيس. --- SECTION: مثال على استخدام global --- x = 50 def func(): global x print("قيمة x هي", x) x = 2 print("لقد غيرت x العامة إلى", x) func() print("قيمة x هي", x) --- SECTION: مخرجات البرنامج --- قيمة x هي 50 لقد غيرت x العامة إلى 2 قيمة x هي 2 المقطع البرمجي الرئيس المتغير العام دالة المتغير المحلي وزارة التعليم Ministry of Education 2025 - 1447 168 --- VISUAL CONTEXT --- **DIAGRAM**: تمثيل نطاق المتغيرات Description: A conceptual diagram illustrating variable scope using three nested gear-shaped circles. The outermost grey gear represents the main program block, the middle green gear represents the global variable scope, and the innermost orange gear represents the local variable scope. Lines connect labels to each gear and to the function boundary. X-axis: N/A Y-axis: N/A Data: N/A Context: Illustrates the hierarchical nature of variable scope in programming, showing how different types of variables (main program, global, local, function) relate to each other in terms of accessibility.

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

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

ما هو الغرض من استخدام الكلمة المفتاحية `global` داخل دالة في لغة بايثون؟

  • أ) لإنشاء متغير جديد خاص بالدالة فقط.
  • ب) لتعديل قيمة متغير عام تم تعريفه خارج الدالة من داخل الدالة نفسها.
  • ج) لجعل جميع المتغيرات داخل الدالة مرئية للبرنامج الرئيسي.
  • د) لحذف متغير عام من الذاكرة بعد انتهاء عمل الدالة.

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

الإجابة: لتعديل قيمة متغير عام تم تعريفه خارج الدالة من داخل الدالة نفسها.

الشرح: 1. المتغيرات العامة تُعرّف خارج أي دالة. 2. داخل الدالة، المتغيرات تُعتبر محلية افتراضياً. 3. استخدام `global` يخبر المترجم أن المتغير المشار إليه هو نفسه المتغير العام الموجود خارج الدالة. 4. هذا يسمح للدالة بقراءة وتعديل قيمة ذلك المتغير العام مباشرة.

تلميح: فكر في كيفية تغيير متغير موجود في البرنامج الرئيسي من داخل دالة.

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

في المثال البرمجي المعطى، ما الذي يحدث عند تنفيذ السطر `x = 2` داخل الدالة `func()` بعد استخدام `global x`؟

  • أ) يتم إنشاء متغير محلي جديد اسمه `x` وقيمته 2، ولا يتأثر المتغير العام.
  • ب) يتم تغيير قيمة المتغير العام `x` من 50 إلى 2، وهذا التغيير يظهر في البرنامج الرئيسي أيضاً.
  • ج) يحدث خطأ لأن `x` غير معرف داخل الدالة.
  • د) يتم إضافة القيمة 2 إلى القيمة الأصلية للمتغير العام `x`، فتصبح 52.

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

الإجابة: يتم تغيير قيمة المتغير العام `x` من 50 إلى 2، وهذا التغيير يظهر في البرنامج الرئيسي أيضاً.

الشرح: 1. تم تعريف `x = 50` في البرنامج الرئيسي (متغير عام). 2. داخل الدالة `func()`، تم الإعلان `global x`. 3. عند تنفيذ `x = 2` داخل الدالة، يتم تعديل المتغير العام `x` نفسه. 4. لذلك، عند طباعة `x` بعد استدعاء الدالة، تكون قيمته الجديدة 2.

تلميح: انظر إلى مخرجات البرنامج: القيمة تتغير من 50 إلى 2 داخل وخارج الدالة.

التصنيف: سؤال اختبار | المستوى: سهل

ما الفرق الرئيسي بين المتغير العام والمتغير المحلي من حيث النطاق؟

  • أ) المتغير العام يُخزن في ذاكرة أسرع من المتغير المحلي.
  • ب) المتغير العام يمكن الوصول إليه من أي مكان في البرنامج، بينما المتغير المحلي يمكن الوصول إليه فقط داخل الدالة أو الكتلة التي عُرف فيها.
  • ج) المتغير المحلي يجب أن يبدأ اسمه بحرف كبير، بينما المتغير العام يبدأ بحرف صغير.
  • د) المتغير العام يُحذف تلقائياً بعد انتهاء تنفيذ الدالة، بينما المتغير المحلي يبقى.

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

الإجابة: المتغير العام يمكن الوصول إليه من أي مكان في البرنامج، بينما المتغير المحلي يمكن الوصول إليه فقط داخل الدالة أو الكتلة التي عُرف فيها.

الشرح: 1. نطاق المتغير هو الجزء من البرنامج الذي يمكن الوصول إليه منه. 2. المتغير العام: يُعرّف خارج جميع الدوال. نطاقه يشمل البرنامج بأكمله. 3. المتغير المحلي: يُعرّف داخل دالة أو حلقة. نطاقه يقتصر على تلك الدالة أو الكتلة البرمجية. 4. استخدام `global` يتجاوز هذه القاعدة للمتغيرات العامة.

تلميح: فكر في أين يمكنك استخدام المتغير بعد تعريفه.

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