الثلاثاء، 28 فبراير 2017

المخطط الانسيابي

المخطط الانسيابي (Flowchart) :
 هو تمثيل مصور للخوارزمية يوضح خطوات حل المشكلة من البداية إلى النهاية مع إخفاء التفاصيل لإعطاء الصورة العامة للحل. فهي تعبر عن تدفق العمليات في البرنامج و يشمل ذلك الحلقات  و بنى التحكم و اتخاذ القرار.
و يمكن تصنيفها إلى أصناف ثلاثة هي:
       مخططات سير العمليات التتابعية (Sequential Flowcharts).
       مخططات سير العمليات ذات التفرع (Branched Flowcharts).

       مخططات سير العمليات ذات التكرار والدوران (Loop Flowcharts). وهي تستخدم  من اجل تمثيل عمل البرامج ذات التدفق المعلوم و التي يمكن فيها التنبؤ بالخطوة التالية للبرنامج و بالتالي فان البرامج المقادة بالأحداث يصعب التعبير عنها باستخدام المخططات التدفقية بسبب تعدد الأحداث التي تغير في مسار عمل البرنامج. 
يستخدم في هذه المخططات رموز معينة تعبر كل منها عن احد العمليات الممكنة في البرنامج.

الشفرة المزيفة (pseudo code) :
تمثيل الخوارزمية بلغات البشر كالانجليزية أو الفرنسية أو العربية أو بلغات البرمجة كالباسكال (Pascal).البعض يستخدم الكثير من التفاصيل و البعض الآخر يستخدم القليل ... فلا قاعدة معينة لكتابة هذا النوع من الشفرات.
و اللغة الطبيعية  هي"اللغة التي نستخدمها في حياتنا اليومية"الغة العربية أو الإنكليزية........إلخ"" و نجد أن استخدام اللغة الطبيعية لتمثيل الخوارزمية تبدو حلا مملا وخاصة عندما يحتاج صفحات عده لتمثيل الخوارزمية كما أن اللغة الطبيعية تتصف بالغنى بالأوصاف و المعاني و تعتمد في الفهم على خبرة قارئ النص بمعرفة المعنى الدقيق للجملة المكتوبة إذ في حين قراءة النص من قبل أشخاص متعددين نحصل على معاني مختلفة لكن يجب أن لا يقبل النص إلا تفسيراً واضحاً دون لبس أو غموض
       العمليات التتابعية (Sequential Flowcharts).
1-      Start
2-      Enter first num
3-      Enter second num
4-      Calc the sum
5-      Print the result
6-      end
       العمليات ذات التفرع (Branched Flowcharts).
1-      Start
2-      Enter first number
3-      Enter second number
4-      If second number=0 then
a.      Print error
b.      Goto 6
5-      Else
a.      Calculate division
b.      Print the result
6-      end
       العمليات ذات التكرار والدوران (Loop Flowcharts).
1-      Start
2-      Set the counter
3-      Set the result to 1
4-      While the counter less than target number
a.      Multiply the counter with current result
b.      Set the multiplication to the new result
5-      Print the result
6-      end
يمكن أن نجد بعض المراجع تشير إلى المصطلحات المستخدمة في شبه الترميز مثل :
       Input: READ, OBTAIN, GET
       Output: PRINT, DISPLAY, SHOW
       Compute: COMPUTE, CALCULATE, DETERMINE
       Initialize: SET, INIT
إن الطرق السابقة تعجز عن تمثيل البرامج ذات التقنيات الحديثة مثل البرامج التي تكون موجهة بالأحداث نظرا لتعدد طرق تشغيل البرنامج كما أن هذه الطرق عاجزة عن تمثيل البرامج التي تعتمد المسارات المتعددة و البرامج التي تكون موزعة و البرامج التي تتعامل مع قواعد البيانات و هنا نذكر مجموعة جديدة من الطرق مثل مخططات الكيان ارتباط من اجل تمثيل قواعد البيانات العلاقاتية ومخططات UML التي تستخدم في تحليل النظام و توصيف كامل مكوناته.
العلاقة بين المخططات التدفقية و شبة الترميز:
يمكن الانتقال من احد طرق التمثيل إلى الأخرى و لكن بشكل عام فان كلاهما يعبر عن ذات البرنامج و يتوقف اختيار احد الطرق على الوسيلة التي يرغب فيها محلل البرنامج بإيصال  فكرة البرنامج إلى المبرمج. و تأخذ المخططات التدفقية مساحة اكبر و قد يحتاج المبرمج إلى وضع عدة صفحات أمامه من اجل الاطلاع على فكرة البرنامج أما بالنسبة لطريقة شبه التشفير فأنها اقرب والى تسلسل التعليمات البرمجية العادية.
المخططات الهيكلية:
توضح المخططات الهيكلية هيكلية البرنامج أي بناء البرنامج حيث يمثل كل مريع أحد وحدات البرنامج التي تقوم بوظيفة معينة في النظام و هي مناسبة من  اجل البرامج الغرضية و الإجرائية التي يكون فيها البرنامج مقسوما إلى وحدات وظيفية محددة المهام.
لا تتدخل هذه المخططات في آلية تحقيق خوارزمية البرنامج و لكنها تشرح تدفق البيانات بين كتل الكود المختلفة وهي في النظم الصغيرة تكون خطية أي أن البيانات تتدفق من وحدة إلى أخرى أما في النظم المعقدة فتتفرع البنية الهيكلية للبرنامج و تصبح المخططات أكثر تعقيدا.
المخطط أعلاه يبين مخطط هيكلي لبرنامج حساب الرواتب بما في ذلك من مهام مثل حساب الضرائب و التحقق من المبلغ والوحدات الخاصة بتحديث معلومات الموظف ون لاحظ في المخطط أعلاه مثلا انه لا يشرح آلية حساب الضريبة و لكنه يشرح مداخل و مخارج هذه العملية.


ليست هناك تعليقات:

إرسال تعليق