بنى | أنواع مركبة |
جداولـ | قراءة / كتابة |
عمليات متطورة | تخصيص شامل |
ملفات |
يمكن أن تكون البنية
- بسيطة (عددية, عددية,... )
- مركب (عددية أو جدول ذات بعد واحد من العددية, عددية أو جدول ذات بعد واحد من
العددية,...)
يمكن أن تكون البنية ثابتة أو ديناميكيا.
البنية الديناميكية هي بنية بسيطة. لا يمكن أن يكون داخلها جداول ديناميكية.
من الممكن أن يكون لدينا بنية مكونة من عنصر واحد.
مثال:
ليكن غ : (صحيح) ؛
يمكن أن يكون الجدول ثابتا أو
ديناميكي.
لا يمكن أن بعد الجدول يتجاوز 5.
لا يمكن أن يكون لدينا جدول ديناميكي من البنى الديناميكية.
لا يمكن أن يكون لدينا جدول من البنى المعقدة.
لجدول محدد على النحو التالي:
ليكن ف3 : جدول ( 3 ) من جدول ( 2 ) ؛
لا يمكننا أن نفعل
ملء_ـجدول ( ف3 , [ [ 23 , 7 ] , [ 2 , 3 ] , [ 78 , 34 ] ]
) ;
بدلا من ذلك
ملء_ـجدول ( ف3 , [ ج1 , ج2, ج3] ) ;
بالنسبة لجميع العمليات عالية المستوى ، يمكن أن يكون العنصر عبارة عن عديدية أو بنية بسيطة.
(ملء_جدول,
إنشاء_قائمة, ...)
من ناحية أخرى ، بالنسبة ملء_بنية, يمكن أن
يكون لدينا بنية معقدة
مثال:
ملء_بنية( ب,[ 'زز',
[12, 23, 32], 7);
لا يمكننا أن نفعل
إنشاء_قائمة
(ق, [ [12, 23, 22],
[22, 66, 88], ...]);
ملء_جدول
(ج, [ [12, 23, 22],
[22, 66, 88] ... ]);
يمكن استخدام التعبيرات في العمليات عالية المستوى.
ملفات
يمكن أن يكون عنصر الملف:
- بنية بسيطة
- بنية معقدة
- جدول من العددية
- عددي
رأس الملف هو بنية بسيطة.
جزء "رأس الملف" اختياري
جزء "مخزن الملف" اختياري
بناء الجملة: جزء "رأس الملف" يسبق جزء "مخزن الملف".
لا يمكننا أن نفعل
- ليكون م1، م2... ملفات من ...
من الضروري عمل تعريفات فردية.
يتم تعريف النوع المركب على النحو التالي:
نوع من نوع.... من س
مع
نوع في { قائمة ،قائمة ثنائية الإتجاه ، شجرة البحث الثنائية ، شجرة البحث المتعددة
، جدول ، صف ، كومة}
س هو إما عددي أو بنية بسيطة
قراءة / كتابة
يمكننا قراءة / كتابة بنية بسيطة أو معقدة (ثابتة أو ديناميكية)
يمكننا قراءة / كتابة جدول ذات بعد واحد أو أكثر (ثابتة أو ديناميكية)
تخصيص شامل
يمكننا أن نفعل تخصيصات شاملة للجداول والبنى الثابتة .
يتعلق الأمر بإنشاء نسخة وليس تخصيص مؤشر بسيط.
بالنسبة للجداول ، سنقتصر على جداول من العديدية أو البنى البسيطة.