الآلات  المجردة                    العودة إلى الملخص

 

مفهوم الآلة المجردة

جداول                  

بنى

قوائم    

قوائم ثنائية الاتجاه        

أكوام                 

صفوف

أشجار البحث الثنائي

أشجار البحث المتعددة

ملفات

 

 

       مفهوم الآلة المجردة

 

في كل تركيب المعطيات ، يتم تعريف الآلة المجردة بمجموعة العمليات الخاصة بها.


ليكن ‹قم› : ‹آلة مجردة›
‹قم› : مجموعة من المعرفين 

 

أمثلة
ق1، ق2 : قوائم
ص : صف
ج : جدول(10,60)
قكج : قائمة من أكوام من جداول(5)
 

آلة مجردة على الجداول

 

عنصر( ج [ب، ج، ...] ) :

    الحصول على العنصر ج[ب، ع، ...] للجدول ج.
ضع_عنصر( ج[ب، ج، ...], ق) :

     تخصيص القيمة ق إلى العنصر ج[ب، ع، ...] للجدول ج.
احجز_جدول(ج) :

     حجز جدول.
سرح_جدول(ج) :  

     تسريح جدول.
 

آلة مجردة على البنى

 

حقل(ب, ر) :

    الحصول على الحقل رقم ر.
ضع_حقل(ب, ر, ق) :

    تخصيص القيمة ق إلى الحقل رقم ر.
احجز_بنية(ب) :  

    حجز بنية
سرح_بنية(ب) :

     تسريح بنية

 



آلة مجردة على القوائم

 

احجز_خلية( ق) :

    حجز خلية مع المعطية ق و إرجاع عنوان العقدة.
سرح( ق) :

     تسريح الخلية بعنوان ق.
تالي( ق) :  

    الحصول على الحقل "عنوان يمين" للعقدة المشار إليها بواسطة ق.
قيمة_خلية( ق) :    

    الحصول على الحقل "قيمة" للعقدة المشار إليها بواسطة ق.
ضع_عنوان( ق, ل) :

     تخصيص العنوان ل إلى الحقل "عنوان" للعقدة المشار إليها بواسطة ق.
ضع_قيمة_خلية( ق, قيمة) :   

     تخصيص القيمة قيمة إلى الحقل "قيمة" للعقدة المشار إليها بواسطة ق.
 

 آلة مجردة على القوائم ثنائية الإتجاه

 

احجز_خلية( ق) :

    حجز خلية مع المعطية ق و إرجاع عنوان العقدة.
سرح( ق) :

     تسريح الخلية بعنوان ق.
تالي( ق) :

    الحصول على الحقل "عنوان يمين" للعقدة المشار إليها بواسطة ق.
سابق( ق) :

    الحصول على الحقل "عنوان يسار" للعقدة المشار إليها بواسطة ق.
قيمة_خلية( ق) :

    الحصول على الحقل "قيمة" للعقدة المشار إليها بواسطة ق.
ضع_قيمة_خلية( ق, قيمة) :

    تخصيص القيمة قيمة إلى الحقل "قيمة" للعقدة المشار إليها بواسطة ع.
ضع_عنوان_يمين( ق, ل) :

    تخصيص العنوان ل إلى الحقل "عنوان يمين" للعقدة المشار إليها بواسطة ق.
ضع_عنوان_يسار( ق, ل) :

    تخصيص العنوان ل إلى الحقل "عنوان يسار" للعقدة المشار إليها بواسطة ق.

 آلة مجردة على الصفوف

 

احجز_صف( ص) :

    حجز صف فارغ.
صف_فارغ( ص) :    

    تحقق مما كان الصف فارغ.
ضف_صف( ص, ق) :

    إظافة القيمة ق الى ذيل الصف ص.
نزع_صف( ص, ق) :

    انسحاب القيمة الموجودة فى رأس الصف ص و جعلها في المتغير ق.
آلة مجردة على الأكوام

 

 احجز_كومة( ك) :

    حجز كومة فارغة.
كومة_فارغة( ك) :

    تحقق مما كانت الكومة فارغة.
ضف_كومة( ك, ق) :    

    إظافة القيمة ق الى قمة الكومة ك.
نزع_كومة( ك, ق) :

    انسحاب القيمة الموجودة فى قمة الكومة ك و جعلها في المتغير ق.
 

