تجاوز إلى المحتوى الرئيسي
تابعنا على تيليجرامانضم

الخوارزميات ومخططات سير العمليات

الخوارزميات ومخططات سير العمليات · الرسم الصناعي

آخر تحديث:

محتويات الموضوع (١٧)

شرح الموضوع

الخوارزميات ومخططات سير العمليات

المطلوب فقط لجميع التخصصات رسم مخططات سير العمليات، أما كتابة الخوارزميات فهي لتسهيل رسم مخططات سير العمليات.

الخوارزمية:

مجموعة من الخطوات المتسلسلة و التي تصف بدقة و وضوح تام جميع العمليات الرياضية والمنطقية اللازمة لحل مسألة.

في كثير من الأحيان كون هذا الوصف في الخوارزمية معقداً نلجأ الى استخدام ما يسمى مخطط سير العمليات ⁦Flowchart⁩، والتي بدورها تصف جميع العمليات اللازمة لحل المسألة وعلاقتها ببعضها, و تسلسلها المنطقي باستخدام مجموعة من الأشكال الرمزية الاصطلاحية, و يبين الجدول (1) هذه الأشكال:

الرمزالحدث الذي يمثلهمثال
(شكل بيضاوي)حدث طرفي ⁦Terminal⁩ لبيان بدء ⁦(Start)⁩ أو انتهاء ⁦(Stop)⁩ خريطة سير العملياتSTART / STOP
(مستطيل)عملية حسابية ⁦(Process)⁩LET X+Y
(متوازي أضلاع)إدخال/ إخراج ⁦INPUT⁩ \ ⁦OUTPUT⁩ لبيان إدخال/ إخراج معلومات من/ إلى الحاسبINPUT X, Y / PRINT Z
(معين)اتخاذ قرار ⁦Decision⁩X=Y (NO / YES)
(أسهم)اتجاه تدفق (سريان) ⁦Flow line⁩(أسهم)
(شكل سداسي)تكرار أو دوران ⁦Loop⁩FOR I= 1 to 10

من أهم فوائد استخدام خرائط سير العمليات:

  1. تمكن المبرمج من الإلمام الكامل بالمسألة المراد حلها و السيطرة على كل أجزائها بحيث تساعده على اكتشاف الأخطاء المنطقية ⁦(Logical Errors)⁩ و التي تعتبر من أصعب الأخطاء.
  2. يمكن تعديل البرامج الموضوعة بمجرد النظر الى مخطط سير العمليات.
  3. يعتبر الاحتفاظ بمخططات سير العمليات لبرامج معينة أمراً مهماً إذ تكون مرجعاً عند إجراء تعديلات عليها أو استخدامها لحل مسائل أخرى مشابهة دون الحاجة إلى الرجوع إلى المبرمج الأول باعتبار أن الحلول الأولى قد صيغت في خطوات واضحة و بسيطة و مفهومة.
  4. توفير وسيلة مناسبة ومساعدة في كتابة البرامج ذات التفرعات الكثيرة.

    و تصنف خرائط سير العمليات حسب الآتي:

  5. خرائط التتابع البسيط ⁦(Simple sequential Flowchart)⁩.
  6. خرائط التفرع ⁦(Branched Flowchart)⁩.
  7. خرائط الدوران البسيط ⁦(Loop Flowchart)⁩.
  8. خرائط الدوران المتداخلة ⁦(Nested)⁩.

    و يمكن للبرنامج الواحد أن يشتمل على أكثر من نوع من هذه الأنواع.

الشكل (1)
الشكل (1)

أولاً: خرائط التتابع البسيط:

لا يوجد تفرعات ⁦Branches⁩ ولا حلقات تكرار ⁦loops (⁩ دوران) في هذا النوع، و يوضح الشكل (1) هذا النوع من المخططات.

كلمة ⁦Event⁩ تعني الحدث أو العملية المطلوبة. مثال (1): ارسم مخطط سير العمليات لإيجاد مساحة و محيط دائرة نصف قطرها معلوم ⁦R⁩. مساحة الدائرة = 3/4πR23/4 \pi R^2 محيط الدائرة = πR2\pi R^2 و قيمة π\pi العددية ثابتة و تساوي 3,14 بينما ⁦R⁩ متغير.

الخوارزمية:

  1. ابدأ.
  2. اقرأ قيمة ⁦R⁩.
  3. ضع قيمة 3,⁦14 = PIE⁩.
  4. احسب المساحة ⁦(A)⁩ من المعادلة A=(PIE)∗R∗RA = (PIE) * R * R.
  5. احسب المحيط ⁦(C)⁩ من المعادلة C=2∗(PIE)∗RC = 2 * (PIE) * R.
  6. اطبع قيم كل من ⁦R, A, C⁩.
  7. توقف.

