سؤال 7: السؤال السابع: أدخل قيم المتغيرات أثناء تنفيذ المقطع البرمجي. افترض أن إدخال المتغير x هو دائماً الرقم 15. a = 0 for i in range(1,6): x = int(input()) a = a + x if i%5 == 0: y = a / 5 print(a,x,y)
الإجابة: س7: جدول التتبع: i = 1 : a = 15, x = 15, شرط=X i = 2 : a = 30, x = 15, شرط=X i = 3 : a = 45, x = 15, شرط=X i = 4 : a = 60, x = 15, شرط=X i = 5 : a = 75, x = 15, شرط=✓, y = 15.0, الناتج: 75 15 15.0
خطوات الحل:
- **الخطوة 1: جدول المعطيات والمطلوب** | العنصر | الوصف | |--------|--------| | **المعطيات** | مقطع برمجي مع حلقة `for`، قيمة الإدخال `x` ثابتة = 15 | | **المطلوب** | تتبع قيم المتغيرات `a`، `x`، `y` خلال تنفيذ البرنامج، خاصة عند تنفيذ أمر `print` |
- **الخطوة 2: المبدأ المستخدم** - فهم عمل حلقة `for i in range(1,6):` التي تتكرر 5 مرات (i = 1, 2, 3, 4, 5). - فهم عملية التراكم في المتغير `a = a + x`. - فهم الشرط `if i%5 == 0:` الذي يكون صحيحاً فقط عندما يكون `i` قابلاً للقسمة على 5 (أي في التكرار الأخير i=5).
- **الخطوة 3: تتبع تنفيذ البرنامج خطوة بخطوة** 1. **تهيئة المتغيرات:** `a = 0` (قيمة ابتدائية). 2. **بدء الحلقة `for i in range(1,6):`:** - **التكرار الأول (i=1):** - `x = int(input())` ← `x = 15` (لأن الإدخال دائماً 15). - `a = a + x` ← `a = 0 + 15 = 15`. - التحقق من الشرط `if i%5 == 0:` ← `1%5 = 1` (غير صحيح)، فلا يتم تنفيذ ما بداخل الشرط. - **التكرار الثاني (i=2):** - `x = 15`. - `a = 15 + 15 = 30`. - الشرط `2%5 = 2` (غير صحيح). - **التكرار الثالث (i=3):** - `x = 15`. - `a = 30 + 15 = 45`. - الشرط `3%5 = 3` (غير صحيح). - **التكرار الرابع (i=4):** - `x = 15`. - `a = 45 + 15 = 60`. - الشرط `4%5 = 4` (غير صحيح). - **التكرار الخامس (i=5):** - `x = 15`. - `a = 60 + 15 = 75`. - الشرط `5%5 = 0` **(صحيح)**، لذا: - `y = a / 5` ← `y = 75 / 5 = 15.0`. - `print(a, x, y)` ← طباعة القيم: `75 15 15.0`.
- **الخطوة 4: الإجابة النهائية** بعد تتبع تنفيذ المقطع البرمجي، تكون قيم المتغيرات عند نهاية البرنامج والنتيجة المطبوعة هي: - **المتغير `a` (المجموع التراكمي):** 75 - **المتغير `x` (آخر إدخال):** 15 - **المتغير `y` (المتوسط عند i=5):** 15.0 - **الناتج النهائي المطبوع:** `75 15 15.0`