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