السؤالُ الأولُ: ما خصائصُ الخوارزميةِ الجيدةِ؟
الاجابة:
عندَ تصميمِ الخوارزمياتِ، منَ الضروريِّ اختيارُ الخوارزميةِ التي تتناسبُ معَ الظروفِ والمعاييرِ الخاصةِ بالمشكلةِ،ومن الخصائص الواجب مراعاتها لجعل الخوارزمية جيدة
وقتِ التنفيذِ: كمْ منْ الوقتِ تستغرقُ الخوارزميةُ للوصولِ إلى الحلِّ؟
مساحةِ الذاكرةِ: ما مقدارُ الذاكرةِ التي تحتاجُها الخوارزميةُ من متغيرات وثوابت في أثناءِتنفيذِها؟
سهولةِ الفهمِ والتنفيذِ: مدى سهولةِ فهمِ الخوارزميةِ وكتابتِها وتنفيذِها.
التخصصيةِ: بعضُ الخوارزمياتِ تكونُ مصممةً خصيصًا لمواقفَ أوْ مشكلاتٍ معينةٍ، لكنَّها قدْ تكونُ غيرَ فعالةٍ في مواقفَ أُخرى.
السؤالُ الثاني: أبينَ أهميةَ تتبعِ الخوارزميةِ معَ ذكرِ أمثلةٍ.
الاجابة:
- فهم الخوارزميات : مساعدة المبرمج على فهم اداء الخوارزمية وطريقة عملها مما يسهل عليه كتابة البرنامج اللازم لذلك واجراء التعديلات اذا اقتضى الأمر.
- تصحيح الاخطاء: عملية تتبع الخطوات تساعد في اكتشاف مصدر الخطأ وبالتالي تصحيحه.
- تحسين الاداء وتطويره: عملية تتبع الخوارزمية تساعد في معرفة الأجزاء التي تحتاج الى وقت طويل للتنفيذ وتعمل على إستهلاك الموارد بشكل كبير، وعليه ممكن إجراء التعديلات اللازمة لزيادة كفاءة الخوارزمية.
السؤالُ الثالثُ: كيفَ يمكنُ مقارنةُ الخوارزمياتِ المختلفةِ لحلِّ مشكلةٍ محددةٍ؟
الاجابة:
إن عملية مقارنة أداء الخوارزميات المختلفة لحل مشكلة محددة تعتمد على عدد من العناصر هي:
- الوقت الذي تحتاجه الخوارزمية لحل المشكلة،كل ما كان وقت التنفيذ أقل،كلما كانت الخوارزمية أفضل.
- مدى سهولة كتابة وفهم الخوارزمية من قبل الأفراد،كل ما كانت أسهل كلما كانت أفضل
- مدى ملائمة الخوارزمية لحل هذه المشكلة
- مقدار الذاكرة التي تحتاجها الخوارزمية أثناء عملية تنفيذها.
السؤالُ الرابع: أذكرُ فوائدَ استخدامِ المتغيراتِ في حلِّ المسائلِ البرمجيةِ.
الاجابة:
- تساعد على تنظيم البيانات في البرامج وجعلها أكثر مرونة الغايات إعادة الإستعمال
- تخزين البيانات ومعالجتها أثناء تشغيل البرنامج
- تحسين إمكانية التعديل والصيانة على البرامج في المستقبل
- استعمال المتغيرات ذات الأسماء المناسبة يساعد في عملية قراءة وفهم البرنامج،مما يمكن من معرفة المطلوب من الكود اذا تم قراءته من قبل غير المبرمج الذي كتبه