أمثلة على الخوارزميات في لغة Z.
1.
إنشاء قائمة بعملية متطورة ، ثم تصفح جميع العناصر.
ليكن
س : قائمة؛
ط : مؤشر إلى : قائمة؛
ذ : صحيح؛
بداية
ذ := 8؛
إنشاء_قائمة( س، [ ذ، 2*ذ، 3*ذ، 4*ذ] ) ؛
اكتب('Parcours De La LISTE ')؛
ط := س؛
مادام ط <> عدم :
اكتب ( قيمة_خلية(ط) )؛
ط := تالي (ط)
نهاية_مادام؛
نهاية
2.
إنشاء ملف كتل من ن سجلات بمعدل تعبئة 100٪ ، ثم
تصفحه.
ليكن
ح : ملف من ( صحيح ، جدول ( 5 ) من سلاسل )
صدر_ملف ( صحيح ، صحيح )
مخزن ب1 ؛
{ fichier de blocs contenant le nombre d'articles et un tableau d'articles}
{ entête : nombre d'articles، nombre de blocs}
تعججع ، ذشطعذشجع : إجراءات ؛
بداية
انفذ تعججع ؛
انفذ ذشطعذشجع ؛
نهاية
/***** Chargement de n articles avec un chargement ... 100% ****/
إجراء تعججع ؛
ليكن
ذ ، ز ، ص ، صببسضتغ : صحاح ؛
بداية
افتح_ملف ( ح ، 'f.pas' ، 'ج' ) ؛
ذ := 0 ؛
صببسضتغ := 0 ؛
ص := 500 ؛
ضع_صدر_ملف ( ح ، 1 ، ص ) ؛
مادام ذ < ص :
ز := 0 ؛
مادام ( ز < 5 ) و ( ذ < ص )
ز := ز + 1 ؛
ذ := ذ + 1 ؛
ضع_عنصر ( حقل ( ب1 ، 2 ) [ ز ] ، سلسلة_عشوائية(10) )
نهاية_مادام ؛
ضع_حقل ( ب1 ، 1 ، ز ) ؛
صببسضتغ := صببسضتغ + 1 ؛
اكتب_تسلسلا_ملف ( ح ، ب1 ) ؛
نهاية_مادام ؛
ضع_صدر_ملف ( ح ، 2 ، صببسضتغ ) ؛
أغلق_ملف ( ح ) ؛
نهاية
/***** Impression des articles du fichier ****/
إجراء ذشطعذشجع ؛
ليكن
ذ ، ز : صحاح ؛
بداية
ذ := 0 ؛
افتح_ملف ( ح ، 'f.pas' ، 'ق' ) ؛
مادام لا نهاية_ملف ( ح )
ذ := ذ + 1 ؛
اكتب ( 'B L O C nø ' ، ذ ) ؛
اقرأ_تسلسلا_ملف ( ح ، ب1 ) ؛
لكل ز := 1 ، حقل ( ب1 ، 1 )
اكتب ( عنصر ( حقل ( ب1 ، 2 ) [ ز ] ) )
نهاية_لكل
نهاية_مادام؛
نهاية
3.
بناء شجرة بحث ثنائية للبنى بعملية متطورة ، ثم
كتابة عناصرها.
ليكن
ا : شجرة_بحث_ثنائية من ( سلسلة ، صحيح ) ؛
ك : ( سلسلة ، صحيح ) ؛
بداية
ملء_بنية ( ك ، [ 'xyz' ، 1001 ] ) ؛
إنشاء_شجرة_بحث_ثنائية ( ا ، [ [ 'x' ، 23 ] ، ك ، [ 'y' ، 123 ] ، [ 'z' ، 23 ] ]
) ؛
اكتب ( قيمة_عقدة ( ا ) ) ؛
اكتب ( قيمة_عقدة ( إبن_يمين ( ا ) ) ) ؛
اكتب ( قيمة_عقدة ( إبن_يمين ( إبن_يمين ( ا ) ) ) ) ؛
نهاية
4.
إنشاء شجرة بحث متعددة ذات ترتيب 3 من البنى
باستخدام عملية متطورة ثم تصفحها بالترتيب(Inorder)
ليكن
ش : شجرة_بحث_متعددة ( 3 ) من ( سلسلة ، صحيح ) ؛
ذصضعثعج : إجراء ؛
بداية
إنشاء_شجرة_بحث_متعددة ( ش ، [ [ 'x' ، 3 ] ، [ 'a' ، 3 ] ، [ 'y' ، 3 ] ، [ 'z' ،
3 ] ،
[ 'h' ، 3 ] ، [ 'e' ، 3 ] ، [ 'd' ، 3 ] ] ) ؛
انفذ ذصضعثعج ( ش ) ؛
نهاية
إجراء ذصضعثعج ( ظ )
ليكن
ظ : شجرة_بحث_متعددة ( 3 ) من ( سلسلة ، صحيح ) ؛
ذ : صحيح ؛
بداية
إذا ظ <> عدم
لكل ذ := 1 ، درجة ( ظ )
انفذ ذصضعثعج ( إبن ( ظ ، ذ ) ) ؛
اكتب ( قيمة_عقدة_شم ( ظ ، ذ ) )
نهاية_لكل ؛
انفذ ذصضعثعج ( إبن ( ظ ، درجة ( ظ ) + 1 ) )
نهاية_إذا
نهاية
5. إنشاء قائمة من جدولين
ديناميكيين باستخدام عملية متطورة ، ثم طباعة عناصر هذه القائمة.
ليكن
سك : قائمة من جداول ( 5 ) ديناميكية من صحاح ؛
ليكن
ك1 ، ك2 ، ك : جداول ( 5 ) ديناميكية من صحاح ؛
ذ : صحيح ؛
بداية
احجز_جدول ( ك ) ؛
ك1 := ك ؛
ملء_جدول ( ك1 ، [ 2 ، 4 ، 8 ، 9 ، 56 ] ) ؛
احجز_جدول ( ك ) ؛
ك2 := ك ؛
ملء_جدول ( ك2 ، [ 12 ، 14 ، 18 ، 19 ، 156 ] ) ؛
إنشاء_قائمة ( سك ، [ ك1 ، ك2 ] ) ؛
مادام سك <> عدم :
ك := قيمة_خلية ( سك ) ؛
لكل ذ := 1 ، 4 :
اكتب ( عنصر ( ك [ ذ ] ) )
نهاية_لكل ؛
سك := تالي ( سك ) ؛
نهاية_مادام
نهاية
6.
إنشاء شجرة بحث ثنائية باستخدام عملية متطورة ثم تصفحها عرضا باستخدام صف.
التصفح عرضا يعني أنه يجب عليك أولا زيارة الجذر ، ثم أبناء الجذر من اليسار إلى
اليمين (أو من اليمين إلى اليسار) ، ثم أبناء أبناء الجذر بنفس الترتيب وهكذا
ليكن
ح : صف من شجرة_بحث_ثنائية ؛
ا : شجرة_بحث_ثنائية ؛
ش : مؤشر إلى شجرة_بحث_ثنائية ؛
بداية
إنشاء_شجرة_بحث_ثنائية( ا ، [ 23 ، 45 ، 65 ، 55 ، 33 ، 3 ، 56 ، 76 ، 231 ، 5 ، 45
، 56 ])؛
احجز_صف ( ح ) ؛
ش := ا ؛
ضف_صف ( ح ، ا ) ؛
مادام لا صف_فارغ ( ح )
نزع_صف ( ح ، ش ) ؛
اكتب ( قيمة_عقدة ( ش ) ) ؛
إذا إبن_يسار ( ش ) عدم
ضف_صف ( ح ، إبن_يسار ( ش ) )
نهاية_إذا ؛
إذا إبن_يمين ( ش ) عدم :
ضف_صف ( ح ، إبن_يمين ( ش ) )
نهاية_إذا
نهاية_مادام
نهاية
7. ملء جدول من الأحرف مع
قراءة البيانات واحدا تلو الآخر ، نفذفرز الجدول ، ثم طبعه.
ليكن
ك : جدول ( 10 ) من محرف ؛
ذ ، ر : صحاح ؛
كاس ، فجشط : محرف ؛
بداية
لكل ذ := 1 ، 10
اقرأ ( كاس ) ؛
ضع_عنصر ( ك [ ذ ] ، كاس )
نهاية_لكل ؛
لكل ذ := 1 ، 9
لكل ر := 10 ، ذ + 1 ، - 1
إذا عنصر ( ك [ ر - 1 ] ) > عنصر ( ك [ ر ] )
فجشط := عنصر ( ك [ ر - 1 ] ) ؛
ضع_عنصر ( ك [ ر - 1 ] ، عنصر ( ك [ ر ] ) ) ؛
ضع_عنصر ( ك [ ر ] ، فجشط )
نهاية_إذا
نهاية_لكل
نهاية_لكل ؛
اكتب ( 'Tri Termin‚e' ) ؛
لكل ذ := 1 ، 10
اكتب ( عنصر ( ك [ ذ ] ) )
نهاية_لكل ؛
نهاية
8.
قراءة شاملة لجدول ثنائي الأبعاد ثم طباعته بعملية
كتابة واحدة.
ليكن
ك : جدول ( 3 ، 2 ) من سلاسل ؛
بداية
اقرأ ( ك ) ؛
اكتب ( ك ) ؛
نهاية
9.
قراءة شاملة لبنية معقدة ثم طباعتها بعملية كتابة
واحدة.
ليكن
غ2 : (
جدول ( 5 ) من سلاسل ،
جدول ( 5 ) من صحاح ،
سلسلة
) ؛
بداية
اقرأ ( غ2 ) ؛
اكتب ( غ2 ) ؛
نهاية