تمرين (1-2)

ارسم مخطط سير العمليات لحساب قيمة كل من المتغيرات ⁦A, B, C⁩ من المعادلات الآتية: A=X2+2YA = X^2 + 2Y B=2X−3AB = 2X - 3A C=A2+XBC = A^2 + XB إذا علمت أن قيم كل من ⁦X, Y⁩ معلومة، ثم اطبع قيم كل من ⁦X, Y, A, B, C⁩.

الشكل (2)
الشكل (2)

تمرين (2-2)

ارسم مخطط سير العمليات لإيجاد حجم و مساحة سطح كرة نصف قطرها معلوم ⁦R⁩. حجم كرة = 3/4πR23/4 \pi R^2 مساحة سطح الكرة = 4πR24 \pi R^2 و قيمة π\pi العددية ثابتة و تساوي 3,14 بينما ⁦R⁩ متغير.

ثانياً خرائط التفرع

و يحدث التفرع في البرامج بسبب الحاجة لاتخاذ قرار أو مفاضلة بين خيارين أو أكثر، وهناك أسلوبان في تنفيذ القرار كما في الشكل (2).

وفي الأغلب فإن خرائط التفرع يمكن أن تأخذ إحدى الصورتين الآتيتين، كما هو مبين في الشكل (3 أ و 3 ب).

واضح من الشكل (3-أ) أن الحدث ⁦a⁩ سينفذ اذا تحقق الشرط (اذا كان الجواب ⁦YES⁩)، ومن ثم ينفذ الحدث ⁦b⁩، اما اذا لم يتحقق الشرط، (اذا كان الجواب ⁦NO⁩) فينفذ الحدث ⁦b⁩، ولا ينفذ الحدث ⁦a⁩. أما في الشكل (3-ب) فالحدث ⁦a⁩ ينفذ اذا تحقق الشرط (اذا كان الجواب ⁦YES⁩)، و الحدث ⁦b⁩ ينفذ اذا لم يتحقق الشرط (اذا كان الجواب ⁦NO⁩).

مثال (2): ارسم مخطط سير العمليات لإيجاد قيمة الاقتران ⁦F(x)⁩ حيث: F(X)=∣X∣F(X) = |X|

الخوارزمية:

  1. ابدأ.
  2. اقرأ قيمة المتغير ⁦X⁩.
  3. إذا كانت ⁦X⁩ أكبر أو تساوي صفراً اذهب إلى خطوة (4) وإلا فأذهب إلى الخطوة (5).
  4. احسب قيمة الاقتران من F(X)=XF(X) = X ثم اذهب إلى الخطوة (6).
  5. احسب قيمة الاقتران من F(X)=−XF(X) = -X.
  6. اطبع قيمة كل من ⁦X, F⁩⁦(X)⁩.
  7. توقف.

مثال (3): ارسم مخطط سير العمليات لحساب قيمة ⁦W⁩ طبقاً للمعادلات الآتية علماً بأن قيمة المتغير ⁦X⁩ معلومة: W=X2+1,X>0W = X^2 + 1, X > 0 W=X+5,X=0W = X + 5, X = 0 W=2X3−1,X<0W = 2X^3 - 1, X < 0

الخوارزمية:

  1. ابدأ.
  2. اقرأ قيمة المتغير ⁦X⁩.
  3. إذا كانت ⁦X⁩ أكبر من صفر فاذهب إلى الخطوة 4 أما إذا كانت ليست أكبر من صفر فاذهب إلى خطوة 5.
  4. احسب ⁦W⁩ من المعادلة (1) ثم اذهب إلى الخطوة 8.
  5. إذا كانت ⁦X⁩ تساوي صفر فاذهب إلى الخطوة 6 وإلا فاذهب إلى الخطوة 7.
  6. احسب ⁦W⁩ من المعادلة (2) ثم اذهب إلى الخطوة 8.
  7. احسب ⁦W⁩ من المعادلة (3).
  8. اطبع قيمة ⁦W⁩.
  9. توقف.

تمرين (3-2): ارسم مخطط سير العمليات لإيجاد العدد الأكبر بين ثلاث ارقام.

تمرين (4-2): ارسم مخطط سير العمليات لحساب قيمة ⁦F⁩ طبقاً للمعادلات الآتية علماً بأن قيمة المتغير ⁦X⁩ معلومة: F=5X3+1,X>0F = 5X^3 + 1, X > 0 F=−X+7,X=0F = -X + 7, X = 0 F=4X2+10,X<0F = 4X^2 + 10, X < 0

الشكل (4)
الشكل (4)

ثالثاً: خرائط حلقات الدوران (التكرار) البسيط:

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

