خصائص الخوارزمية الناجحة:
وسائل وصف الخوارزميات:
عادة ما يتم وصف الخوارزمية باستخدام أدوات ووسائل اللغة العادية حيث يشمل الوصف جميع مراحل وخطوات الخوارزمية ولحظات الأنتقال من مرحلة إلى مرحلة أو من خطوة إلى خطوة.
لحساب مجموعة الأعمال الفصلية والإختبار النهائي لطالب معين في إحدى المواد فإن خطوات الحل المنطقية يمكن ترتيبها في الخوارزمية التالية:
الخطوة الأولى: إقرأ درجة الأعمال الفصلية.
الخطوة الثانية: إحسب مجموع درجات الطالب score من المعادلة:
الخطوة الثالثة: إطبع قيمة المجموع score
إذا أراد شخص ما أن يحسب قيمة ذكاه أمواله النقدية والتي بلغت النصاب الشرعي بعد مرور حول قمري عليها وهي في حوزته، فكيف يحسب ذلك؟
من المعروف أن قيمة الذكاه تحسب بنسبة 2.5 % من قيمة المال البالغ النصاب، ولذا فإن خطوات الحل يمكن ترتيبها على النحو التالي:
1- إقرأ قيمة المال البالغ النصاب m.
2- احسب قيمة الذكاه المستحقة z.
3- اطبع النتيجة z.
ثانياً: خرائط التدفق (الإنسياب): flow charting
هي تمثيل بالرموز و الأشكال يوضح تسلسل الإجراءات والعمليات التي يمكن عملها لحل أي مسألة. عادة ترسم خرائط التدفق في المراحل الأولية لحلول المشاكل بواسطة الحاسوب، وتسهل مخططات التدفق من التفاهم بين المبرمج وصاحب العمل وهي تلعب دور مهم في برمجة المسائل وتساعد في فهم منطق حل المسائل المعقدة الطويلة. وبمجرد رسم خريطة التدفق تصبح عملية كتابة البرنامج سهلة ويسيرة باستخدام أي لغة برمجة عالية. وغالباً ما تفيد خرائط التدفق في شرح البرنامج للاخرين وعليه نستطيع القول بأن خرائط التدفق أفضل توثيق للبرنامج المعقد.
خريطة السريان المنطقى للبرنامج: Program Flow charting قبل أن نبدأ إعداد البرامج بلغة ما نتطرق إلى أحد الأساليب المتعارف عليها دولياً للتعبير عن الخطوات المنطقية للحل الا وهى خرائط السريان (التدفق )فأذا ما تم تحليل مشكلة للوصول إلى عناصرها وتحديد بيانتها فأنه يجب وضع خطوات منطقية متسلسلة يعتمد كل منها على الأخر للوصول إلى الحل النهائى للمشكلة او المعادلة.
ـ ونظراً لأن الرسومات المرئية تكون أكثر استيعاباً للذهن من تلك الموصوفة كتابتاً فقد حققت خرائط السريان نجاحاً كبيراً كآداة للتعبير ونوضح فى هذا الجزء كيفية استخدام خرائط السريان للتعبير عن التسلسل المنطقى للحل وكذالك مميزات استخدامها.
ـ توضح خرائط السريان خطوات تتابع معالجة وتدفق البيانات ويفضل جميع مخططى البرامج البدء بأعداد خرائط السريان قبل كتابة البرنامج.
وترسم خرائط التدفق (الإنسياب )باستخدام رموز قياسية ولكن لا يمنع من تطوير رموز خاصة بواسطة المبرمج إذا دعت الحالة، ويجب أن تكون خرائط التدفق (الإنسياب )واضحة ومرتبة وسهلة التتبع ولا يكون بها أي غموض أو إلتباس في فهم خرائط التدفق (الإنسياب )، ويجب أن يكون تسلسل ومسار العمليات أو النظام من اليسار لليمين ومن الأعلى للأسفل. ويجب أن يخرج خط إنسياب واحد من رمز العملية، ويمكن أن يخرج من رمز القرار خطان أو ثلاثة خطوط إنسياب لكل إجابة محتملة للخروج من رمز القرار.
يجب أن يستخدم خط إنسياب واحد مع رمزي البداية والنهاية
أنواع خرائط التدفق:
خرائط التتابع البسيط:

يخلو هذا النوع من التفرعات Branches و الدورانات loops، و يكون الشكل العام لهذا النوع كما هو مبين في الشكل.

خرائط التتابع البسيط
و كلمة Event الواردة في الشكل تعني الحدث أو العملية المطلوب تنفيذها.
مثال:ارسم خريطة سير العمليات لحساب قيمة كل من المتغيرات C, B, A في المعادلة الآتية:



إذا علمت أن قيم كل من Y, X معطاة (معلومة)، ثم اطبع قيم كل من C, B, A, Y, X.
الحل: من الواضح أنه يمكننا من حساب قيمة المتغير A في المعادلة(1) لمعرفتنا بقيم المعطيات الأولية Y, X، ويمكننا من حساب قيمة المتغير B في المعادلة (2) بالاعتماد على قيمة X المعلومة لدينا وقيمة المتغير Aالمحسوبة في الخطوة السابقة، أما قيمة المتغير C في المعادلة (3) بالاعتماد على قيم كل من المتغيرات B, A, X وكلها معلومة.
وتكون خطوات حل المسألة كما هو مبين في الشكل كما يلي:
خرائط التفرع:
ويحدث التفرع في البرامج بسبب الحاجة لاتخاذ قرار أو مفاضلة بين اختيارين أو أكثر، وهناك أسلوبان في تنفيذ القرار.

قرار ذو تفرعين قرار ذو ثلاثة تفرعات
وبشكل عام فإن خرائط التفرع يمكن أن تأخذ إحدى الصورتين الآتيتين:

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

الحدث (a) يتكرر تنفيذه في كل دوره حتى يصبح جواب الشرط YES. الحدث (a) يتكرر تنفيذه في كل دورة طالما كان جواب الشرط YES.

مثال: ارسم خريطة سير العمليات لإيجاد مساحة مجموعة من الدوائر أنصاف أقطارها معلومة:
تكون خطوات الحل المبينة في الشكل 12-10 كما يلي:
لإيجاد العدد الأكبر من الأعداد a,b,c