↩ العودة للوحدةالوحدة الرابعة: حل المشاكل باستخدام الحاسوب

مفهوم حل المشاكل

حل المشاكل باستخدام الحاسوب

منهج منظم يحول المشكلة إلى خطوات واضحة يمكن التحقق منها ثم تنفيذها بالحاسب.

Problem Solvingفهم • تصميم • تحقق

مفهوم حل المشكلة

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

لماذا نحتاج منهجًا منظمًا؟

وضوح المطلوب

يمنع البدء في حل مسألة لم نفهمها بصورة صحيحة.

تقليل الأخطاء

يساعد على اكتشاف الخطأ قبل تحويل الحل إلى برنامج.

سهولة التنفيذ

يجعل الحل مرتبًا وقابلًا للتحويل لاحقًا إلى تعليمات برمجية.

المسار العام
تحديد المشكلة←تطوير نموذج←تصميم الخوارزمية←التحقق
للاختبار: لا يكفي حفظ أسماء المراحل؛ يجب معرفة وظيفة كل مرحلة والتمييز بينها في مثال.

تحديد المشكلة

تحديد المشكلة

الخطوة الأولى: افهم المطلوب قبل التفكير في طريقة الحل.

Problem Solvingفهم • تصميم • تحقق

ما المقصود بتحديد المشكلة؟

صياغة المسألة بصورة واضحة وتحديد الهدف الذي نريد الوصول إليه، والبيانات المتاحة، والنتيجة المطلوبة، والقيود إن وجدت.

ما المطلوب؟

النتيجة النهائية التي يجب الوصول إليها.

ما المعطيات؟

القيم والمعلومات المتاحة التي يعتمد عليها الحل.

ما القيود؟

أي شروط تحدد نطاق الحل أو القيم المقبولة.

مثال

المسألة: حساب متوسط ثلاث درجات.

المعطيات: ثلاث درجات. المطلوب: المتوسط الحسابي. العلاقة: مجموع الدرجات ÷ 3.

من الأخطاء الشائعة القفز مباشرة إلى العمليات الحسابية قبل التأكد من المطلوب والمعطيات.

تطوير نموذج للحل

تطوير نموذج لحل المشكلة

بعد فهم المشكلة نبني تصورًا مبسطًا يوضح كيف نصل من البيانات إلى النتيجة.

Problem Solvingفهم • تصميم • تحقق

نموذج الحل

تصور منظم يوضح عناصر الحل والعلاقة بينها قبل كتابة الخوارزمية التفصيلية.

العناصر الأساسية
بيانات متاحة←عمليات لازمة←نتيجة مطلوبة

مثال: السعر بعد خصم

السعر ونسبة الخصم ← حساب قيمة الخصم ثم طرحها من السعر ← السعر النهائي.

فائدة النموذج

يكشف نقص البيانات أو وجود عملية غير ضرورية قبل كتابة الخوارزمية.

ليس برنامجًا

النموذج وصف للحل، ولا يشترط أن يلتزم بقواعد لغة برمجة.

خطوات حل المشكلة

خطوات حل المشكلة

نموذج متكامل يوضح المراحل التي يمر بها الحل من فهم المسألة إلى التحقق.

Problem Solvingفهم • تصميم • تحقق
المراحل الأساسية
1

تحديد وفهم المشكلة

تحديد المطلوب والمعطيات والقيود.

2

تطوير نموذج للحل

تحديد العلاقات والعمليات اللازمة للوصول إلى النتيجة.

3

تصميم الخوارزمية

ترتيب خطوات الحل بصورة واضحة ومحددة ومتسلسلة.

4

التحقق من صحة الخوارزمية

تجربة الخطوات بقيم فعلية والتأكد من الوصول إلى نتيجة صحيحة.

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

دور الإنسان والحاسب

دور الإنسان والحاسب في حل المشكلة

الإنسان يصمم الحل؛ والحاسب يترجم التعليمات وينفذها ويصدر النتائج.

Problem Solvingفهم • تصميم • تحقق

👤 دور الإنسان

  1. تحديد وفهم المشكلة.
  2. تحليل عناصر المسألة.
  3. كتابة الخطوات الخوارزمية.
  4. كتابة البرنامج بلغة برمجة.
  5. تصحيح الأخطاء عند ظهورها.

💻 دور الحاسب

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

قواعد كتابة الخوارزمية

