Menu
CoddyTech
flag Ar iconالعربيةdown icon

حلقة while

جزء من قسم الأساسيات في رحلة GDScript على Coddy. الدرس 44 من 92.

تعمل حلقة for مرة واحدة لكل عدد في نطاق. وتستمر حلقة while في العمل ما دام الشرط true:

var count := 3
while count > 0:
	print(count)
	count -= 1
print("Go!")
3
2
1
Go!

يُتحقَّق من الشرط قبل كل تكرار. عندما تصبح count 0، تكون count > 0 false، لذا تتوقف الحلقة ويواصل البرنامج التنفيذ بعدها. إذا كان الشرط false منذ البداية، فلن تُنفَّذ الكتلة مطلقًا.

يجب أن تغيّر الكتلة شيئًا يعتمد عليه الشرط. هنا، تجعل count -= 1 قيمة count أقرب إلى 0. من دون ذلك، سيظل الشرط true ولن تنتهي الحلقة أبدًا.

استخدم while عندما لا تعرف مسبقًا عدد التكرارات التي تحتاج إليها. على سبيل المثال، يعثر هذا على أصغر قوة للعدد 2 أكبر من 27:

var number := 27
var power_of_two := 1
while power_of_two <= number:
	power_of_two *= 2
print(power_of_two)

تتضاعف power_of_two في كل تكرار: 2، 4، 8، 16، 32. عند 32، تكون قيمة power_of_two <= number هي false، لذا يطبع البرنامج 32.

challenge icon

التحدي

سهل

يقرأ البرنامج عددًا عشريًا واحدًا في number.

استخدم حلقة while لقسمة number على 2 ما دام أكبر من أو يساوي 3.5. ثم اطبع النتيجة، وهي أول قيمة أصغر من 3.5.

على سبيل المثال، عند إدخال 15 تكون القيم هي 15 و7.5 و3.75 و1.875، لذا يطبع البرنامج:

1.875

إذا كان الإدخال أصغر من 3.5 بالفعل، فاطبعه دون تغيير. لا تستخدم حلقة for.

جرّب بنفسك

extends Node

func _ready():
	var number := float(OS.read_string_from_stdin())
	# اقسم number على اثنين ما دام يساوي 3.5 أو أكثر، ثم اطبعه
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: مترجم GDScript عبر الإنترنت