الفصل الثاني عشر

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

 

12-1مقدمة
12-2 خطوات حل مسألة باستخدام الحاسب
12-3 مفهوم خرائط سير العمليات
12-4 خرائط التتابع البسيط
12-5 خرائط التفرع
12-6 خرائط الدوران (التكرار) البسيط
12-7 العداد
12-8 المجاميع الإجمالية
12-9 خرائط الدورانات المتدخلة
12-10 صيغة الدوران باستعمال الشكل الاصطلاحي



مقدمة في الحاسوب

للحصول على نسخة الكتاب إضغط من هنا

12-1مقدمة:

  رغم أن الحاسب الالكتروني يتميز بقدرته على إنجاز العمليات الحسابية حسب الأوامر و التعليمات المعطاة له بسرعة فائقة و بدقة متناهية و كذلك بإمكانياته الكبيرة في حفظ المعلومات الواسعة و المختلفة التي يعجز الإنسان عن حفظها و استعادتها باستعمال ذاكرته العادية. فهو يعجز عن أن يقوم بشكل ذاتي بحل أي مسألة مهما كانت بسيطة، أي أن عمله ينحصر في إنجاز الحلول للمسائل التي تبرمج له بشكل صحيح يتوافق مع الأسس العلمية الصحيحة التي تعتد عليها هذه الحلول.
لذا سوف نستعرض في هذا الفصل الخطوات الضرورية اللازمة لحل المسائل باستخدام الحاسب الالكتروني وكذلك توضيحاً مفصلاً لمفهوم الخوارزميات و خرائط سير العمليات التي تشكل العنصر الأساسي لكيفية البرمجة.

12-2 خطوات حل مسألة باستخدام الحاسب:

 

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

• طبيعة المخرجات(النتائج) و تنظيم كتابتها.
• المدخلات (البيانات أو المعلومات) و تحديد نوعها و تنظيم إدخالها إلى الحاسب الالكتروني.
• طرق الحل المناسبة و تقييمها بما يتلاءم مع كيفية تنفيذها بالحاسب الالكتروني و في ضوء ذلك يتم اختيار الحل الأفضل.

• برمجة الحل خطياً:
بعد اختيار طريقة الحل المثالية و تحديد كل ما تشمله من علاقات رياضية، يتم التعبير عنها على شكل خطوات متسلسلة ومترابطة منطقياً، دقيقة الوصف تؤدي إلى الوصول إلى حل المسألة.و هذه الخطوات المتسلسلة تعرف بخوارزمية المسألة
Algorithm of the Problem و يمكن تمثيل هذه الخوارزمية بعد إيضاح جميع التعليمات والأوامر المتسلسلة التي يراد تنفيذها في كل خطوة بمخطط وصفي تسلسلي يدعى بمخطط سير العمليات Flowchart وذلك باستخدام مجموعة من الأشكال الاصطلاحية الرمزية. إن كلمة Algorithm مشتقة نسبة إلى العالم العربي المشهور الخوارزمي الذي قام بوضع أسس حل المسائل بشكل تتابعي.

•برمجة الحل باستخدام إحدى لغات البرمجة:
 إن مخطط سير العمليات هو عبارة عن تخطيط تصوري مساعد سهل الملاحظة بالنسبة للمبرمج و لكنه غير مفهوم عند الحاسب الالكتروني، لذلك فإن طريقة الحل الممثلة بمخطط سير العمليات يجب أن تكتب بإحدى لغات الحاسب التي يفهمها و التي تتلاءم مع حل المسألة.
و يلي ذلك كتابة البرنامج على الوسط الخارجي المناسب و إدخال البرنامج إلى الحاسب و البرنامج الناتج من هذه الخطوة و المكتوبة بإحدى اللغات الرمزية أو الراقية يسمى بالبرنامج المصدري
source program.

• ترجمة البرنامج المصدري:
بعد الانتهاء من كتابة البرنامج المصدري يتعين إدخاله إلى الحاسب للتأكد من صحة كتابته من جهة، ثم لترجمته إلى لغة الآلة بواسطة برنامج الترجمة الخاص في حالة عدم وجود أخطاء في البرنامج المصدري. و تمر عملية الترجمة في المراحل الآتية:

