المجموعات (Collections)
📄 الأصل: collections.naftah
📦 تحميل الملف: ⬇ تحميل
🔗 عرض الملف:
--- SPDX-License-Identifier: Apache-2.0
--- Copyright © The Naftah Project Authors
---*
ملف توضيحي يعرض أمثلة شاملة على تعريف واستخدام البُنى المعطيات الأساسية
مثل القوائم، التركيبات، المجموعات، والمصفوفات الترابطية، مكتوبة بالأرقام والرموز العربية بلغة برمجة نفطه.
يهدف هذا الملف إلى:
- استعراض كيفية تعريف بُنى البيانات المختلفة باستخدام صيغة عربية.
- تنفيذ العمليات الحسابية والمنطقية عنصرًا بعنصر على هذه البُنى.
- إبراز الفروقات بين الأنواع المختلفة (مثل الفهرسة في القوائم مقابل المجموعات).
- توضيح التعامل مع البُنى المتداخلة مثل القوائم والتركيبات داخل بعضها البعض.
- تسهيل الفهم البرمجي للمستخدمين الناطقين بالعربية ضمن بيئة تدعم هذا الأسلوب.
*---
--- تعريف قائمة بدرجات الطلاب
ثابت درجات تعيين [٨٥، ٩٠، ٧٨، ٩٢]
--- تعريف قائمة بالأرقام الأولية
ثابت أرقام_أولية تعيين [٢، ٣، ٥، ٧، ١١]
--- تعريف قائمة متداخلة تحتوي على قوائم داخل قوائم
ثابت متداخلة تعيين [١٠ ، [ ٩، [ ٨ ، [ ٧ ، [٦ ، [ ٥ ، [ ٤ ، [٣ ، [٢ ، ١]]]]]]]]]
--- تعريف تركيبة (Tuple) تحتوي على إحداثيات موقع
ثابت موقع تعيين (٣٢، ٤٥)
--- تعريف تركيبة (Tuple) تمثل تاريخ ميلاد
ثابت تاريخ_ميلاد تعيين (١٩٩٠، ٥، ٢٥)
--- تعريف تركيبة متداخلة
ثابت زوج_متداخل تعيين (١٠، (٩، (٨، (٧، (٦، (٥، (٤، (٣، (٢، ١)))))))))
--- تعريف مجموعة (Set) تحتوي على عناصر فريدة
ثابت عناصر_فريدة تعيين {١، ٢، ٣، ٤}
--- تعريف مجموعة (Set) تحتوي على رموز
ثابت رموز تعيين {"أ", "ب", "ج"}
--- تعريف مصفوفة ترابطية يحتوي على بيانات طالب
ثابت الطالب تعيين {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
--- تعريف مصفوفة ترابطية يحتوي على إعدادات المستخدم
ثابت الإعدادات تعيين {"الوضع": "ليلي", "اللغة": "عربية"}
--- تعريف قائمة تحتوي على مصفوفات ترابطية تمثل بيانات طلاب
ثابت قائمة_طلاب تعيين [{"اسم": "ليلى", "عمر": ١٨}, {"اسم": "كريم", "عمر": ١٩}]
--- تعريف قاموس يحتوي على بيانات معقدة
ثابت سجل تعيين {
"الاسم": "سارة",
"العناوين": ["المنزل", "العمل"],
"الأرقام": (١٠٠١، ٢٠٠٢)
}
--- ضرب القائمة بنفسها (عنصر بعنصر)
[٨٥، ٩٠، ٧٨، ٩٢] * [٨٥، ٩٠، ٧٨، ٩٢]
--- جمع قائمتين معًا (عنصر بعنصر)
[٨٥، ٩٠، ٧٨، ٩٢] + [٨٥، ٩٠، ٧٨، ٩٢]
--- طرح قائمتين (عنصر بعنصر)
[٨٥، ٩٠، ٧٨، ٩٢] - [٨٥، ٩٠، ٧٨، ٩٢]
--- قسمة قائمتين (عنصر بعنصر)
[٨٥، ٩٠، ٧٨، ٩٢] / [٨٥، ٩٠، ٧٨، ٩٢]
--- باقي القسمة بين قائمتين (عنصر بعنصر)
[٨٥، ٩٠، ٧٨، ٩٢] % [٨٥، ٩٠، ٧٨، ٩٢]
--- العمليات ذات النقطة: ضرب/جمع/طرح/قسمة/باقي عنصرًا بعنصر بطريقة العمليات البتية
[٨٥، ٩٠، ٧٨، ٩٢] .*. [٨٥، ٩٠، ٧٨، ٩٢]
[٨٥، ٩٠، ٧٨، ٩٢] .+. [٨٥، ٩٠، ٧٨، ٩٢]
[٨٥، ٩٠، ٧٨، ٩٢] .-. [٨٥، ٩٠، ٧٨، ٩٢]
[٨٥، ٩٠، ٧٨، ٩٢] ./. [٨٥، ٩٠، ٧٨، ٩٢]
[٨٥، ٩٠، ٧٨، ٩٢] .%. [٨٥، ٩٠، ٧٨، ٩٢]
--- العمليات البتية بين قائمتين (عنصر بعنصر، تعمل على عناصر إن كانت أعدادًا صحيحة)
[٨٥، ٩٠، ٧٨، ٩٢] بت_و [٨٥، ٩٠، ٧٨، ٩٢]
[٨٥، ٩٠، ٧٨، ٩٢] بت_أو [٨٥، ٩٠، ٧٨، ٩٢]
[٨٥، ٩٠، ٧٨، ٩٢] بت_أو_حصري [٨٥، ٩٠، ٧٨، ٩٢]
--- المقارنات بين القوائم (عنصرًا بعنصر)
[٨٥، ٩٠، ٧٨، ٩٢] أصغر_من [٨٥، ٩٠، ٧٨، ٩٢]
[٨٥، ٩٠، ٧٨، ٩٢] أكبر_من [٨٥، ٩٠، ٧٨، ٩٢]
[٨٥، ٩٠، ٧٨، ٩٢] أصغر_أو_يساوي [٨٥، ٩٠، ٧٨، ٩٢]
[٨٥، ٩٠، ٧٨، ٩٢] أكبر_أو_يساوي [٨٥، ٩٠، ٧٨، ٩٢]
[٨٥، ٩٠، ٧٨، ٩٢] يساوي [٨٥، ٩٠، ٧٨، ٩٢]
[٨٥، ٩٠، ٧٨، ٩٢] لا_يساوي [٨٥، ٩٠، ٧٨، ٩٢]
--- العمليات بين رقم وقائمة (يتكرر الرقم على كل عنصر)
2 * [٨٥، ٩٠، ٧٨، ٩٢]
2 + [٨٥، ٩٠، ٧٨، ٩٢]
2 - [٨٥، ٩٠، ٧٨، ٩٢]
2 / [٨٥، ٩٠، ٧٨، ٩٢]
2 % [٨٥، ٩٠، ٧٨، ٩٢]
--- العمليات ++ و -- على قائمة (قبلية و بعدية على كل عنصر)
[٨٥، ٩٠، ٧٨، ٩٢]++
++[٨٥، ٩٠، ٧٨، ٩٢]
[٨٥، ٩٠، ٧٨، ٩٢]--
--[٨٥، ٩٠، ٧٨، ٩٢]
--- عملية النفي البتية
بت_ليس [٨٥، ٩٠، ٧٨، ٩٢]
--- ضرب التركيبة بنفسها (عنصر بعنصر)
(١٩٩٠، ٥، ٢٥) * (١٩٩٠، ٥، ٢٥)
--- جمع تركيبتين معًا (عنصر بعنصر)
(١٩٩٠، ٥، ٢٥) + (١٩٩٠، ٥، ٢٥)
--- طرح تركيبتين (عنصر بعنصر)
(١٩٩٠، ٥، ٢٥) - (١٩٩٠، ٥، ٢٥)
--- قسمة تركيبتين (عنصر بعنصر)
(١٩٩٠، ٥، ٢٥) / (١٩٩٠، ٥، ٢٥)
--- باقي القسمة بين تركيبتين (عنصر بعنصر)
(١٩٩٠، ٥، ٢٥) % (١٩٩٠، ٥، ٢٥)
--- العمليات ذات النقطة: ضرب/جمع/طرح/قسمة/باقي عنصرًا بعنصر بطريقة العمليات البتية
(١٩٩٠، ٥، ٢٥) .*. (١٩٩٠، ٥، ٢٥)
(١٩٩٠، ٥، ٢٥) .+. (١٩٩٠، ٥، ٢٥)
(١٩٩٠، ٥، ٢٥) .-. (١٩٩٠، ٥، ٢٥)
(١٩٩٠، ٥، ٢٥) ./. (١٩٩٠، ٥، ٢٥)
(١٩٩٠، ٥، ٢٥) .%. (١٩٩٠، ٥، ٢٥)
--- العمليات البتية بين تركيبتين (عنصر بعنصر، تعمل على عناصر إن كانت أعدادًا صحيحة)
(١٩٩٠، ٥، ٢٥) بت_و (١٩٩٠، ٥، ٢٥)
(١٩٩٠، ٥، ٢٥) بت_أو (١٩٩٠، ٥، ٢٥)
(١٩٩٠، ٥، ٢٥) بت_أو_حصري (١٩٩٠، ٥، ٢٥)
--- المقارنات بين التركيبات (عنصرًا بعنصر)
(١٩٩٠، ٥، ٢٥) أصغر_من (١٩٩٠، ٥، ٢٥)
(١٩٩٠، ٥، ٢٥) أكبر_من (١٩٩٠، ٥، ٢٥)
(١٩٩٠، ٥، ٢٥) أصغر_أو_يساوي (١٩٩٠، ٥، ٢٥)
(١٩٩٠، ٥، ٢٥) أكبر_أو_يساوي (١٩٩٠، ٥، ٢٥)
(١٩٩٠، ٥، ٢٥) يساوي (١٩٩٠، ٥، ٢٥)
(١٩٩٠، ٥، ٢٥) لا_يساوي (١٩٩٠، ٥، ٢٥)
--- العمليات بين رقم وقائمة (يتكرر الرقم على كل عنصر)
2 * (١٩٩٠، ٥، ٢٥)
2 + (١٩٩٠، ٥، ٢٥)
2 - (١٩٩٠، ٥، ٢٥)
2 / (١٩٩٠، ٥، ٢٥)
2 % (١٩٩٠، ٥، ٢٥)
--- العمليات ++ و -- على تركيبة (قبلية و بعدية على كل عنصر)
(١٩٩٠، ٥، ٢٥)++
++(١٩٩٠، ٥، ٢٥)
(١٩٩٠، ٥، ٢٥)--
--(١٩٩٠، ٥، ٢٥)
--- عملية النفي البتية
بت_ليس (١٩٩٠، ٥، ٢٥)
--- ضرب المجموعة بنفسها (عنصر بعنصر)
{١، ٢، ٣، ٤} * {١، ٢، ٣، ٤}
--- جمع مجموعتين معًا (عنصر بعنصر)
{١، ٢، ٣، ٤} + {١، ٢، ٣، ٤}
--- طرح مجموعتين (عنصر بعنصر)
{١، ٢، ٣، ٤} - {١، ٢، ٣، ٤}
--- قسمة مجموعتين (عنصر بعنصر)
{١، ٢، ٣، ٤} / {١، ٢، ٣، ٤}
--- باقي القسمة بين مجموعتين (عنصر بعنصر)
{١، ٢، ٣، ٤} % {١، ٢، ٣، ٤}
--- العمليات ذات النقطة: ضرب/جمع/طرح/قسمة/باقي عنصرًا بعنصر بطريقة العمليات البتية
{١، ٢، ٣، ٤} .*. {١، ٢، ٣، ٤}
{١، ٢، ٣، ٤} .+. {١، ٢، ٣، ٤}
{١، ٢، ٣، ٤} .-. {١، ٢، ٣، ٤}
{١، ٢، ٣، ٤} ./. {١، ٢، ٣، ٤}
{١، ٢، ٣، ٤} .%. {١، ٢، ٣، ٤}
--- العمليات البتية بين مجموعتين (عنصر بعنصر، تعمل على عناصر إن كانت أعدادًا صحيحة)
{١، ٢، ٣، ٤} بت_و {١، ٢، ٣، ٤}
{١، ٢، ٣، ٤} بت_أو {١، ٢، ٣، ٤}
{١، ٢، ٣، ٤} بت_أو_حصري {١، ٢، ٣، ٤}
--- المقارنات بين المجموعات (عنصرًا بعنصر)
{١، ٢، ٣، ٤} أصغر_من {١، ٢، ٣، ٤}
{١، ٢، ٣، ٤} أكبر_من {١، ٢، ٣، ٤}
{١، ٢، ٣، ٤} أصغر_أو_يساوي {١، ٢، ٣، ٤}
{١، ٢، ٣، ٤} أكبر_أو_يساوي {١، ٢، ٣، ٤}
{١، ٢، ٣، ٤} يساوي {١، ٢، ٣، ٤}
{١، ٢، ٣، ٤} لا_يساوي {١، ٢، ٣، ٤}
--- العمليات بين رقم و مجموعة (يتكرر الرقم على كل عنصر)
2 * {١، ٢، ٣، ٤}
2 + {١، ٢، ٣، ٤}
2 - {١، ٢، ٣، ٤}
2 / {١، ٢، ٣، ٤}
2 % {١، ٢، ٣، ٤}
--- العمليات ++ و -- على مجموعة (قبلية و بعدية على كل عنصر)
{١، ٢، ٣، ٤}++
++{١، ٢، ٣، ٤}
{١، ٢، ٣، ٤}--
--{١، ٢، ٣، ٤}
--- عملية النفي البتية
بت_ليس {١، ٢، ٣، ٤}
--- ضرب المصفوفة الترابطية بنفسها (عنصر بعنصر)
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} * {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
--- جمع مصفوفتين ترابطيتين معًا (عنصر بعنصر)
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} + {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
--- طرح مصفوفتين ترابطيتين (عنصر بعنصر)
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} - {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
--- قسمة مصفوفتين ترابطيتين (عنصر بعنصر)
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} / {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
--- باقي القسمة بين مصفوفتين ترابطيتين (عنصر بعنصر)
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} % {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
--- العمليات ذات النقطة: ضرب/جمع/طرح/قسمة/باقي عنصرًا بعنصر بطريقة العمليات البتية
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} .*. {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} .+. {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} .-. {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} ./. {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} .%. {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
--- العمليات البتية بين مصفوفتين ترابطيتين (عنصر بعنصر، تعمل على عناصر إن كانت أعدادًا صحيحة)
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} بت_و {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} بت_أو {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} بت_أو_حصري {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
--- المقارنات بين المصفوفات الترابطية (عنصرًا بعنصر)
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} أصغر_من {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} أكبر_من {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} أصغر_أو_يساوي {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} أكبر_أو_يساوي {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} يساوي {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨} لا_يساوي {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
--- العمليات بين رقم و مصفوفة ترابطية (يتكرر الرقم على كل عنصر)
2 * {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
2 + {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
2 - {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
2 / {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
2 % {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
--- العمليات ++ و -- على مصفوفة ترابطية (قبلية و بعدية على كل عنصر)
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}++
++{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}--
--{"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
--- عملية النفي البتية
بت_ليس {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
--- ضرب المصفوفات و التراكيب المتداخلة بنفسها (عنصر بعنصر)
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] * [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
--- جمع المصفوفات و التراكيب المتداخلة معًا (عنصر بعنصر)
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] + [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
--- طرح المصفوفات و التراكيب المتداخلة (عنصر بعنصر)
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] - [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
--- قسمة المصفوفات و التراكيب المتداخلة (عنصر بعنصر)
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] / [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
--- باقي القسمة بين المصفوفات و التراكيب المتداخلة (عنصر بعنصر)
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] % [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
--- العمليات ذات النقطة: ضرب/جمع/طرح/قسمة/باقي عنصرًا بعنصر بطريقة العمليات البتية
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] .*. [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] .+. [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] .-. [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] ./. [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] .%. [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
--- العمليات البتية بين المصفوفات و التراكيب المتداخلة (عنصر بعنصر، تعمل على عناصر إن كانت أعدادًا صحيحة)
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] بت_و [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] بت_أو [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] بت_أو_حصري [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
--- المقارنات بين المصفوفات و التراكيب المتداخلة (عنصرًا بعنصر)
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] أصغر_من [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] أكبر_من [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] أصغر_أو_يساوي [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] أكبر_أو_يساوي [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] يساوي [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}] لا_يساوي [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
--- العمليات بين رقم و مصفوفات و تراكيب متداخلة (يتكرر الرقم على كل عنصر)
2 * [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
2 + [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
2 - [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
2 / [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
2 % [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
--- العمليات ++ و -- على مصفوفات و تراكيب متداخلة (قبلية و بعدية على كل عنصر)
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]++
++[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]--
--[{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
--- عملية النفي البتية
بت_ليس [{ "الاسم": "سارة", "العناوين": ["المنزل", "العمل"], "الأرقام": (١٠٠١، ٢٠٠٢) } , {"اسم": "كريم", "عمر": ١٩}]
--- تعريف متغير يحتوي على قائمة
متغير قائمة_ تعيين [٨٥، ٩٠، ٧٨، ٩٢]
--- الوصول إلى أول عنصر في القائمة
قائمة_[0]
--- تعريف زوج (tuple)
متغير تركيبة_ تعيين (٣٢، ٤٥)
متغير تركيبة_:زوج<:أي_عدد,أي_عدد:> تعيين (٣٢، ٤٥)
متغير تركيبة_:زوج_مفتاح_و_قيمة<:عدد_طويل,عدد_طويل:> تعيين (٣٢، ٤٥)
--- الوصول إلى العنصر الثاني في التركيبة
تركيبة_[1]
--- تعريف ثلاثي_القيم (tuple)
متغير تركيبة_ تعيين (٣٢، ٤٥، ٤٥)
متغير تركيبة_:ثلاثي_القيم<:أي_عدد,أي_عدد,أي_عدد:> تعيين (٣٢، ٤٥، ٤٥)
متغير تركيبة_:ثلاثي_القيم<:عدد_طويل,عدد_طويل,عدد_طويل:> تعيين (٣٢، ٤٥، ٤٥)
--- الوصول إلى العنصر الثاني في التركيبة
تركيبة_[1]
--- تعريف مجموعة (Set) - غير قابلة للفهرسة
متغير مجموعة_ تعيين {١، ٢، ٣، ٤}
متغير مجموعة_: مجموعة<:أي_عدد:> تعيين {١، ٢، ٣، ٤}
متغير مجموعة_: مجموعة<:عدد_طويل:> تعيين {١، ٢، ٣، ٤}
--- محاولة الوصول إلى عنصر باستخدام الفهرسة في مجموعة (غير مسموح في بايثون)
مجموعة_[2]
--- تعريف قائمة متداخلة
متغير قائمة_1 تعيين [١٠ ، [ ٩، [ ٨ ، [ ٧ ، [٦ ، [ ٥ ، [ ٤ ، [٣ ، [٢ ، ١]]]]]]]]]
--- الوصول إلى الرقم ٦ داخل التركيب المتداخل
قائمة_1[1][1][1][1][0]
--- تعريف تركيبة متداخلة
متغير تركيبة_1 تعيين (١٠، (٩، (٨، (٧، (٦، (٥، (٤، (٣، (٢، ١)))))))))
متغير تركيبة_1: تركيبة تعيين (١٠، (٩، (٨، (٧، (٦، (٥، (٤، (٣، (٢، ١)))))))))
متغير تركيبة_1: زوج<:عدد_طويل,زوج<:أي_نوع,أي_نوع:>:> تعيين (١٠، (٩، (٨، (٧، (٦، (٥، (٤، (٣، (٢، ١)))))))))
--- الوصول إلى الرقم ٦ داخل التركيبة
تركيبة_1[1][1][1][1][1][0]
--- تعريف مجموعة تحتوي على مجموعة
متغير مجموعة_1 تعيين {١، ٢، {١، ٢، ٣، ٤}، ٤}
--- الوصول إلى عنصر داخل مجموعة داخل مجموعة
مجموعة_1[3][2]
--- تعريف مجموعة مرتبة تحتوي على مجموعة غير مرتبة
متغير مجموعة_1 تعيين مرتب {١، ٢، {١، ٢، ٣، ٤}، ٤}
--- الوصول إلى عنصر داخل مجموعة داخل مجموعة
مجموعة_1[3][2]
--- تعريف مصفوفة ترابطية مرتبة يحتوي على بيانات طالب
ثابت الطالب تعيين مرتب {"اسم": "أحمد", "عمر": ٢٠, "معدل": ٨٨}
--- التحقق مما إذا كانت هناك وسائط مدخلة
إذا عدد_الوسائط أكبر_من 0 إذن {
--- طباعة عدد صفوف الوسائط
إطبع(عدد_الوسائط)
--- طباعة أول وسيط مدخل
إطبع(وسائط[0])
}
--- بدء حلقة تكرار عبر جميع الوسائط
إذا عدد_الوسائط أكبر_من 0 إذن {
كرر_حلقة أ تعيين 0 إلى عدد_الوسائط ناقص 1 إفعل {
--- طباعة الوسيط الحالي
ثابت ت تعيين وسائط[أ]
إطبع("{{أ}}: {{ت}}")
}
أنهي
}
غير_ذلك {
إطبع("الوسائط فارغة")
}