الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

إكتشف الأخطاء ... وإحفظ عقلك

مغلق
بدأه organic في 1 يونيو 2005 · 4 رد · 2,228 مشاهدة · في الأخبار والنقاشات التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

يقول والاس وانج أنه لكي يصبح البحث عن الأخطاء أسهل فقد قسم علماء الكمبيوتر إلى ثلاثة فئات :_

1- أخطاء هجائية Syntax Errors

2- أخطاء وقت التشغيل Run-Time Errors

3- اخطاء منطقية Logic Errors

الأخطاء الهجائية

تقع الأخطاء الهجائية تقع عندما تخطىء في هجاء أحد الأوامر أو الكلمات المحجوزة ، فمثلاً إذا كتبت كلمة Integer بالشكل التالي Intteger فإن الحاسوب لن يكون لديه أية فكرة عما تقصده منها ، وسوف يتوقف الكمبيوتر عندها ولا يحاول أن يشغل بقية البرنامج .

وعندما يمر أحد الأخطاء على فيجوال بيسك فإنه يقوم وبكل أدب بتحديد الكلمة الخطأ على الشاشة ليوضح لك بالضبط مكان المشكلة ، يمكنك بعدها أن تكتب الكلمة الصواب ثم تعيد تشغيل البرنامج مرة أخرى .

لاحظ أن الأخطاء الهجائية تمنع فيجوال بيسك من تشغيل البرنامج ، فحتى إذا كان هناك خطأ هجائي بسيط في أحد الأوامر فإن فيجوال بيسك لن يقوم بتنفيذ البرنامج حتى تصوبه ، فإذا بدأ فيجوال بيسك في تشغيل البرنامج فإنه يمكنك التأكد من أنه خالٍ تماماً من الأخطاء الهجائية ، عند ذلك ستبدأ في التعامل مع أخطاء وقت التشغيل .

أخطاء وقت التشغيل

تقع أخطاء وقت التشغيل Run-Time Errors عندما يصادف فيجوال بيسك بعض البيانات التي لا يستطيع التعامل معها ، وفي الغالب تكون أخطاء وقت التشغيل أصعب من الأخطاء الهجائية ، فقد يكون برنامجك مليئاً بأخطاء وقت التشغيل ولكنك لن تعرف ذلك إلا عندما تبدأ في تشغيل البرنامج فعلاً .

ولكي نعطي مثالاً من الحياة العملية على أخطاء وقت التشغيل ، حاول أن تركب سيارتك وإنطلق إلى أحد المطاعم التي تتيح لك الطلب من السيارة Drive-Thru وعندما تصل إلى النافذة ويسألك العامل عن الوجبة التي تريدها ، أخبره أنك تريد أن تشتري كتاباً !! ولأن العامل مبرمج على التعامل مع طلبات معينة فإن لن يستطيع التعامل مع طلبك وفي الغالب سيعاني هذا العامل من أخطاء وقت التشغيل :D !!

وإذا أردت مثالاً من أحد البرامج في فيجوال بيسك على أخطاء وقت التشغيل إكتب الأمر التالي :

TaxRate = TaxOwed /YearlyIncom

سيعمل هذا الأمر بصورة صحيحة إلا إذا أصبحت قيمة المتغيرYearlyIncome = صفراً ، ولأن القسمة على صفر مستحيلة فإن البرنامج سيتوقف عن العمل .

ولأن عدد الأشياء التي يمكن أن تسير على نحو خاطىء غير محدود ، فإنه يمكن أن تعرف الآن لماذا توجد أخطاء في معظم البرامج الكبيرة ، ويتساءل والاس وانج بظرفه المعهود قائلاً (( أليس هذا شيء يريح البال خاصة إذا تذكرت أنه ينطبق على البرامج التي تتحكم في سير الطائرات وأنت تركب الطائرة فوق المحيط ! :D ))

الأخطاء المنطقية

إن أصعب أنواع الأخطاء هو الأخطاء المنطقية Logic Errors ، وتقع الأخطاء المنطقية عندما لا يعمل البرنامج بالصورة الصحيحة لأنك أعطيت البرنامج أوامر غير صحيحة أو عندما تعطيه بعض الأوامر التي لا تعمل بصورة صحيحة في السياق الحالي ، ويستطرد وانج قائلاً صدق أو لا تصدق إن إضافة بعض الأوامر غير الصحيحة للبرنامج مسألة سهلة .

لكي تتعرف على هذه النقطة بالتفصيل إليكم هذا المثال ، عندما يكون أطفالك منهمكون في مشاهدة برنامج محبب لديهم في التلفاز ، إطلب منهم أن ينظفوا غرفتهم أو أن يقوموا بأداء واجباتهم المدرسية ، قد يقوم الأطفال بالمهمة المطلوبة ولكن ليس بالشكل الذي تتوقعه .

فبدلاً من أن يقوموا بأداء واجباتهم المدرسية بشكل صحيح فإنهم سيملئونها بالأخطاء وبدلاً من تنظيف غرفتهم بجمع القاذورات ووضع الملابس المتسخة في الغسالة فإنهم قد يجمعون كل هذه الأشياء ويضعونها تحت السرير بعيداً عن عينيك .

في كلتا الحالتين قام الأطفال بإتباع التعليمات التي أعطيتها لهم ، ولكن ليس بالشكل الذي تتوقعه أو تريده ، والسبب في ذلك هو أن تعليماتك لم تكن محددة بالضبط ، فإذا وجد الأطفال أية ( ثغرة ) في التعليمات التي تعطيها إياهم فإنهم سيهربون من هذه الثغرة ليتخلصوا من المهام التي تكلفهم بها ، وفي الواقع لا يختلف الحاسوب كثيراً عن الأطفال . :lol:

في بعض الحيان ستعتقد أنك أعطيت الحاسوب الأمر الصحيح ولن تكون لديك أي فكرة عن سبب عدم عمل البرنامج بالصورة الصحيحة ، في هذه الحالة عليك أن تفحص البرنامج وتتعرف على الأوامر التي قد لا تكون واضحة بدرجة كافية ليقوم الحاسوب بتنفيذها بالشكل المطلوب .

وإذا كانت البرنامج الذي تكتبه كبيراً ، فإن ذلك قد يعني أن تقوم بفحصه سطراً سطراً حتى تصل إلى الأمر أو الأوامر التي تسبب المشكلة (( ألم اقل لكم أن البرمجة عمل ظريف ؟! )) :lol: .

#2

جميل جداً يا "والاس وانج" :)

و جنبنا الله اخطاء الـ Run-Time Errors و خاصة التي و كثر الله من امثال المتصيدين لها :)

تم تعديل هذه المشاركة بواسطة إبراهيم الطيب في 1 يونيو 2005 في 19:23

gaza3-3.jpg
#3

تسلم يا ORGANIC :lol: :lol:

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#4

أخي / GHOST2010

شكرا على التجاوب وموفق بعون الله في إمتحاناتك .

......

أرجو المعزرة لتحرير المشاركة , وبارك الله فيك أحي العزيز

تم تعديل هذه المشاركة بواسطة إبراهيم الطيب في 1 يونيو 2005 في 19:41

#5

بارك الله فيك أخي العزيز ,

أرجو المعزرة لتحرير المشاركة :)

gaza3-3.jpg

هذا الموضوع مغلق.

مواضيع مشابهة