داليتي سكول -

Daliaty School

   صفحة البيت  |

 

 

 

 

 

بايثون – ôéúåï – python

الحلقات اللا نهائية

 

 

 

 

حلقة لا نهائية

 

أمامك 2 مقاطع من الأكواد البرمجية.

ماذا سيكون المخرج حسب رأيك من كل مقطع؟ هل الكود صحيح؟

 

 

هذه حلقة لا نهائية (لا تتوقف).  

بعد سطر الطباعة يجب أن نضع:

 n += 1  

n = 0

while n < 10:

  print (n)

print ('End Loop')

 

هذه حلقة لا نهائية (لا تتوقف).

يجب أن نضيف سطرًا يغير من قيمة count حتى يتحقق شرط الحلقة.

count = 0

while count < 3:

  n = int(input('Enter number'))

 

الأكواد صحيحة من ناحية التركيب اللغوي (îáçéðä úçáéøéú) ولكنها ليست صحيحة من الناحية المنطقيًة (îáçéðä ìåâéú).

حلقة while تعمل طالما شرط الحلقة يتحقق.

في الحالة التي أمامنا، لم نغيّر من قيمة n.

قيمة n تبقى 0 وبالتالي الحلقة لن تنتهي – لأن شرط الحلقة سوف يبقى إلى الأبد كما هو.

هذه الحالة نسميها: حلقة لا نهائية (ìåìàä àéï ñåôéú).

 

 

عندما إنشاء حلقة while، يجب أن نتجنب حالة الحلقة اللانهائية

وجود حلقة لا نهائية يعتبر خطأ في البرمجة.

 

 

  

 

تمارين

 

 

سؤال1

أمامك 2 مقاطع من الأكواد البرمجية.

أكمل الكود بحيث يتم تنفيذ كود الحلقة مرة واحدة على الأقل.

اكتب ماذا ينفذ هذا الكود.

is_far = True

distance = 100

while is_far:

    distance -= 2

    if distance == 0:

    is_fare = False

 

print ('End loop')

n = 0

while n < 5:

  print ('While loop')

  i += 1

 

 

 

 

 

  

 

سؤال

 

 

معطى المقطع البرمجي:

 

x = 1

while (x>5 or x<5):

  print (x)

  x = x + 1

 

 

اختر الادعاء الصحيح:

أ‌.        الكود يحتوي على خطأ لغوي، العملية or غير معرفة.

ب‌. الحلقة لا تنتهي، حلقة لا نهائية.

ت‌. الحلقة تنتهي وتقف، في مرحلة ما.

ث‌. الحلقة while تقف فقط عندما شرط الإنهاء يكون False.

 

 

  

 

سؤال2 (ôéøàñ)

 

à.    معطى الحلقة التالية.

 

x = 0

while x <= 10:

  print (x)

  x += 1

 

أ.  ماذا يطبع نتيجة للحلقة المعطاة.  0, 1, 2, 3, ..., 10

 

ب. ماذا يطبع إذا غيّرنا من x=0 إلى x=20   

     لا يطبع أي شيء. لأن الحلقة لا تنفذ حتى لمرة واحدة. شرط الحلقة لا يتحقق.

 

ج. غيروا في الحلقة المعطاة، بحيث تطبع الاعداد من 10 وحتى 20

    (أي: 10, 11, 12, 13, …, 20)

 

 

 

x = 10

while x <= 20:

  print (x)

  x += 1

 

 

د. ماذا يطبع إذا غيّرنا العدد من   x += 1 إلى x -= 1

     حلقة لا نهائية - سوف تطبع الاعداد   -2, -1, 0, …  وهكذا، الحلقة لا تنتهي

 

ه. أكتبوا الحلقة المعطاة بواسطة حلقة for

for x in range (11):

  print x

 

 

  

 

 

 

سؤال3 (اختبار مفمار 2018، صف سابع)

 

جد المخرج - حدد ماذا ينتج من كل حلقة:

المخرج:

0 1 2 3 4 5 6 7 8 9 

num = 0

while num < 10:

    print (num, end=' ')

    num += 1

المخرج:

0  -1  -2  -3     حلقة لا نهائية

count = 0

while count < 5: 

  print (count, end=' ')

  count -= 1

المخرج:

0  1  2  3  4 

count = 0 

while count < 5:

    print (count, end=' ')

    count += 1

المخرج:

الحلقة لا تنفذ   

count = 0

while count > 5:

    print (count)

    count += 1

 

 

 

  

 

 

 

 

 

 

   

 

 

 

   

 

 

 

Daliaty School – Copywrite  2023

wahbem@gmail.com | https://daliaty.com

 

 

 

 

 

<meta name="viewport" content="width=device-width, initial-scale=1">