|
بايثون – ôéúåï – python
الحلقة
التكرارية - while
( أ ) عدد مرات
التكرار
معلوم لنا –
متواليات عددية
: موقع
محرر
الأاكواد - onlineDGB.com
حلقة
While
while - معناها طالما، مادام، ëåì-òåã
مبنى
حلقة while:
While شرط
التنفيذ :
الأوامر
البرمجية
للتنفيذ |
While True :
statments |
طالما
الشرط
يتحقق True)) استمر
بتنفيذ
الحلقة.
يتم
تنفيذ
الحلقة
طالما/عندما
شرط الحلقة
يتحقق - تكون
قيمته True الحلقة
تتوقف ()لايتم
تنفيذها)
عندما شرط
الحلقة لا
يتحقق - قيمته False |
مبنى
حلقة while
مع عداد
عداد = قيمة
أولى while (فحص تحقق
العداد): الأوامر
في جسم
الحلقة تغيير
قيمة العداد |
count =
1 while (count
<= 7): print (count) count +=
1 |
يتم
تنفيذ الحلقة
طالما يتحقق
شرط الحلقة.
شرط
الحلقة count <= 7
العداد
يبدأ بالقيمة 1 ويكبر
كل مرة بــ 1 . التكرار
يستمر طالما count
أصغر أو
يساوي 20.
البرنامج
سوف يطبع
الأعداد: 1, 2, 3, 4, 5, 6, 7
(تحت بعضها
البعض، كل عدد
في سطر)
مثال:
الحلقة
يتم تنفيذها طالما شرط
الحلقة (n < 10)
يتحقق – قيمته True.
n = 0 while (n <
20): print(n, end=',') n +=
3 print ('End Loop') |
المُخرج: 0,3,6,9,12,15,18
تمارين
– متواليات
عددية
حلقة
while
– حلقة for
يمكن
استخدام حلقة while في
الحالات التي
نعرف فيها عدد
مرات تنفيذ الحلقة،
تمامًا مثل
الحلقة for.
مثال:
اطبع رسالة 5
مرات.
i = 0 while (i < 5): print('while loop') i +=
1 |
for i in range (0,5,1): print('For loop') |
في كلِ
واحد من
المقطعين :
· متغير
الحلقة i ،
قيمته في
البداية = 0 ,
· شرط التنفيذ
حتى 4 ، تتوقف
الحلقة عندما i=5
· في
كل دورة تكبير
قيمة i
بــ 1
.
· المتغير i أخذ
القيم: i = 0, 1, 2, 3, 4،
تدريب:
أمامك 2 من
المقاطع
البرمجية. في
أحد المقطع تم
استعمال حلقة while
وفي المقطع
الآخر تم
استعمال حلقة for.
هل
المخرج
متطابق؟ شغل
وافحص؟
n = 0 while n < 10: print (n) n += 2 print('Done!') |
for
item in range (10): if item % 2 ==
0: print(item) print('Done!') |
n = 0,2,4,6,8 العداد
يتقدم بـــ 2 ويطبع 2
4 6 8 |
item
= 0,1,2,3,4,5 ...,9 يفحص
ويطبع
الاعداد
الزوجية : 2 4 6 8 |
كلتا
الحلقتين
تطبع نفس
القيم
سؤال
1
حدد ما هي
سلسلة
الأعداد التي
تطبعها كل
واحدة من الحلقات
التالية:
i = 1 while (i <= 8): print (i, end=' ') i += 1 |
المخرج: 1 2 3 4 5 6 7 8
i = 1 while (i > 8): print (i, end=' ') i
+= 1 |
المخرج: الحلقة
لا تنفذ. لا
يطبع شيء
i = 10 while (i > 0): print (i) i
-= 1 |
المخرج: 10 9 8 7 6 5 4 3 2
1
سؤال
2
نريد
طباعة
الاعداد: 5, 10, 15,
20, … , 40
أكمل
الأماكن
الناقصة:
x = 5 while x <= 40 : print ("The number is
", x ) x =
x + 5 |
سؤال
3
ماذا
ينتج من
البرنامج
التالي:
The
number is 2 The
number is 4 The
number is 6 The
number is 8 The
number is 10 |
i = 2 while i <= 10: print ("The number is ", i) i += 2 |
سؤال 4
جد
المخرج
الناتج من
تشغيل الكود:
1 1 2 4 3 9 4 16 5 25 |
n = 1 while n < 6: print (n, n**2) n = n + 1 |
سؤال 5
تتبع
كل واحد من
البرامج
التالية وجد
ما هو المخرج
المخرج: 3 2 1 DONE |
x = 3 while x > 0: print (x) x -= 1 else: print ("DONE") |
المخرج: 3 2 1 |
x = 3 while True: print (x) x -= 1 if x <= 0: break |
سؤال 6
اكتب
برنامج يطبع
الأعداد
الزوجية بين 1
و 10
لتنفيذ
المطلوب،
أمامك 3 طرق
مختلفة. أكمل
الأماكن
الناقصة:
(C) |
(B) |
(A) |
x = 1 while x <= 10: if x % 2 == 0: print (x) x += 1 |
x = 1 while x <= 5: print (x*2) x += 1 |
x = 2 while x <= 10: print (x) x += 2 |
سؤال 7
اكتب
برنامج يقرأ
عددين. ثم
يطبع جميع
الأعداد التي
بينهما.
مثال: المدخل: a=5, b=12
المخرج: 5, 6, 7, 8, 9, 10, 11, 12
a = int(input("a=")) b = int(input("b=")) while a <= b: print ( a ) a += 1 |
سؤال 8
عبئ
الأماكن
الناقصة التي
في الجدول وجد
المخرج
الناتج من
البرنامج:
جد ما
هي وظيفة البرنامج.
count = 0 a = 24 b = 6 while a >= b:
count += 1
a -= b print ('count=', count) |
المخرج |
while a >= b |
b |
a |
count |
|
24 >= 6 ==> True |
6 |
24 |
0 |
|
18 >= 6 ==> True |
|
18
|
1 |
|
12 >= 6 ==> True |
|
12 |
2 |
|
6 >= 6 ==> True |
|
6 |
3 |
count = 4 |
0 >= 6 ==> False |
|
0 |
4 |
وظيفة
البرنامج: يقوم
بقسمة a / b
سؤال
9
(îöâú éåí òéåï
2018, ôééúåï ìëéúä æ) (ìåìàåú, îåðä, öåáø)
أمامكم
دالة باسم func التي تأخذ 2
بارامترات a
و- b:
def func
(a, b) count = 0 while a >=
b: count += 1 a = a – b |
أ) ما هي
قيمة
المتغيرات a و- count في
نهاية تشغيل
مقطع الكود func(4 , 2) ؟
ب) ما هي
قيمة
المتغيرات a و- count في
نهاية تشغيل
مقطع الكود func(5
, 2) ؟
ج) ماذا
يمثل المتغير a في
الدالة ؟ ماذا
يمثل المتغير count ؟ (ما هي وظيفة
كلل واحد
منهما)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
الحل:
(أ) |
(ب) |
(ج) |
||||||||||||||||||||
|
|
|
سؤال
10
أ)
ابني جدول
متابعة واحسب
ما هو المخرج
الناتج من
البرنامج
التالي (ضلل
بالفأرة
لمشاهدة الحل).
x = 1234 sum = 0 while x > 0: sum = sum + x % 10 #(sum += x % 10) x = x // 10 #(x //= 10) print (sum) |
الحل:
المخرج |
x (x = x
//10) |
sum |
x % 10 |
While x > 0 |
|
1234 |
0 |
|
|
|
x = 1234 // 10 |
0 + 4 = 4 |
1234
% 10 = 4 |
1234
> 0 True |
|
x
= 123 // 10 x
= 12 |
4
+ 3 = 7 |
123 % 10 = 3 |
123 > 0 True |
|
x = 12 // 10 x = 1 |
7
+ 2 = 9 |
12 % 10 = 2 |
12 > 0
True |
|
x
= 1 // 0 x
= 0 |
9
+ 1 = 10 |
1
% 10 = 1 |
1
> 0 True |
|
|
|
خرجنا من
الحلقة |
0
> 0 False |
10 |
|
|
|
|
ب)
اكتب ما هي
وظيفة هذا
البرنامج.
الحل: يجد
جمع منازل
العدد المعطى
سؤال
10 (îöâú éåí òéåï 2017, ôééúåï ìëéúä è)
ما هو
المخرج الذي
نحصل عليه عند
تشغيل الكود:
x =
769 new_x
= 0 while x != 0: new_x = new_x *
10 + x % 10 x = x // 10 print new_x |
المخرج: 967
Daliaty School – Copywrite 2023
wahbem@gmail.com | https://daliaty.com
<meta name="viewport"
content="width=device-width, initial-scale=1">