السلام عليكم! هل توجد طريقة لعرض مصفوفة معينة على الشاشة؟ هذا الذي تمكنت منه

(۩ دالة لكتابة مصفوفة على الشاشة ۩)
الدالة اكتب_المصفوفة(مصفوفة ۢصحيح، طول_المصفوفة صحيح) {
المتغير ع صحيح؛
لاجل ع := 0؛ ع < طول_المصفوفة؛ ع++ {
شاشة::اكتب(مصفوفة[ع])؛
' '.اكتب()؛
}
'/س'.اكتب()؛
}

  • عدلت

Ahmed1
السلام عليكم،
أهلا بعودتكم !
مثالكم على صواب؛ لأن المؤشرات و متغيرات المصفوفات (مؤشرات كذلك) لا تحمل أي معلومة لكونها ليس شيئا مهيكلا.
في اللغات الكائنية الطول مدمج داخل الشيء؛
مثلا النوع 'الخوارزم.أنموذج.صفيف' يماثل هذه الحالة و يشمل جميع الأنوات نظرا لاستعمال الأنموذجيات. ك 'الخورازم.أنموذج.قائمة' المستعمل في أمثلة_رسم.خ
لكن بالنسبة للصفوفات احادية البعد،
(عذرا لم يتسنى بعد الافراج عنه حاليا) :

النوع عنصر_مكون شيء {
	قيمة !نوع
}؛

النوع صفيف   ۢ  شيء {
	طولها		صحيح طبيعي
	حجمها		صحيح طبيعي	
	مكون		ۢ عنصر_مكون !<!نوع>!
}؛

عند الاستعمال : المتغير مصفوفة صفيف!<صحيح>!

  • إذا كنتم تريدون عدم استعمال الطول كمنطلق للدالة، فيمكن وضع قيمة توقف داخل الصفيف؛ أو تطويع نوعكم الخاص من المصفوفات كاللغات الكائنية.

  • الخوارزم ك معضم اللغات ثابتة-التنويع statically-typed، ان صحت الترجمة، إذ يعرف النوع عند الترجمة و ليس عند التنفيذ.
    كما أن استعمال حجم(مصفوفة) \حجم(صحيح) لاستنباط الطول لا يعمل الا اذا كان حجم المصفوفة واضحا للمترجم في النطاق الحالي.

    اذا كان ليكم أي تساؤل آخر أو إضافة على ضوء ما تيسر آنفا فيسعدنا المشاركة.

admin شكرا على إجابتكم، وعذرا عن الغياب المطول! بخصوص المثال الذي طرحتموه، هل استعملتم الgenerics؟

Ahmed1
مرحبا بكم في أي حين!

أجل تم استعمال الأنموذجيات. بشكل مبسط في الخوارزم.
فقط كملاحظة : هناك من يستعمل كلمة ‘generics‘ اصطلاحا عندما يتم تعريف النوع فعليا عند التنفيذ ك لغة جافا (dynamically-typed).
أما الخوارزم فثابت التنويع، أي يعرف النوع عند الترجمة ك سي++ مثلا (templates).

.

6 أيام لاحقا
أكتب ردك...