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

الترتيب والعكس

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

ترتّب sort() عناصر المصفوفة ترتيبًا تصاعديًا. وهي تغيّر المصفوفة نفسها:

var scores := [5, 1, 9, 3]
scores.sort()
print(scores)
[1, 3, 5, 9]

لا تُرجع sort() أي شيء، لذا فإن print(scores.sort()) خطأ. رتّب أولًا، ثم اطبع.

تُرتَّب السلاسل النصية أبجديًا، وتأتي الأحرف الكبيرة قبل الأحرف الصغيرة: ["bob", "Cleo", "ana"] تصبح ["Cleo", "ana", "bob"].

تعكس reverse() الترتيب الحالي للمصفوفة، دون فرزها. للفرز بترتيب تنازلي، قم بالفرز أولًا ثم اعكس الترتيب:

var hp := [7, 2, 9, 4]
hp.reverse()
print(hp)
hp.sort()
hp.reverse()
print(hp)
[4, 9, 2, 7]
[9, 7, 4, 2]

إن إسناد مصفوفة إلى متغير آخر لا ينسخها: فكلا المتغيرين يستخدمان المصفوفة نفسها، وترتيب أحدهما يرتب الآخر أيضًا. للحفاظ على الترتيب الأصلي، رتّب نسخة أُنشئت باستخدام duplicate():

var original := [5, 3, 9]
var sorted_copy := original.duplicate()
sorted_copy.sort()
print(original, " ", sorted_copy)
[5, 3, 9] [3, 5, 9]
challenge icon

التحدي

سهل

يقرأ البرنامج سطرًا من الأعداد الصحيحة مفصولة بفواصل في numbers (مكتوب مسبقًا). اطبع ثلاثة أسطر:

  1. Original: والأعداد بترتيبها الأصلي
  2. Ascending: والأعداد مرتبة من الأصغر إلى الأكبر
  3. Descending: والأعداد مرتبة من الأكبر إلى الأصغر

للإدخال 5,3,9,1، يكون الناتج:

Original: [5, 3, 9, 1]
Ascending: [1, 3, 5, 9]
Descending: [9, 5, 3, 1]

جرّب بنفسك

extends Node

func _ready():
	var parts := OS.read_string_from_stdin().split(",")
	var numbers: Array[int] = []
	for part in parts:
		numbers.append(int(part))
	# اكتب الكود الخاص بك أدناه
quiz iconاختبر نفسك

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

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

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