📚 معلومات الصفحة
الكتاب: كتاب المهارات الرقمية - الصف 8 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 8 | الفصل الدراسي: 1
الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم
نوع المحتوى: تمارين وأسئلة
📝 ملخص الصفحة
📝 صفحة تمارين وأسئلة
هذه الصفحة تحتوي على أسئلة مرقمة للواجبات والتقييم.
راجع تبويب الواجبات للإجابات الكاملة على أسئلة الصفحة.
📋 المحتوى المنظم
📖 محتوى تعليمي مفصّل
لنطبق معًا
نوع: محتوى تعليمي
لنطبق معًا
تدريب 1
نوع: محتوى تعليمي
تدريب 1
1
نوع: QUESTION_ACTIVITY
اكتب ناتج المقطع البرمجي التالي:
نوع: محتوى تعليمي
import openpyxl
wb = openpyxl.load_workbook(filename="nutrition.xlsx")
sheet_obj = wb["arabic"]
rows = sheet_obj.iter_rows(min_row=3, max_row=5, min_col=1, max_col=11)
for row in rows:
for cell in row:
print(cell.value, end=" ")
print("")
الناتج
نوع: محتوى تعليمي
الناتج
نوع: METADATA
وزارة التعليم
Ministry of Education
2023 - 1447
181
🔍 عناصر مرئية
المقطع البرمجي
A block of Python code using the openpyxl library. It loads an Excel workbook named 'nutrition.xlsx', accesses the sheet named 'arabic', and then iterates through rows from 3 to 5 and columns from 1 to 11. For each cell in these rows, it prints the cell's value followed by a space. After each row, it prints a new line.
الناتج
A blank rectangular box with a thin border, labeled 'الناتج' (Output) above it. This box is intended for the user to write or display the output generated by executing the provided Python code.
📄 النص الكامل للصفحة
لنطبق معًا
--- SECTION: تدريب 1 ---
تدريب 1
--- SECTION: 1 ---
اكتب ناتج المقطع البرمجي التالي:
import openpyxl
wb = openpyxl.load_workbook(filename="nutrition.xlsx")
sheet_obj = wb["arabic"]
rows = sheet_obj.iter_rows(min_row=3, max_row=5, min_col=1, max_col=11)
for row in rows:
for cell in row:
print(cell.value, end=" ")
print("")
--- SECTION: الناتج ---
الناتج
وزارة التعليم
Ministry of Education
2023 - 1447
181
--- VISUAL CONTEXT ---
**FIGURE**: المقطع البرمجي
Description: A block of Python code using the openpyxl library. It loads an Excel workbook named 'nutrition.xlsx', accesses the sheet named 'arabic', and then iterates through rows from 3 to 5 and columns from 1 to 11. For each cell in these rows, it prints the cell's value followed by a space. After each row, it prints a new line.
X-axis: N/A
Y-axis: N/A
Data: N/A
Key Values: filename="nutrition.xlsx", sheet="arabic", min_row=3, max_row=5, min_col=1, max_col=11
Context: This code snippet is provided as part of an exercise to determine its output, demonstrating basic file I/O and data processing using Python and openpyxl.
**FIGURE**: الناتج
Description: A blank rectangular box with a thin border, labeled 'الناتج' (Output) above it. This box is intended for the user to write or display the output generated by executing the provided Python code.
X-axis: N/A
Y-axis: N/A
Data: N/A
Context: This visual element provides the designated space for the solution to the programming exercise, where the user is expected to write the output of the Python code.
✅ حلول أسئلة الكتاب الرسمية
عدد الأسئلة: 1
سؤال 1: اكتب ناتج المقطع البرمجي التالي:
import openpyxl
wb = openpyxl.load_workbook(filename="nutrition.xlsx")
sheet_obj = wb["arabic"]
rows = sheet_obj.iter_rows(min_row=3, max_row=5, min_col=1, max_col=11)
for row in rows:
for cell in row:
print(cell.value, end=" ")
print(" ")
الإجابة: يقوم البرنامج بطباعة قيم الخلايا من الورقة "arabic" في الملف nutrition.xlsx ضمن النطاق A3:K5 (أي الصفوف 3 إلى 5 والأعمدة 1 إلى 11). يظهر كل صف في سطر مستقل (3 أسطر)، وتُطبع القيم في كل سطر متتالية دون فواصل أو مسافات لأن end="".
خطوات الحل:
- | المعطيات | الرمز/الوصف | القيمة/التفصيل |
|-----------|-------------|----------------|
| اسم الملف | filename | "nutrition.xlsx" |
| اسم الورقة | sheet_name | "arabic" |
| نطاق الصفوف | min_row, max_row | 3 إلى 5 |
| نطاق الأعمدة | min_col, max_col | 1 إلى 11 (A إلى K) |
| **المطلوب** | **تحديد مخرجات البرنامج** | **وصف ما يطبعه البرنامج** |
- **المبدأ المستخدم:** فهم كيفية عمل مكتبة `openpyxl` لقراءة ملفات Excel، وخاصة:
1. `load_workbook()`: لتحميل الملف
2. `sheet_obj[]`: للوصول إلى ورقة معينة
3. `iter_rows()`: للتكرار عبر نطاق محدد من الخلايا
4. `cell.value`: لقراءة قيمة الخلية
5. `print()` مع `end=" "`: للطباعة بدون سطر جديد بين القيم
- **الخطوة 1: تحميل الملف والوصول إلى الورقة**
- `openpyxl.load_workbook("nutrition.xlsx")` يحمل ملف Excel المسمى `nutrition.xlsx`
- `wb["arabic"]` يحدد الورقة المسماة "arabic" داخل الملف
- **الخطوة 2: تحديد نطاق الخلايا المراد قراءتها**
- `iter_rows(min_row=3, max_row=5, min_col=1, max_col=11)` يحدد نطاقاً من:
1. **الصفوف:** من الصف 3 إلى الصف 5 (3 صفوف)
2. **الأعمدة:** من العمود 1 (A) إلى العمود 11 (K) (11 عموداً)
- هذا يعني **33 خلية** (3 صفوف × 11 عموداً)
- **الخطوة 3: عملية التكرار والطباعة**
1. **الحلقة الخارجية:** `for row in rows` تتكرر على كل صف (3 مرات للصفوف 3، 4، 5)
2. **الحلقة الداخلية:** `for cell in row` تتكرر على كل خلية في الصف الحالي (11 مرة للأعمدة A إلى K)
3. **طباعة القيم:** `print(cell.value, end=" ")` تطبع قيمة كل خلية مع مسافة بعدها (بدون سطر جديد)
4. **نهاية الصف:** `print(" ")` تطبع سطراً جديداً فارغاً بعد انتهاء كل صف
- **الخطوة 4: تنظيم المخرجات**
> **ملاحظة مهمة:** بسبب استخدام `end=" "` في الطباعة، ستظهر قيم كل صف في سطر واحد متصل، مع مسافات بين القيم.
**هيكل المخرجات النهائي:**
1. **السطر الأول:** قيم الخلايا A3 إلى K3 (11 قيمة) في سطر واحد
2. **السطر الثاني:** قيم الخلايا A4 إلى K4 (11 قيمة) في سطر واحد
3. **السطر الثالث:** قيم الخلايا A5 إلى K5 (11 قيمة) في سطر واحد
- **الإجابة النهائية:** يقوم البرنامج باستخراج وطباعة محتويات **33 خلية** من ورقة "arabic" في ملف `nutrition.xlsx`، حيث يطبع كل صف من الصفوف 3 و4 و5 في سطر منفصل، مع عرض قيم الأعمدة من A إلى K لكل صف بشكل متتابع مفصول بمسافات.
🎴 بطاقات تعليمية للمراجعة
عدد البطاقات: 1 بطاقة لهذه الصفحة
ما هو ناتج تنفيذ المقطع البرمجي التالي الذي يستخدم مكتبة openpyxl لقراءة ملف Excel؟
import openpyxl
wb = openpyxl.load_workbook(filename="nutrition.xlsx")
sheet_obj = wb["arabic"]
rows = sheet_obj.iter_rows(min_row=3, max_row=5, min_col=1, max_col=11)
for row in rows:
for cell in row:
print(cell.value, end=" ")
print("")
- أ) يقوم البرنامج بحذف جميع البيانات من ورقة 'arabic' في الملف.
- ب) يقوم البرنامج بطباعة قيم الخلايا من الصف 1 إلى الصف 5 والعمود A إلى العمود E فقط.
- ج) يقوم البرنامج بطباعة قيم الخلايا من الصف 3 إلى الصف 5 والعمود A إلى العمود K في ورقة 'arabic'، مع وضع مسافة بين كل قيمة وسطر جديد بعد كل صف.
- د) يقوم البرنامج بإنشاء ملف Excel جديد باسم 'nutrition.xlsx' وكتابة البيانات فيه.
الإجابة الصحيحة: c
الإجابة: يقوم البرنامج بطباعة قيم الخلايا من الصف 3 إلى الصف 5 والعمود A إلى العمود K في ورقة 'arabic'، مع وضع مسافة بين كل قيمة وسطر جديد بعد كل صف.
الشرح: ١. load_workbook يحمل ملف 'nutrition.xlsx'.
٢. wb["arabic"] يحدد الورقة المستهدفة.
٣. iter_rows(min_row=3, max_row=5, min_col=1, max_col=11) يحدد نطاق الخلايا من A3 إلى K5.
٤. الحلقتان المتداخلتان تطبعان قيمة كل خلية في هذا النطاق.
٥. end=" " يضع مسافة بعد كل قيمة.
٦. print("") ينتقل لسطر جديد بعد طباعة كل صف.
٧. الناتج: 3 أسطر، كل سطر يحتوي على 11 قيمة مفصولة بمسافات.
تلميح: ركز على فهم وظائف openpyxl: load_workbook للتحميل، iter_rows للتكرار عبر نطاق محدد، و cell.value لقراءة القيمة.
التصنيف: مسألة تدريبية | المستوى: متوسط