الحدث ⁦(a)⁩ يتكرر تنفيذه في كل دورة طالما كان جواب الشرط ⁦YES⁩. الحدث ⁦(a)⁩ يتكرر تنفيذه في كل دورة حتى يصبح جواب الشرط ⁦YES⁩. مثال (4): ارسم مخطط سير العمليات لإيجاد مساحة مجموعة من الدوائر أنصاف أقطارها معلومة.

الخوارزمية:

  1. ابدأ.
  2. اقرأ نصف قطر الدائرة ⁦(R)⁩.
  3. أوجد مساحة الدائرة ⁦(A)⁩.
  4. اطبع قيم كل من ⁦R⁩ , ⁦A⁩.
  5. هل هناك مزيد من الدوائر؟

    فإن كان نعم فعد إلى الخطوة (2) وإن كان لا فعد إلى الخطوة (6).

  6. توقف.

تمرين (2-5): ارسم مخطط سير العمليات لإيجاد حجم مجموعة من الأسطوانات أنصاف أقطارها و ارتفاعها معلومة.

رابعاً: العداد

في كثير من الأحيان نحتاج عند كتابة برامج إلى العد ⁦Counting⁩، فقد نريد مثلاً أن نعد عدد الطلاب في الصف, وقد تكون هذه العملية سهلة للانسان لأنها أصبحت ضمن قدراته العقلية التي يكتسبها منذ الطفولة، إلا أن الحاسوب يحتاج إلى تصميم خوارزمية للعد ⁦Counting Algorithm⁩ تتضمن خطوات معينة إذا اتبعها المبرمج استطاع أن يعد. ويمكن تحديد الخطوات التي يتبعها الحاسوب حتى يتمكن من العد في الخطوات الأساسية:

  1. اجعل العداد مساويًا للقيمة البدائية و في الاغلب تكون صفر.

    قيمة العداد = 0.

  2. اجعل القيمة الجديدة للعداد تساوي القيمة القديمة لها زائد قيمة الزيادة ولتكن 1 مثلاً:

    قيمة العداد (الجديدة)= قيمة العداد (القديمة) + 1

  3. تنفيذ مجموعة من الاوامر.
  4. كرر الخطوات ابتداء من الخطوة 2.
  5. عند وصول العداد الى قيمة معينة يتم الخروج من حلقة التكرار.

مثال(5): ارسم مخطط سير العمليات التي يتبعها الحاسب لطباعة الأعداد الطبيعية من 1 إلى 100 ومربعاتها.

الخوارزمية:

  1. ابدأ.
  2. اجعل ⁦I=0⁩.
  3. اجعل ⁦I=I+1⁩.
  4. اجعل J=I2J = I^2.
  5. اطبع ⁦J, I⁩.
  6. إذا كانت ⁦I=100⁩ اذهب إلى الخطوة 7 وإلا اذهب إلى الخطوة 3.
  7. توقف.

⁦No Yes⁩ مخطط سير العمليات ⁦START I = 0 I = I +1 J = I2 PRINT I⁩ , ⁦J I = 100⁩

أعداد من 1 الى 20 و طباعته. تمرين )6-2(: إ ارسم مخطط سير العمليات ليجاد مجموع ال

تمرين )7-2(: إ ارسم مخطط سير العمليات ليجاد عدد ال

الاحادية الاتية.] ،2 ،5 ،10 ،20 ،23 ،8 ،7 ،22 ،9 15 [ أعداد الزوجية من 1 الى 100 و طباعته، ثم قم تمرين )8-2(: إ ارسم مخطط سير العمليات ليجاد مجموع ال بتعديل المخطط للحصول على مخطط جديد يقوم بطباعة مجموع الاعداد الفردية و الزوجية في نفس المخطط. أعداد الزوجية, وعدد الاعداد الزوجية في المصفوفة تمرين )9-2(: إ ارسم مخطط سير العمليات ليجاد عدد ال الاحادية الاتية. ] ،7 ،15 ،14،28 ،27 ،8 ،17 ،32 ،99 65 [. تمرين )10-2(: تتبع مخطط سير العمليات الاتي، ثم قم بكتابة خوارزمية الحل له وحدد وظيفته.

ادخل قيمة العدد الاول ⁦max Number⁩> ⁦max⁩

البداية

⁦Counter = 1⁩ نعم لا لا نعم

أدخل قيمة

⁦Counter = Counter = 1 Max⁩ > ⁦Number⁩ اطبع ⁦Max⁩ النهاية

معاينة موضوع «الخوارزميات ومخططات سير العمليات» من وحدة «الخوارزميات ومخططات سير العمليات» في مادة الرسم الصناعي. أقسام الشرح: ١٩.

المصدر: وزارة التربية والتعليم العالي الفلسطينية، الخوارزميات ومخططات سير العمليات (ص ٥٥–٦٧)

تابع الدراسة