آلة مجردة على الأشجار البحث الثنائي

 

احجز_عقدة( ق) :

    حجز عقدة مع المعطية ق و إرجاع عنوان العقدة. تخصيص "لا شيء" إلى الحقول الأخرى للعقدة.
سرح_عقدة( ع) :

     تسريح العقدة بعنوان ع
إبن_يسار( ع) :

    الحصول على الحقل "إبن_يسار" للعقدة المشار إليها بواسطة ع .
إبن_يمين( ع) :

    الحصول على الحقل "إبن_يمين" للعقدة المشار إليها بواسطة ع .
أب( ع) :

    الحصول على الحقل "أب" للعقدة المشار إليها بواسطة ع.
قيمة_عقدة( ع) :

    الحصول على الحقل "قيمة" للعقدة المشار إليها بواسطة ع.
ضع_إبن_يسار( ع, ل) :  

    تخصيص العنوان ل إلى الحقل "إبن_يسار" للعقدة المشار إليها بواسطة ع.
ضع_إبن_يمين( ع, ل) :

    تخصيص العنوان ل إلى الحقل "إبن_يمين" للعقدة المشار إليها بواسطة ع.
ضع_أب( ع, ل) :

    تخصيص العنوان ل إلى الحقل "أب" للعقدة المشار إليها بواسطة ع.
ضع_قيمة_عقدة( ع, ق ) :

    تخصيص القيمة ق إلى الحقل "قيمة" للعقدة المشار إليها بواسطة ع.
 

آلة مجردة على الأشجار البحث المتعددة

 

احجز_عقدة( ق) :

    حجز عقدة مع المعطية ق و إرجاع عنوان العقدة. تخصيص "لا شيء" إلى الحقول الأخرى للعقدة.
سرح_عقدة( ع ) :    

    تسريح العقدة بعنوان ع
إبن( ع, ر ) :    

    الحصول على العنوان ( من رتبة ر) من عقدة المشار إليها بواسطة ع
أب( ع ) :

    الحصول على الحقل أب للعقدة المشار إليها بواسطة ع
قيمة_عقدة_شم( ع, ر) :

    الحصول على المعطية ( من رتبة ر) من عقدة المشار إليها بواسطة ع
ضع_إبن( ع, ر, ل) :

    تخصيص العنوان ل كالإبن ( من رتبة ر) من عقدة المشار إليها بواسطة ع
ضع_أب( ع, ل) :

    تخصيص العنوان ل إلى الحقل أب للعقدة المشار إليها بواسطة ع.
ضع_قيمة_عقدة_شم( ع, ر, ق) :

    تخصيص القيمة ق كالمعطية ( من رتبة ر) من عقدة المشار إليها بواسطة س
درجة(ع) :

    عدد البيانات المخزنة في العقدة المشار إليها بواسطة ع.
ضع_درجة(ع, ر) :

    تخصيص القيمة ر إلى الحقل درجة للعقدة المشار إليها بواسطة ع
 

 

آلة مجردة على الملفات

 

 افتح_ملف (م, مف, طارقة) :

    فتح الملف المنطقي و ربطه بالملف الفعلي تحديد ما إذا كان الملف هو جديد ('ن') أو القديم ('أ').
أغلق_ملف(م) :

    إغلاق الملف.
اقرأ_تسلسلا_ملف (م, ق) :

    القراءة في المتغير ق البنية الموجودة في الموضع الحالي.
اكتب_تسلسلا_ملف (م, ق) :

    كتابة البنية ق في الوضع الحالي.
اقرأ_مباشرة_ملف (م, ق, ر) :

    قراءة البنية ر من الملف.
اكتب_مباشرة_ملف (م, ق, ر) :

    كتابة البنية ق في المركز ر
اظف_ملف (م, ق) :

    إظافة البنية ق في نهاية الملف
نهاية_ملف (م) :

    دالة مساوية لصواب إذا واجهت نهاية الملف ، خطأ خلاف ذلك.
احجز_كتلة_ملف(م) :

    موقف كتلة (أو بنية) التي يمكننا الكتابة فيها.
صدر_ملف (م, ر) :

    استعادة خاصية ر من الملف.
ضع_صدر_ملف(م, ر, ق) :

    تعيين ق كخاصية ر من الملف.