|
#1
|
||||
|
||||
![]()
هناك علاقة تفاعلية بين ثلاثة " المبرمج " و "المستخدم" و "البرنامج" .... والسؤال من يخطئ في هؤلاء ؟
" البرنامج" هو بناء هيكلي متكامل تم تجريبه وغالباً لايأتي الخطأ من ناحيته .... إذن الخطأ دائماً يأتي من البشر "المبرمج" أو " المستخدم" .... أخطاء يرتكبها "المبرمج" وتصنيفها وكيفية التعامل معها وتصحيحها ؟ 1- الأخطاء في قواعد اللغة (syntax error ) وهي أخطاء تحدث من المبرمج نتيجة لعدم إلتزامه بالقواعد .... وهذا النوع من الأخطاء لن يسمح بها البرنامج وسيخط خطاً أزرقاً تحت هذه النوع من الأخطاء ولن يسمح بالطبع بتشغيل البرنامج ... وعلاجه هو تتبعه ومن ثم تصحيحه (وفي الحقيقة هناك أكثر من طريقة للتبع ) يوفرها البرنامج ويعطيك نصائح حول تصحيحها ولكن لن نخوض فيها أكثر من ذلك . 2- أخطاء منطقية (logic error ) وهي أخطاء خبيثة لايكتشفها البرنامج وغالباً ماتحدث في جمل التخصيص الخاطئة .... وفيها ينسى المبرمج ويضرب بدلاً من أن يقسم أو يجمع بدل الطرح وهكذا .... وعلاجها بسيط جداً .... وهو إختبار صحة البرنامج عن طريق مدخلات معروف نتائجها مسبقاً . ثم مراجعة وتصحيح الكود . أخطاء يرتكبها "المستخدم" وهي أخطاء التشغيل ( runtime error ) وهي أخطاء يقع فيها المستخدم نتيجة إدخالات خاطئة أو استخدام خاطئ للبرنامج ولايستطيع المترجم فهم مايقصده المستخدم وهنا وجب على المبرمج إنقاذ الموقف ولا يترك المستخدم فريسة لرسائل البرنامج المعقدة ويرسل رسائل ذات معنى محدد يفهمها مستخدمه ..... عن طريقين أولهما جملة (try catch) وثانيهما التصميم الجيد واستخدام الأدوات التي توفرها بيئة التطوير المتكاملة والتي تجعل المستخدم لايكتب كثيرا وإنما فقط يختار خيارات محددة وهذا يعتمد على شطارة المبرمج في استخدام الأدوات .... |
#2
|
|||
|
|||
![]() اقتباس:
جزاكم الله كل خير ولعل نجد عندكم الاجابةماذا ستقول للطالب عند حل النموذج الثاني السؤال الثاني رقم 2 والاجابة الموجودة بالسؤال خطأ في نوع متغير الحلقة رغم انه لن يضع خطأ ازرق تحت نوع المتغير ورغم اننا لم نشرح له قط خطأ فى نوع متغير الحلقة وبماذا تفسر له الرسالة التى تظهر مع الخط الازرق تحت الرقم 500 والتى تقول انه لا يناسب مع النوع وان الخطأ في القيمة الثابتة وليس نوع متغير الحلقة هل نقول له احفظها كدا لو جاءت بالامتحان
__________________
|
#3
|
||||
|
||||
![]() اقتباس:
أستاذ سيف أسعدني تواجدكم ومروركم الكريم ..... أنا أكره الحفظ .... كرهي للشيطان .... وأبداً لن أقول لأبنائي احفظوها كده فهذه حجة من لايعمل عقله ..... وللإجابه على خواطرك بخصوص السؤال رقم 3 في النموذج الثاني ... أقول : - تعالى أولا نتفق أن هناك العديد من الإجابات الخاطئة الواردة بحلول موقع الوزارة . - لماذا لم يضع خطاً أزرقاً تحت المتغير ..... لأنه عرف المتغير بشكل صحيح والتزم بقواعد التعريف وبالتالي لم يعترض البرنامج على المتغير في ذاته ... - أما الخطأ الحقيقي فوقع هنا بالفعل في قواعد اللغة عند وضع قيمة End داخل الحلقة وهي قيمة ثابتة برقم تجاوز نوع بيان المتغير وهي هنا تعتبر overflow تجاوزت حدود نوع البيان ولو قمنا بتغيير نوع البيان إلى integer مثلا لانتهت المشكلة وسيعمل البرنامج بشكل سليم . - أما بخصوص نوع الخطأ "نوع متغير الحلقة" هو هنا يريد تفصيل التفصيل .... كان أولى أن يقول خطأ من النوع "syntax" .... وتقول الرسالة أن التعبير الثابت "500" لايتناسب مع نوع البيان "Byte" - وأخيرأً هو حضرتك لم تلاحظ أنه أنهي الحلقة التكرارية For ....Next بـــ Loop ...... ماذا تسمي هذا ؟ |
#4
|
|||
|
|||
![]() اقتباس:
والمشكلة الاكبر تكبر الوزارة وعدم الاعتراف بالخطأ والمشكلة الاخطر استمرارها في الخطأ جزاكم الله كل خير
__________________
|
#5
|
|||
|
|||
![]() اقتباس:
تقصد Runtime وليس syntax بالنسبة ل Loop تصحيحها Next شكرا لك |
#6
|
||||
|
||||
![]() اقتباس:
لا أنا أقصد syntax فالخطأ هنا حدث في القواعد حيث أتى بنهاية الحلقة overflow عن نوع البيان .... أعلم أنها next ولكني كنت أستغرب على الكتاب . أرجوا منك تكثيف مشاراكاتك في موضوعي . |
#7
|
||||
|
||||
![]()
Public و Freind و Dim و Private و Static ..... كلها كلمات تستخدم للإعلان عن المتغيرات .....
__________________
دمي ......... فداكي يامصر .
|
#8
|
|||
|
|||
![]() اقتباس:
الاعلان عن الثوابت يكون باستخدام Const تستخدم Static لإطالة عمر المتغير المعلن داخل معالج حدث بحيث يبقى بالذاكرة رغم انهاء إجراء الحدث حيث ما يعلن داخل معالج الحدث ينشأ في الذاكرة ثم يموت بعد انتهاء استدعاء معالج الحدث بعد تنفيذ End sub أما Public , friend , private , protected , protected friend يطلق عليها Access Modifier من خلالها نستطيع تحديد مدى سماحية استخدام العنصر خارج نطاق إعلانه Public تجعل العنصر element متاح على مستوى الحل Solution friend تجعل العنصر element متاح على مستوى المشروع Project private تجعل العنصر element متاح على مستوى نطاق إعلانه فقط protected تجعل العنصر element متاح عند وراثته على مستوى الحل Solution protected friend جعل العنصر element متاح عند وراثته على مستوى المشروع Project مثال محرر الكود يقوم بحذف كلمة Dim عند استخدام أي مما سبق لكنها من صميم تركيب جملة الاعلان عن المتغير مثلا Public x As Integer تم الإعلان عن متغير من النوع Integer متاح استخدامه على مستوى الحل (كافة المشاريع المعلنة داخل الحل بما فيها المشروع الحالي ويتم ذلك بعمل Reference للمشروع الذي به هذا المتغير عند المشاريع الأخري ثم عمل Object للتصنيف الذي يحوى هذا المتغير) الأمر هام جدا جدا جدا |
![]() |
العلامات المرجعية |
|
|