خوارزمية
من ويكيبيديا، الموسوعة الحرة
الخوارزمية (Algorithm) عبارة عن مجموعة من الخطوات الرياضية والمنطقية والمتسلسلة اللازمة لحل مشكلة ما. وسميت الخوارزمية بهذا الاسم نسبة إلى العالم المسلم الفارسي أبو جعفر محمد بن موسى الخوارزمي الذي ابتكرها في القرن التاسع الميلادي. كلمة خوارزم (algorism) في الأصل كانت مقتصرة على القوانين الرياضية التي تستخدم الأرقام العربية و طُّوِرت في اللاتينية من الخوارزمي (al-Khwarizmi) لتصبح (algorithm) في القرن الثامن عشر الميلادي لتشمل جميع إجراءات حل المشكلات و تنفيذ المهمات.
[تحرير] مزايا الخوارزميات
- وصف خطوات الحل بشكل واضح ومحدد.
- عدم اعتماد الخوارزمية على اسلوب معين في المعالجة
- امكانية استخدام الخوارزمية نفسها لحل جميع المشاكل المشابهة.
- سهولة فهم خطوات حل المشكلة واستيعابها.
- امكانية اكتشاف الاخطاء التي قد تحدث بيسر وسهولة.
- تعد الخوارزمية وسيلة من وسائل التوثيق.
[تحرير] تركيبها
هناك ثلاث تراكيب لبناء البرامج و كتابة الخوارزميات. الفكرة تكمن في أن أي برنامج أو خوارزمية يجب أن تتكون من هذه التراكيب الثلاثة فقط: التسلسل (sequence) ، الاختيار (selection),التكرار (repetition).
1- التسلسل: تكون الخوارزميةعبارة عن مجموعة من التعليمات المتسلسلة,هذه التعليمات قد تكون إما بسيطة أو من النوعين التاليين.
2- الاختيار : بعض المشاكل لايمكن حلها بتسلسل بسيط للتعليمات ، و قد تحتاج إلى اختبار بعض الشروط و تنظر إلى نتيجة الاختبار, إذا كانت النتيجة صحيحة تتبع مسار يحوي تعليمات متسلسلة,و إذا كانت خاطئة تتبع مسار آخر مختلف من التعليمات.هذه الطريقة هي ماتسمى اتخاذ القرار أو الاختيار .
3- التكرار : عند حل بعض المشاكل لا بد من إعادة نفس تسلسل الخطوات عدد من المرات. و هذا مايطلق عليه التكرار .
و قد أثُبت أنه لاحاجة إلى تراكيب إضافية.استخدام هذه التراكيب الثلاث يسهل فهم الخوارزمية و اكتشاف الأخطاء الواردة فيها و تغييرها.
[تحرير] تمثيلها
1- المخطط الانسيابي (Flowchart) : هو تمثيل مصور للخوارزمية يوضح خطوات حل المشكلة من البداية إلى النهاية مع إخفاء التفاصيل لإعطاء الصورة العامة للحل. و يمكن تصنيفها إلى أصناف ثلاثة هي:
- مخططات سير العمليات التتابعية (Sequential Flowcharts).
- مخططات سير العمليات ذات التفرع (Branched Flowcharts).
- مخططات سير العمليات ذات التكرار والدوران (Loop Flowcharts).
2-الشفرة المزيفة (pseudocode) : تمثيل الخوارزمية بلغات البشر كالانجيليزية أو الفرنسية أو العربية أو بلغات البرمجة كالباسكال (Pascal).البعض يستخدم الكثير من التفاصيل و البعض الآخر يستخدم القليل ... فلا قاعدة معينة لكتابة هذا النوع من الشفرات.
هذه بذرة مقالة عن الحاسوب أو العاملين في هذا المجال تحتاج للنمو والتحسين؛ فساهم في إثرائها بالمشاركة في تحريرها. |