صياغة حل المسائل ( أسامه غانم _ 1\3 )

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

صياغة حل المسائل ( أسامه غانم _ 13 )

مُساهمة من طرف osama mostafa ghanem في الأربعاء أبريل 22, 2015 4:28 pm

صياغة حل المسائل

مقدمة:

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

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

خطوات حل المسائل:
لحل المسائل بواسطة الحاسب لتكتمل في النهاية على شكل برنامج يستطيع الحاسب فهمه والتعامل معه، لابد من إتباع الخطوات التالية:
1. تحليل عناصر المسألة.
2. كتابة الخطوات الخوارزمية.
3. رسم مخططات الانسياب.
4. كتابة البرنامج بواسطة إحدى لغات البرمجة.
5. ترجمة البرنامج إلى لغة الآلة ( وهذا العمل يقوم به الحاسب (
6. اختبار البرنامج وإصلاح الأخطاء.

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

خطوات صياغة حل المسائل
أولاً/ تحليل عناصر المسألة:
تعتبر هذه الخطوة الأولى والأساسية لحل المسألة، فأي خطأ في التحليل يؤدي في النهاية إلى خطأ في البرنامج، والمقصود بتحليل العناصر في هذه الخطوة : أن نعرف ماذا نريد بالضبط من البرنامج؟ وعندئذ فإننا نقوم بتحديد العناصر الأساسية لحل المسألة، وهي:
1. تحديد مخرجات البرنامج: يقصد بها تحديد النتائج والمعلومات المراد التوصل إليها عند حل المسألة.
2. تحديد مدخلات البرنامج: يقصد بها تحديد المدخلات أو البيانات التي لابد من الحصول عليها لمعرفة النتائج والمخرجات.
3. تحديد عمليات المعالجة: يقصد بها تحديد العمليات الحسابية والخطوات المنطقية التي نقوم بإجرائها على مدخلات البرنامج حتى تؤدي في النهاية إلى المخرجات والنتائج السليمة.

وبتحديد هذه العناصر نستطيع كتابة الخطوات الخوارزمية للبرنامج، ورسم مخطط الانسياب بشكل سليم، ولفهم طريقة تحليل عناصر مسألة ما.
إليك المثال التالي:
المثال:
نفرض أننا نريد حساب مساحة المستطيل بمعلومية الطول والعرض، قم بتحليل عناصر المسألة إذا علمت أن مساحة المستطيل = الطول * العرض.
الحل
لتحليل عناصر المسألة نقوم بما يلي:
1. تحديد المخرجات: مساحة المستطيل، ولنرمز لها ( م ).
2. تحديد المدخلات: الطول، ولنرمز له ( ط )، والعرض، ولنرمز له (ع (
3. تحديد عمليات المعالجة: قانون مساحة المستطيل م = ط * ع.

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

مثال:-
اكتب الخطوات الخوارزمية لحساب مساحة المستطيل بمعلومية الطول والعرض، إذا علمت أن مساحة المستطيل = الطول * العرض.
الحل:-
لقد قمنا بتحليل عناصر المسألة في المثال السابق، ومنها يمكن كتابة الخطوات الخوارزمية التالية:
1. أدخل الطول ( ط ). والعرض ( ع (
2. احسب مساحة المستطيل ( م ) = ط * ع.
3. اطبع المساحة ( م (
4. النهاية

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

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

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

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



مثال لرسم بعض النماذج في مخططات الانسياب



ارسم مخطط الانسياب للخطوات الخوارزمية للمثال السابق ( مساحة المستطيل (



أمثلة على طرق صياغة حل المسائل

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

مثال ( 1 ):
قم بصياغة حل لإيجاد متوسط ثلاثة أعداد يتم إدخالها:
أولاً تحليل عناصر المسألة، وذلك بتحديد التالي:
• مخرجات البرنامج: متوسط الأعداد، ولنرمز له ( م ).
• مدخلات البرنامج: ثلاثة أعداد مدخلة، ولنرمز لها ( أ، ب، ج ).
• عمليات المعالجة: قانون متوسط الأعداد هو:

المتوسط = ( العدد الأول + العدد الثاني + العدد الثالث ) % عدد الأعداد أي م = ( أ + ب + ج ) % 2

ثانياً: كتابة الخطوات الخوارزمية للمسألة:
• أدخل الأعداد أ وَ ب وَ ج
• اجعل م = ( أ + ب + ج ) % 2
• أطبع م
• النهاية

ثالثاً: مخطط الانسياب للمسألة



مثال ( 2 ):
أولاً: تحليل عناصر المسألة، وذلك بتحديد التالي:
• مخرجات البرنامج: طباعة إحدى العبارتين.
• مدخلات البرنامج: عدد الأجزاء التي حفظها الطالب، ولنرمز له ( ج ).
فإذا كان عدد الأجزاء يساوي 30، فتطبع العبارة " أهنئك على ختم القرآن الكريم "
وإذا كان عدد الأجزاء أقل من 30، فتطبع العبارة " ارفع همتك وواصل حفظك "
ثانياً: كتابة الخطوات الخوارزمية للمسألة:
• أدخل عدد الأجزاء ( ج )
• إذا كان عدد الأجزاء ( ج ) = 30
اطبع العبارة
" أهنئك على ختم القرآن الكريم "
وانتقل للخطوة رقم ( 4 )
• إذا كان عدد الأجزاء ( ج ) < 30
الطبع العبارة
" ارفع همتك وواصل حفظك "
وانتقل للخطوة رقم ( 4 )
• النهاية
ثالثاً: رسم مخطط الانسياب للمسألة:



مثال ( 4 ):
قم بصياغة حل لإيجاد مجموع درجات طالب في 15مادة دراسية.

أولاً تحليل عناصر المسألة، وذلك بتحديد التالي:
• مخرجات البرنامج: مجموع درجات الطالب للمواد الدراسية، ولنرمز له ( م ).
• مدخلات البرنامج: درجة الطالب في كل مادة، ولنرمز لها ( د )
• عمليات المعالجة: حاسب مجموع درجات الطالب لـ 15 مادة.
لاحظ أننا في هذا المثال نحتاج إلى عدّاد يقوم بعدّ الدرجات حتى يصل عددها إلى خمس عشرة درجة حسب عدد المواد، ولذا فإن هذه المسألة تحتوي على عمليات معالجة وشروط لا يمكن لنا أن نكتب البرنامج بدونها، وهي:
• وجود العدّاد ولنرمز له ( ع )، حيث نقوم بوضع شرط على هذا العدّاد، وهو:
إذا كان العدّاد = 15 استمر في البرنامج، وإلا قم بزيادة العدّاد بواحد، وهو.
• إيجاد مجموع درجات الطلاب، وتخزينه في مكان رمز ( م )، حيث نقوم بوضع صفر كقيمة أولى للمكان ( م )، بعد ذلك نقوم بإضافة درجات الطالب في المكان ( د ) مع الدرجة في المكان ( م ) وتخزينها في المكان ( م )، وذلك عن طريق المعادلة التالية: م ( الجديدة ) = م ( القديمة ) + د.

ثانياً كتابة الخطوات الخوارزمية للمسألة:
• اجعل المجموع ( م ) = صفر
• اجعل العدّاد ( ع ) = صفر
• أدخل درجة الطالب وخزنها في ( د )
• اجعل العدّاد ( ع ) = ع + 1
• إذا كان العدّاد ( ع ) = 15 استمر، وإلا اذهب إلى الخطوة رقم ( 3 )
• أطبع قيمة م
• النهاية


أعــلم الناس أكثرهم دراية بجهله . وأجهل الناس أكثرهم تباهيا بعلــمه

[/b]

osama mostafa ghanem

عدد المساهمات : 3
تاريخ التسجيل : 15/04/2015

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى