الحاسب الآلي · الصف الثالث الإعدادي · الترم الأول
مراحل حل المشكلة Problem Solving Stages
المراحل المتخصصة التي يمر بها حل أي مشكلة برمجية: تحليل المشكلة، تصميم الحل، تنفيذه (البرمجة)، ثم اختباره وتوثيقه.
آخر تحديث: · كيف نراجع المحتوى
معلومات الدرس
- المادة: الحاسب الآلي — حل المشكلات وبرمجة VB.NET
- الترم: الأول
- الفصل: الفصل الأول: حل المشكلات — الموضوع: الثاني
المحتوى الرئيسي
تمهيد
بعد أن يتم تحديد المشكلة بوضوح (كما درسنا في الموضوع السابق)، يمر حل المشكلة برمجيًّا بأربع مراحل رئيسية متتابعة ومترابطة، بحيث تُبنى كل مرحلة على مخرجات المرحلة التي تسبقها:
التحليل ← التصميم ← التنفيذ (البرمجة) ← الاختبار
أولًا: مرحلة التحليل (Analysis)
هي المرحلة التي يتم فيها فهم المشكلة فهمًا كاملًا وتفكيكها إلى عناصرها الأساسية، وتشمل:
- تحديد المدخلات (Inputs): ما البيانات المتوفرة لدينا؟
- تحديد المخرجات (Outputs): ما النتيجة المطلوب الحصول عليها؟
- تحديد المعالجة (Processing): ما العلاقة أو العملية التي تربط المدخلات بالمخرجات؟
مثال: مشكلة “حساب مساحة المستطيل”:
- المدخلات: الطول والعرض.
- المخرجات: قيمة المساحة.
- المعالجة: المساحة = الطول × العرض.
ثانيًا: مرحلة التصميم (Design)
بعد فهم المشكلة، تأتي مرحلة وضع خطة الحل خطوة بخطوة بشكل منطقي ومرتب، دون الالتزام بلغة برمجة معينة بعد. ومن أهم أدوات هذه المرحلة:
- خرائط التدفق (Flowchart): تمثيل بصري للخطوات باستخدام رموز قياسية (سندرسها بالتفصيل في الموضوعات القادمة).
- الخوارزمية (Algorithm): وصف نصي مرقّم للخطوات المتتابعة التي تحل المشكلة.
مثال (خوارزمية نصية) لحساب مساحة المستطيل:
- ابدأ.
- أدخل الطول (L) والعرض (W).
- احسب المساحة: Area = L × W.
- اطبع قيمة Area.
- انتهِ.
ثالثًا: مرحلة التنفيذ (Implementation)
في هذه المرحلة، يتم ترجمة خطة الحل (الخوارزمية أو خريطة التدفق) إلى كود برمجي فعلي بلغة برمجة معينة يفهمها الحاسوب، مثل Visual Basic.NET. فالخطوات التي وُضِعت بالعربية أو برموز الفلوتشارت تتحول الآن إلى تعليمات مكتوبة بقواعد اللغة البرمجية.
مثال بلغة VB.NET لنفس مشكلة حساب مساحة المستطيل:
Dim L As Double
Dim W As Double
Dim Area As Double
L = 5
W = 3
Area = L * W
Console.WriteLine("المساحة = " & Area)
رابعًا: مرحلة الاختبار (Testing)
بعد كتابة البرنامج، لا يُعتمَد على أنه صحيح لمجرد أنه يعمل دون ظهور رسالة خطأ؛ بل يجب اختباره ببيانات مختلفة (بما في ذلك الحالات الحدّية والحالات غير المتوقعة) للتأكد من أنه يعطي النتائج الصحيحة في كل الحالات. فإذا ظهر خطأ في النتائج، يعود المبرمج إلى المرحلة المناسبة (قد تكون التحليل، أو التصميم، أو التنفيذ) لتصحيحه، ثم يُعاد الاختبار من جديد.
العلاقة الدائرية بين المراحل
المراحل الأربع ليست بالضرورة خطًّا مستقيمًا يُنفَّذ مرة واحدة؛ فإذا اكتُشف خطأ في مرحلة الاختبار، قد يضطر المبرمج للرجوع إلى مرحلة سابقة (التصميم أو حتى التحليل) لتعديلها، ثم إعادة تنفيذ المراحل التالية لها من جديد، حتى يصل الحل إلى الصورة الصحيحة والمطلوبة تمامًا.
النقاط الرئيسية
- مراحل حل المشكلة برمجيًّا الأربع بترتيبها: التحليل، التصميم، التنفيذ، الاختبار.
- مرحلة التحليل تحدد المدخلات والمخرجات والمعالجة.
- مرحلة التصميم تنتج خطة حل (خوارزمية أو خريطة تدفق) بمعزل عن أي لغة برمجة.
- مرحلة التنفيذ تترجم خطة الحل إلى كود فعلي بلغة برمجة مثل VB.NET.
- مرحلة الاختبار تتحقق من صحة النتائج، وقد تعيد المبرمج إلى مرحلة سابقة لتصحيح خطأ.
أسئلة للمراجعة
- رتّب مراحل حل المشكلة الأربع الترتيب الصحيح.
- ما الفرق بين مرحلة التحليل ومرحلة التصميم؟
- ما الأداتان الرئيسيتان اللتان تُستخدمان في مرحلة التصميم؟
- لماذا لا تُعد مرحلة الاختبار اختيارية بعد كتابة البرنامج؟
- لمشكلة “حساب محيط المربع”، حدد: المدخلات، المخرجات، والمعالجة (مرحلة التحليل)، ثم اكتب خطوات الحل نصيًّا (مرحلة التصميم).
الأهداف العامة
- أن يعدّد الطالب مراحل حل المشكلة برمجيًّا بترتيبها الصحيح.
- أن يوضّح الطالب الهدف من كل مرحلة والمخرج الذي تنتجه.
- أن يميّز الطالب بين مرحلة التحليل ومرحلة التصميم.
- أن يدرك الطالب أهمية مرحلة الاختبار قبل اعتماد الحل النهائي.