1- يمكن أن يكون الإجراء الفرعي من دون معاملات. شرح السؤال مفتاح الحل: فكر في الإجراءات المرتبطة بالأحداث (مثل النقر على زر Command1_Click). هل تتطلب دائماً تمرير قيم من الخارج لكي تعمل؟ صح خطأ الإجابة الصحيحة: (صح)الإجراء الفرعي (Sub) يمكن تصميمه ليعمل بدون أي معاملات (Input Parameters). والمثال الأبرز على ذلك في البيسك المرئي هو الإجراءات الفرعية المرتبطة بالأحداث، مثل الإجراء Private Sub Command1_Click() والذي ينفذ الأوامر بداخله بمجرد النقر دون الحاجة لتمرير متغيرات.سؤال: متى يكون المبرمج مُجبراً على استخدام المعاملات في الإجراء الفرعي؟ (تلميح: عندما يريد للإجراء أن يعالج بيانات مرنة تأتيه من أجزاء مختلفة من البرنامج).(الفصل السادس: البرامج الفرعية والدوال، 6-2: الاجراءات الفرعية (الروتينات)، صفحة 100)
2- عند استدعاء إجراء فرعي أو دالة يجب أن يكون عدد المعاملات في جملة الأعلان مساوياً لعدد المعاملات في جملة الاستدعاء. شرح السؤال مفتاح الحل: إذا كان الإجراء الفرعي مصمماً لاستقبال رقمين لجمعهما، هل يمكن استدعاؤه بإرسال رقم واحد فقط أو ثلاثة أرقام؟ صح خطأ الإجابة الصحيحة: (صح)من القواعد الأساسية في البرمجة عند استدعاء الدوال والإجراءات الفرعية: يجب أن يتطابق عدد المعاملات (Arguments) المرسلة في جملة الاستدعاء مع عدد المعاملات (Parameters) المحددة في رأس (إعلان) الإجراء. إضافة لذلك، يجب أن تتوافق أنواع البيانات. عدم التطابق سيؤدي إلى خطأ برمجي.سؤال: هل يشترط أن تتطابق أسماء المتغيرات في جملة الاستدعاء مع أسماء المعاملات في جملة الإعلان؟ (تلميح: لا يشترط، المهم هو العدد والنوع والترتيب).(الفصل السادس: البرامج الفرعية والدوال، 6-2: ملاحظات على عملية الاستدعاء، صفحة 102)
3- يمكن استدعاء الدالة بجملة الاستدعاء (Call). شرح السؤال مفتاح الحل: الدالة (Function) تعيد قيمة ويجب وضعها في متغير أو جملة طباعة. الإجراء الفرعي (Sub) ينفذ أمراً ولا يعيد قيمة باسمه. أي منهما يُستدعى بكلمة Call؟ صح خطأ الإجابة الصحيحة: (خطأ)جملة Call تُستخدم حصراً لاستدعاء الإجراءات الفرعية (Subroutines). أما الدالة (Function) فلا تُستدعى باستخدام Call، بل يتم استدعاؤها بوضع اسمها في الطرف الأيمن من معادلة مساواة لتخزين قيمتها المعادة في متغير (مثل: x = MyFunction())، أو تضمينها في جملة طباعة أو شرط.مفهوم: لماذا هذا الاختلاف؟ لأن استدعاء الدالة بـ Call سيهدر القيمة التي أرجعتها الدالة في الفراغ!(الفصل السادس: البرامج الفرعية والدوال، 6-3: الدوال الوظيفية، صفحة 104)
4- لمحو المسافات من بداية النص نستخدم الدالة الجاهزة: شرح السؤال مفتاح الحل: بداية النص باللغة الإنجليزية في البرمجة هي الجانب الأيسر (Left). ما هي الدالة التي تقوم بتقليم (Trim) النص من هذا الجانب؟ Trim(s) RTrim(s) Len(s) LTrim(s) الإجابة الصحيحة: (LTrim(s))الدالة LTrim (اختصار لـ Left Trim) تقوم بإزالة المسافات الفارغة من بداية السلسلة النصية (من جهة اليسار). بقية الخيارات:- RTrim: تزيل المسافات من النهاية (اليمين).- Trim: تزيل المسافات من البداية والنهاية معاً.- Len: تعيد طول النص.تطبيق عملي: تستخدم هذه الدوال بكثرة عند إدخال المستخدم لاسمه في صندوق النص، لتفادي الأخطاء إذا قام بكتابة مسافات زائدة عن طريق الخطأ قبل أو بعد اسمه.(الفصل السادس: البرامج الفرعية والدوال، 6-4-2: الدوال والجمل الحرفية، صفحة 113)