مفهوم حل المشاكل
حل المشاكل باستخدام الحاسوب
منهج منظم يحول المشكلة إلى خطوات واضحة يمكن التحقق منها ثم تنفيذها بالحاسب.
مفهوم حل المشكلة
حل المشكلة هو الانتقال من موقف أو مسألة تحتاج إلى نتيجة، إلى حل منظم ومحدد من خلال فهم المطلوب، وبناء نموذج للحل، وتصميم خوارزمية، ثم التحقق من صحتها.
وضوح المطلوب
يمنع البدء في حل مسألة لم نفهمها بصورة صحيحة.
تقليل الأخطاء
يساعد على اكتشاف الخطأ قبل تحويل الحل إلى برنامج.
سهولة التنفيذ
يجعل الحل مرتبًا وقابلًا للتحويل لاحقًا إلى تعليمات برمجية.
تحديد المشكلة
تحديد المشكلة
الخطوة الأولى: افهم المطلوب قبل التفكير في طريقة الحل.
ما المقصود بتحديد المشكلة؟
صياغة المسألة بصورة واضحة وتحديد الهدف الذي نريد الوصول إليه، والبيانات المتاحة، والنتيجة المطلوبة، والقيود إن وجدت.
ما المطلوب؟
النتيجة النهائية التي يجب الوصول إليها.
ما المعطيات؟
القيم والمعلومات المتاحة التي يعتمد عليها الحل.
ما القيود؟
أي شروط تحدد نطاق الحل أو القيم المقبولة.
مثال
المسألة: حساب متوسط ثلاث درجات.
المعطيات: ثلاث درجات. المطلوب: المتوسط الحسابي. العلاقة: مجموع الدرجات ÷ 3.
تطوير نموذج للحل
تطوير نموذج لحل المشكلة
بعد فهم المشكلة نبني تصورًا مبسطًا يوضح كيف نصل من البيانات إلى النتيجة.
نموذج الحل
تصور منظم يوضح عناصر الحل والعلاقة بينها قبل كتابة الخوارزمية التفصيلية.
مثال: السعر بعد خصم
السعر ونسبة الخصم ← حساب قيمة الخصم ثم طرحها من السعر ← السعر النهائي.
فائدة النموذج
يكشف نقص البيانات أو وجود عملية غير ضرورية قبل كتابة الخوارزمية.
ليس برنامجًا
النموذج وصف للحل، ولا يشترط أن يلتزم بقواعد لغة برمجة.
خطوات حل المشكلة
خطوات حل المشكلة
نموذج متكامل يوضح المراحل التي يمر بها الحل من فهم المسألة إلى التحقق.
تحديد وفهم المشكلة
تحديد المطلوب والمعطيات والقيود.
تطوير نموذج للحل
تحديد العلاقات والعمليات اللازمة للوصول إلى النتيجة.
تصميم الخوارزمية
ترتيب خطوات الحل بصورة واضحة ومحددة ومتسلسلة.
التحقق من صحة الخوارزمية
تجربة الخطوات بقيم فعلية والتأكد من الوصول إلى نتيجة صحيحة.
دور الإنسان والحاسب
دور الإنسان والحاسب في حل المشكلة
الإنسان يصمم الحل؛ والحاسب يترجم التعليمات وينفذها ويصدر النتائج.
👤 دور الإنسان
- تحديد وفهم المشكلة.
- تحليل عناصر المسألة.
- كتابة الخطوات الخوارزمية.
- كتابة البرنامج بلغة برمجة.
- تصحيح الأخطاء عند ظهورها.
💻 دور الحاسب
- ترجمة البرنامج إلى لغة الآلة.
- الكشف عن أخطاء الترجمة.
- تنفيذ البرنامج إذا كان صحيحًا.
- طلب المدخلات اللازمة.
- إصدار النتائج.
قائمة بالأخطاء ← تصحيح الأخطاء ← إعادة الترجمة
تنفيذ البرنامج ← طلب المدخلات ← إصدار النتائج
قواعد كتابة الخوارزمية
قواعد وشروط كتابة خطوات الخوارزمية
الخوارزمية الجيدة ليست مجرد خطوات؛ بل يجب أن تحقق مجموعة من الشروط.
1. بداية واضحة
تحدد نقطة بدء تنفيذ الحل.
2. الوضوح والدقة
كل خطوة محددة وغير قابلة لتفسيرات مختلفة.
3. الترتيب والتسلسل
تنفذ الخطوات بالترتيب المنطقي الصحيح.
4. اكتمال عناصر الحل
تتضمن البيانات المطلوبة والعمليات والنتيجة.
5. القابلية للتنفيذ
كل خطوة يمكن تنفيذها فعليًا.
6. نهاية ونتيجة
يجب أن تنتهي الخوارزمية بعد عدد منتهٍ من الخطوات وتصل إلى حل.
الشكل العام المبسط
البداية
أدخل البيانات المطلوبة
نفّذ العمليات اللازمة
اعرض النتيجة
النهاية
الكود الزائف Pseudocode
تمثيل الخوارزمية بالكود الزائف Pseudocode
طريقة منظمة لكتابة الخوارزمية بصورة قريبة من البرمجة دون التقيد بلغة برمجة حقيقية.
ما الكود الزائف؟
Pseudocode وصف منظم للخوارزمية باستخدام كلمات وتعليمات مفهومة تشبه أسلوب البرمجة. وهو ليس لغة برمجة ولا يحتاج إلى مترجم أو قواعد صياغة موحدة عالميًا.
BEGIN / END
تحديد بداية ونهاية الخوارزمية.
INPUT / OUTPUT
قراءة البيانات وعرض النتائج.
← الإسناد
تخزين نتيجة أو قيمة في متغير، مثل: total ← a + b.
خطوات بالعربية
البداية
أدخل الطول والعرض
احسب المساحة بضرب الطول في العرض
اعرض المساحة
النهاية
Pseudocode
BEGIN INPUT length, width area ← length × width OUTPUT area END
التحقق من صحة الخوارزمية
التحقق من صحة الخوارزمية
لا نفترض أن الخوارزمية صحيحة؛ بل نجربها ونتتبع خطواتها قبل تحويلها إلى برنامج.
التتبع اليدوي
تنفيذ خطوات الخوارزمية يدويًا باستخدام قيم اختبار ومتابعة تغير القيم خطوة بخطوة للتأكد من أن النتيجة توافق المتوقع.
مثال: متوسط 70، 80، 90
| الخطوة | القيمة/النتيجة |
|---|---|
| إدخال الدرجات | 70، 80، 90 |
| حساب المجموع | 240 |
| القسمة على 3 | 80 |
| النتيجة المتوقعة | 80 ✓ |
- هل جميع الخطوات قابلة للتنفيذ؟
- هل ترتيب الخطوات صحيح؟
- هل استخدمت البيانات المطلوبة؟
- هل النتيجة صحيحة ومنطقية؟
- هل تعمل الخوارزمية مع أكثر من مجموعة قيم؟
أمثلة محلولة
أمثلة محلولة
نطبق طريقة واحدة ثابتة: نفهم المسألة، نكتب خطوات عربية، نمثلها بالكود الزائف، ثم نتحقق.
مثال 1: مساحة مستطيل
خطوات الحل بالعربية
البداية
أدخل طول المستطيل وعرضه.
احسب المساحة بضرب الطول في العرض.
اعرض مساحة المستطيل.
النهاية.
الكود الزائف
BEGIN INPUT length, width area ← length × width OUTPUT area END
التحقق: طول 5 وعرض 4 ← المساحة 20.
مثال 2: متوسط ثلاث درجات
خطوات الحل بالعربية
البداية
أدخل الدرجات الثلاث.
اجمع الدرجات الثلاث.
اقسم المجموع على 3 للحصول على المتوسط.
اعرض المتوسط.
النهاية.
الكود الزائف
BEGIN INPUT g1, g2, g3 total ← g1 + g2 + g3 average ← total / 3 OUTPUT average END
التحقق: 60، 75، 90 ← المجموع 225 ← المتوسط 75.
مثال 3: السعر بعد خصم
خطوات الحل بالعربية
البداية
أدخل السعر ونسبة الخصم.
احسب قيمة الخصم.
اطرح قيمة الخصم من السعر الأصلي.
اعرض السعر النهائي.
النهاية.
الكود الزائف
BEGIN INPUT price, rate discount ← price × rate / 100 finalPrice ← price - discount OUTPUT finalPrice END
التحقق: 200 ريال وخصم 15% ← الخصم 30 ← السعر النهائي 170 ريال.
مثال 4: تحويل الساعات إلى دقائق
البداية
أدخل عدد الساعات.
اضرب عدد الساعات في 60.
اعرض عدد الدقائق.
النهاية.
BEGIN INPUT hours minutes ← hours × 60 OUTPUT minutes END
التحقق: 3 ساعات ← 180 دقيقة.
تمارين
تمارين
أسئلة نظرية وتطبيقية تصلح للمراجعة والاختبارات.
س1 — نظري
عرّف حل المشكلة باستخدام الحاسوب، ثم اذكر المراحل الأساسية لحل المشكلة.
س2 — مقارنة
وضّح الفرق بين دور الإنسان ودور الحاسب في حل المشكلة.
س3 — قواعد
اذكر أربعًا من قواعد وشروط كتابة خطوات الخوارزمية.
س4 — مفهوم
ما المقصود بالكود الزائف؟ وهل يعد لغة برمجة؟ وضح.
س5 — تطبيق
اكتب خطوات عربية ثم كودًا زائفًا لحساب محيط مستطيل عند معرفة الطول والعرض.
س6 — تحقق
اختر قيمًا مناسبة للمسألة السابقة وتتبع الخوارزمية يدويًا للتحقق من صحة الناتج.