1. مرحلة التحليل المعجمي
Lexical analysis:
في هذه المرحلة يتم مطابقة مفردات برنامج المصدر والعلاقات و الأسماء مع تلك المسموح بها في اللغة و اكتشاف أي أخطاء فيها.
2. مرحلة التحليل اللغوي والنحوي
Syntax analysis:
في هذه المرحلة تجري عملية مطابقة تعليمات البرنامج المصدري مع القواعد اللغوية المستخدمة، و اكتشاف أي أخطاء فيها، بالإضافة إلى عملية تحويل البرنامج المصدري إلى تعليمات و أوامر رمزية بلغة التجميع.
3.مرحلة ترجمة البرنامج إلى لغة الآلة:
في هذه المرحلة نحصل على البرنامج الهدفي
object program و الذي بموجبه يمكن البدء في عملية التنفيذ.

• تجربة البرنامج و تنفيذه:

بعد الحصول على البرنامج الهدفي، تتم تجربته للتأكد من صحته منطقياً وذلك باستخدام عينة من المعطيات الاختبارية
 Test Data فإذا ثبت صحة طريقة الحل بمطابقة النتائج الخارجة من الحاسب مع النتائج التي تم الحصول عليها يدوياً على سبيل المثال، يمكن تنفيذ البرنامج على المعطيات الحقيقية. 

12-3 مفهوم خرائط سير العمليات:  

 

 الخوارزمية هي عبارة عن مجموعة من الخطوات المتسلسلة التي تصف بصورة مضبوطة وبدون أي غموض جميع الخطوات الرياضية والمنطقية اللازمة لحل مسألة ما. ولكن هذا الوصف في كثير من الأحيان يكون معقداَ وصعب الملاحظة والتتبع لذلك فإن خريطة سير العمليات التي تمثل وصفاً تصويرياً لخطوات الخوارزمية تكون أكثر وضوحاً. وخريطة سير العمليات تقوم مقام الخوارزمية ويمكن بواسطتها ملاحظة تتبع التسلسل المنطقي لحل المسألة بكل سهولة، وغالباً ما تكون استخراج الخوارزمية من خريطة سير العمليات أسهل بكثير من كتابة الخوارزمية مباشرة.
و عند رسم خريطة سير العمليات لمسألة معينة فإننا نستخدم مجموعة من الأشكال الرمزية الاصطلاحية المبينة في الجدول التالي:


 

من أهم فوائد استخدام خرائط سير العمليات قبل كتابة البرنامج لمسألة ما،  ما يأتي:
1. تمكن المبرمج من الإلمام الكامل بالمسألة المراد حلها و السيطرة على كل أجزائها بحيث تساعده على اكتشاف الأخطاء المنطقية
(Logic Error) و التي تعتبر من أهم الأخطاء التي تجهد المبرمج.
2. تساعد بيسر و سهولة على تعديل البرامج الموضوعة بمجرد النظر.

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

هذا و يمكن تصنيف خرائط سير العمليات بما يلي:
•خرائط التتابع البسيط (Simple sequential Flowchart).
•خرائط التفرع
(Branched Flowchart).
•خرائط الدوران البسيط
(Loop Flowchart).
•خرائط الدورانات المتداخلة
(Nested).

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

12-4 خرائط التتابع البسيط:

 

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

الشكل 12-1خرائط التتابع البسيط

و كلمة  Event الواردة في شكل 12-1 تعني الحدث أو العملية المطلوب تنفيذها.
مثال : أرسم خريطة سير العمليات لإيجاد مساحة و محيط دائرة نصف قطرها معلوم R.

وقيمتها العددية ثابتة و تساوي 3.14 بينما R متغير.
وتكون خطوات الحل المبينة في الشكل 12-2 كما يلي:
 

1.ابدأ.

2.اقرأ قيمة R.

3. ضع قيمة 3.14=PIE

4. احسب المساحة(A) من المعادلة  A =(PIE)*R*R.

5. احسب المحيط (C) من المعادلة C =2*(PIE)*.

6. اطبع قيم كل من C, A, R.

7. توقف.

 

 

الشكل 12-2

مثال:ارسم خريطة سير العمليات لحساب قيمة كل من المتغيرات C, B, A في المعادلة الآتية:

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

1.ابدأ.

2.اقرأ قيمة كل من Y, X.

3.احسب قيمة A من المعادلة (1).

4.احسب قيمة B من المعادلة (2).

5.احسب قيمة من المعادلة (3).

6.اطبع قيمة كل من C, B, A, Y, X.

7.توقف.

 

الشكل 12-3

12-5 خرائط التفرع:

12-6 خرائط الدوران (التكرار) البسيط:

12-7 العداد Counter:

12-8 المجاميع الإجمالية:

12-9 خرائط الدورانات المتدخلة:

12-10 صيغة الدوران باستعمال الشكل الاصطلاحي:

للحصول على نسخة الكتاب إضغط من هنا



حول الموقع  الصفحة الرئيسية  المراجع