تخطَّ إلى المحتوى

6. القوائم

أن تضيف إلى قائمة، وترتّبها، وتبحث فيها.

  • القائمة عناصر من نوع واحد بين قوسين مربعين، وتكبر كلما أضفت إليها: [70, 95, 82].
  • اضف(ق, قيمة) تضيف القيمة في آخرها. رتب(ق) ترتّبها تصاعدياً في مكانها. طول(ق) عدد عناصرها.
  • بحث(ق, قيمة) ترجع فهرس أول عنصر يساويها، أو -1 إن لم تجده. الفهرس رقم موضع العنصر، ويبدأ من 0.
  • القائمة مرجعية: بعد ب = ق يصير ب وق اسمين للقائمة نفسها، ولا تُنسخ.
مثال
درجات = [70, 95, 82]
اضف(درجات, 60)
رتب(درجات)
اطبع(درجات, " ", طول(درجات), " ", بحث(درجات, 95))
المخرج المسجَّل في الكتاب المرجعيmeem برنامج.م · 0.10.0
[60, 70, 82, 95] 4 3

جرّب هذا المثال في الملعب

فهرس خارج القائمة:

يسبب الخطأ
ق = [1, 2, 3]
اطبع(ق[3])
المخرج المسجَّل في الكتاب المرجعيmeem برنامج.م · 0.10.0
[خطأ تشغيل E0321] سطر 2:7 - الفهرس 3 خارج الحدود (الحجم 3)  اطبع(ق[3])

رمز الخروج: 3

في فهرس الأخطاء: E0321

جرّب هذا المثال في الملعب

يصلحه
ق = [1, 2, 3]
اطبع(ق[طول(ق) - 1])
المخرج المسجَّل في الكتاب المرجعيmeem برنامج.م · 0.10.0
3

جرّب هذا المثال في الملعب

ومن الأخطاء أيضاً ظن أن ب = ق تنسخ القائمة: لا تنسخها، فالقائمة مرجعية.

في القائمة [70, 95, 82, 64, 95] جد أكبر درجة بحلقة (دون رتب)، ثم موضعها الأول بـ بحث.

اعرض الحل
الحل
درجات = [70, 95, 82, 64, 95]
اكبر = درجات[0]
لكل د في درجات:
اذا د > اكبر:
اكبر = د
اطبع("أكبر درجة: ", اكبر)
اطبع("موضعها الأول: ", بحث(درجات, اكبر))
حرر(درجات)
مخرجات مسجّلة من المجمّعmeem 06_حل.م · meem 0.10.0+b01b55f
أكبر درجة: 95موضعها الأول: 1

الأنواع · المدمجات