شرح الموضوع
و يمكن للبرنامج الواحد أن يشتمل على أكثر من نوع من هذه الأنواع.
الخوارزميات ومخططات سير العمليات
المطلوب فقط لجميع التخصصات رسم مخططات سير العمليات، أما كتابة الخوارزميات فهي لتسهيل رسم مخططات سير العمليات.
الخوارزمية:
- مجموعة من الخطوات المتسلسلة و التي تصف بدقة و وضوح تام جميع العمليات الرياضية والمنطقية اللازمة لحل مسألة.
- في كثير من الأحيان كون هذا الوصف في الخوارزمية معقدا نلجأ إلى استخدام ما يسمى مخطط سير العمليات Flowchart، والتي بدورها تصف جميع العمليات اللازمة لحل المسألة وعلاقتها ببعضها, و تسلسلها المنطقي باستخدام مجموعة من الأشكال الرمزية الاصطلاحية, و يبين الجدول (١) هذه الأشكال:
| الرمز | الحدث الذي يمثله | مثال |
|---|---|---|
| حدث طرفي Terminal لبدء (Start) أو انتهاء (Stop) خريطة سير العمليات | START / STOP | |
| عملية حسابية (Process) | LET X+Y | |
| إدخال / إخراج INPUT / OUTPUT لبيان إدخال / إخراج معلومات من / إلى الحاسب | INPUT X, Y / PRINT Z | |
| اتخاذ قرار Decision | NO X=Y YES | |
| اتجاه تدفق (سريان) Flow line | ||
| تكرار أو دوران Loop | FOR I= 1 to 10 |
الجدول (١)
من أهم فوائد استخدام خرائط سير العمليات:
- تمكن المبرمج من الإلمام الكامل بالمسألة المراد حلها و السيطرة على كل أجزائها بحيث تساعده على اكتشاف الأخطاء المنطقية (Logical Errors) و التي تعتبر من أصعب الأخطاء.
- يمكن تعديل البرامج الموضوعة بمجرد النظر الى مخطط سير العمليات.
- يعتبر الاحتفاظ بمخططات سير العمليات لبرامج معينة أمرا مهما إذ تكون مرجعا عند إجراء تعديلات عليها أو استخدامها لحل مسائل أخرى مشابهة دون الحاجة إلى الرجوع إلى المبرمج الأول باعتبار أن الحلول الأولى قد صيغت في خطوات واضحة و بسيطة و مفهومة.
- توفير وسيلة مناسبة ومساعدة في كتابة البرامج ذات التفرعات الكثيرة.
٥٠
و تصنف خرائط سير العمليات حسب الآتي:
- خرائط التتابع البسيط (Simple sequential Flowchart).
- خرائط التفرع (Branched Flowchart).
- خرائط الدوران البسيط (Loop Flowchart).
- خرائط الدوران المتداخلة (Nested).
و يمكن للبرنامج الواحد أن يشتمل على أكثر من نوع من هذه الأنواع.
أولا: خرائط التتابع البسيط:
لا يوجد تفرعات Branches ولا حلقات تكرار loops (دوران) في هذا النوع، و يوضح الشكل (١) هذا النوع من المخططات.
الشكل (١) كلمة Event تعني الحدث أو العملية المطلوبة. ٥١
مثال (١): ارسم مخطط سير العمليات لإيجاد مساحة و محيط دائرة نصف قطرها معلوم R. مساحة الدائرة = محيط الدائرة = و قيمة العددية ثابتة و تساوي 3,14 بينما R متغير.
الخوارزمية:
- ابدأ.
- اقرأ قيمة R.
- ضع قيمة 3,14 = PIE.
- احسب المساحة (A) من المعادلة .
- احسب المحيط (C) من المعادلة .
- اطبع قيم كل من R, A, C.
- توقف.
تمرين (1-2): ارسم مخطط سير العمليات لحساب قيمة كل من المتغيرات A, B, C من المعادلات الآتية: إذا علمت أن قيم كل من X, Y معلومة، ثم اطبع قيم كل من X, Y, A, B, C.
تمرين (2-2): ارسم مخطط سير العمليات لإيجاد حجم و مساحة سطح كرة نصف قطرها معلوم R. حجم كرة = مساحة سطح الكرة = و قيمة العددية ثابتة و تساوي 3,14 بينما R متغير.
ثانياً خرائط التفرع:
و يحدث التفرع في البرامج بسبب الحاجة لاتخاذ قرار أو مفاضلة بين خيارين أو أكثر، وهناك أسلوبان في تنفيذ القرار كما في الشكل (٢).
الشكل (٢) وفي الأغلب فإن خرائط التفرع يمكن أن تأخذ إحدى الصورتين الآتيتين، كما هو مبين في الشكل (٣أ و٣ب). ٥٣
واضح من الشكل (٣-أ) أن الحدث a سينفذ اذا تحقق الشرط (اذا كان الجواب YES)، ومن ثم ينفذ الحدث b، اما اذا لم يتحقق الشرط، (اذا كان الجواب NO) فينفذ الحدث b، ولا ينفذ الحدث a. أما في الشكل (٣-ب) فالحدث a ينفذ اذا تحقق الشرط اذا كان الجواب (YES)، و الحدث b ينفذ اذا لم يتحقق الشرط (اذا كان الجواب NO).
مثال (٢): ارسم مخطط سير العمليات لإيجاد قيمة الاقتران حيث:
الخوارزمية:
- ابدأ.
- اقرأ قيمة المتغير X.
- إذا كانت X أكبر أو تساوي صفرا اذهب إلى الخطوة (٤) وإلا فاذهب إلى الخطوة (٥).
- احسب قيمة الاقتران من ثم اذهب إلى الخطوة (٦).
- احسب قيمة الاقتران من .
- اطبع قيمة كل من X, F(X).
- توقف.
مثال (٣): ارسم مخطط سير العمليات لحساب قيمة W طبقا للمعادلات الآتية علما بأن قيمة المتغير X معلومة:
الخوارزمية:
- ابدأ.
- اقرأ قيمة المتغير X.
- إذا كانت X أكبر من صفر فاذهب إلى الخطوة 4 أما إذا كانت ليست أكبر من فاذهب إلى خطوة 5.
- احسب W من المعادلة (1) ثم اذهب إلى الخطوة 8.
- إذا كانت X تساوي صفر فاذهب إلى الخطوة 6 وإلا فاذهب إلى الخطوة 7.
- احسب W من المعادلة (2) ثم اذهب إلى الخطوة 8.
- احسب W من المعادلة (3).
- اطبع قيمة W.
- توقف.