داليتي سكول -

Daliaty School

   صفحة البيت  |

 

 

 

 

 

بايثون – ôéúåï – 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 ؟ (ما هي وظيفة كلل واحد منهما)

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

الحل:

(أ)

(ب)

(ج) 

 

a

count

4

0

2

1

0

2

 

 

a

count

5

0

3

1

1

2

 

 

a

count

a % b

a/ / b

 

 

 

 

  

 

 

 

سؤال 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
x = 123

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">