أساسيات المبرمج المستقبلي
الخورزميات
على المبرمج المستقبلي التعرف أولا وقبل كل شيء على الخوريزميات .
ما هي الخوارزمية؟
لماذا تعد دراسة الخوارزميات عملية هامة في تعلم البرمجة ؟
ما هو دور الخوارزمية بالنسبة للتقنيات الأخرى المستخدمة في مجال الحواسيب؟
في هذا الموضوع سنحاول الإجابة على هذه التساؤلات ...
في هذا الموضوع سنحاول الإجابة على هذه التساؤلات ...
قبل الخوض في التفاصيل فإن كثير من المبرمجين يعتقدون أن البرمجية هي إتقان لغة برمجة ... وهذا طبعاً غير صحيح. فمن وجهة نظر برمجية تعتبر لغة البرمجة أداة تنفيذ الخوارزميات فقط لا غير .
فإن تمكن المبرمج من إتقان الخوارزميات .. يصبح من السهل عليه تطوير تطبيقات متقدمة بلغات برمجية مختلفة .
الخوارزمية : بشكل عام، يمكننا تعريف الخوارزمية بأنّها أي سلسلة من الخطوات الحسابية المعرفة بشكل جيد، والتي تأخذ قيمة أو أكثر كـدخل Input ، وتعطي قيمة أو أكثر كـ خرج Output
بهذا المفهموم فإن الخوارزمية عبارة عن أداة لحل المسائل الحسابية. ونقصد بكلمة مسألة : العلاقة بين الدخل والخرج، وبالتالي فإن دور الخوارزمية توضيح الخطوات الضرورية للوصول إلى العلاقة المطلوبة، وعادةً ما تسمى قيم الدخل التي يتم اختبار الخوارزمية عليها بـ Instance.
لتوضيح المفاهيم السابقة نأخذ المثال التالي :
لنفترض أنه لدينا سلسلة من الأعداد الصحيحة ونريد ترتيبها تنازلياً فعندئذٍ :
المسألة : ترتيب تنازلي للأعداد الصحيحة .
الدخل : سلسلة من الأعداد عددها n.
الخرج : سلسلة الدخل مرتبة تنازلياً .
لتوضيح المفاهيم السابقة نأخذ المثال التالي :
لنفترض أنه لدينا سلسلة من الأعداد الصحيحة ونريد ترتيبها تنازلياً فعندئذٍ :
المسألة : ترتيب تنازلي للأعداد الصحيحة .
الدخل : سلسلة من الأعداد عددها n.
الخرج : سلسلة الدخل مرتبة تنازلياً .
Insatnce:
بفرض سلسلة الدخل هي <10,5,30,15,40> فإن سلسلة الخرج هي <5,10,15,30,40>.
أخذنا عملية الترتيب كمثال توضيحي لأهميتها الكبيرة في كثير من التطبيقات، وتمَّ تطوير عدد كبير من خوارزميات الترتيب والتي سنتطرق لها بالشرح والتحليل في مواضيع لاحقة .
بشكل عام، فإنّ أي مسألة حسابية ليس لها حل وحيد وحسب، وإنما عدد لا نهائي من الحلول، بمعنى أنّه يوجد
أخذنا عملية الترتيب كمثال توضيحي لأهميتها الكبيرة في كثير من التطبيقات، وتمَّ تطوير عدد كبير من خوارزميات الترتيب والتي سنتطرق لها بالشرح والتحليل في مواضيع لاحقة .
بشكل عام، فإنّ أي مسألة حسابية ليس لها حل وحيد وحسب، وإنما عدد لا نهائي من الحلول، بمعنى أنّه يوجد
لدينا عدد لا بأس به من الخورزميات، فكيف نختار الخوارزمية المناسبة للتطبيق؟
يتم الاختيار بحيث نحقق استغلالاً أمثلياًّ لموارد الحاسوب،
فما هي هذه الموارد؟
أهم هذه الموارد هي: زمن المعالجة وحجم الذاكرة اللازمة لتنفيذ الخوارزمية .
بشكل عام يُفضّل أن يكون كل من زمن المعالجة وحجم الذاكرة المستهلكة أصغر ما يمكن، فنختار الخوارزمية التي تحقق أحد الشرطين السابقين على الأقل .
أتترككم الأن في فرصة قادمة بإدن الله.
Aucun commentaire:
Enregistrer un commentaire