قواعد وشروط كتابة خطوات الخوارزمية

الخوارزمية الجيدة ليست مجرد خطوات؛ بل يجب أن تحقق مجموعة من الشروط.

Problem Solvingفهم • تصميم • تحقق

1. بداية واضحة

تحدد نقطة بدء تنفيذ الحل.

2. الوضوح والدقة

كل خطوة محددة وغير قابلة لتفسيرات مختلفة.

3. الترتيب والتسلسل

تنفذ الخطوات بالترتيب المنطقي الصحيح.

4. اكتمال عناصر الحل

تتضمن البيانات المطلوبة والعمليات والنتيجة.

5. القابلية للتنفيذ

كل خطوة يمكن تنفيذها فعليًا.

6. نهاية ونتيجة

يجب أن تنتهي الخوارزمية بعد عدد منتهٍ من الخطوات وتصل إلى حل.

الشكل العام المبسط

البداية
أدخل البيانات المطلوبة
نفّذ العمليات اللازمة
اعرض النتيجة
النهاية

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

الكود الزائف Pseudocode

تمثيل الخوارزمية بالكود الزائف Pseudocode

طريقة منظمة لكتابة الخوارزمية بصورة قريبة من البرمجة دون التقيد بلغة برمجة حقيقية.

Problem Solvingفهم • تصميم • تحقق

ما الكود الزائف؟

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

BEGIN / END

تحديد بداية ونهاية الخوارزمية.

INPUT / OUTPUT

قراءة البيانات وعرض النتائج.

← الإسناد

تخزين نتيجة أو قيمة في متغير، مثل: total ← a + b.

من العربية إلى الكود الزائف

خطوات بالعربية

البداية
أدخل الطول والعرض
احسب المساحة بضرب الطول في العرض
اعرض المساحة
النهاية

Pseudocode

BEGIN
INPUT length, width
area ← length × width
OUTPUT area
END
في هذه الوحدة نستخدم التسلسل والإسناد والعمليات الحسابية فقط. التفرع والدوران يأتيان لاحقًا.

التحقق من صحة الخوارزمية

التحقق من صحة الخوارزمية

لا نفترض أن الخوارزمية صحيحة؛ بل نجربها ونتتبع خطواتها قبل تحويلها إلى برنامج.

Problem Solvingفهم • تصميم • تحقق

التتبع اليدوي

تنفيذ خطوات الخوارزمية يدويًا باستخدام قيم اختبار ومتابعة تغير القيم خطوة بخطوة للتأكد من أن النتيجة توافق المتوقع.

مثال: متوسط 70، 80، 90

الخطوةالقيمة/النتيجة
إدخال الدرجات70، 80، 90
حساب المجموع240
القسمة على 380
النتيجة المتوقعة80 ✓
ماذا نتحقق منه؟
  • هل جميع الخطوات قابلة للتنفيذ؟
  • هل ترتيب الخطوات صحيح؟
  • هل استخدمت البيانات المطلوبة؟
  • هل النتيجة صحيحة ومنطقية؟
  • هل تعمل الخوارزمية مع أكثر من مجموعة قيم؟

أمثلة محلولة

أمثلة محلولة

نطبق طريقة واحدة ثابتة: نفهم المسألة، نكتب خطوات عربية، نمثلها بالكود الزائف، ثم نتحقق.

Problem Solvingفهم • تصميم • تحقق

مثال 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 دقيقة.

تمارين

تمارين

أسئلة نظرية وتطبيقية تصلح للمراجعة والاختبارات.

Problem Solvingفهم • تصميم • تحقق

س1 — نظري

عرّف حل المشكلة باستخدام الحاسوب، ثم اذكر المراحل الأساسية لحل المشكلة.

س2 — مقارنة

وضّح الفرق بين دور الإنسان ودور الحاسب في حل المشكلة.

س3 — قواعد

اذكر أربعًا من قواعد وشروط كتابة خطوات الخوارزمية.

س4 — مفهوم

ما المقصود بالكود الزائف؟ وهل يعد لغة برمجة؟ وضح.

س5 — تطبيق

اكتب خطوات عربية ثم كودًا زائفًا لحساب محيط مستطيل عند معرفة الطول والعرض.

س6 — تحقق

اختر قيمًا مناسبة للمسألة السابقة وتتبع الخوارزمية يدويًا للتحقق من صحة الناتج.