اذهب إلى المحتوى
  • 0

كيف استطيع حل المشكلات البرمجية وحدي بدون مساعدة وبدون مشاهدة الحل؟

سارة عاشور

السؤال

كيف استطيع حل المشكلات البرمجية وحدي بدون مساعدة وبدون مشاهدة الحل؟

مع العلم افهم الاساسيات البرمجية جيدا, واستطيع التطبيق مع المدرب في الفيديو ولكن عندما احاول ان ابرمج بنفسي لا استطيع.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

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

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

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

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

إذاً كيف نقوم ببناء خطة حلّ شاملة لمشروعنا ؟

وما سأنقله هنا ليس تعليمات ثابتة وإنما مبادئ ننطلق منها جميعًا، كلٌ منا يطبقها بأسلوبه الخاص.

1. فهم المشكلة:

إن فهمنا للمشكلة المطروحة هي الخطوة الأكثر صعوبة في طريقنا لحلّها، بل إن أكثر المشاكل تأتي صعوبتها من عدم تمكننا من فهم عميق لها.

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

2. تحليل المشكلة:

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

3. إعداد خطة للحل:

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

4. مواجهة حالة السكتة البرمجية:

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

وفي هذه الحالة هنالك حلّين يمكنك تجربتهما للخروج من هذا المأزق:

1. تنقيح الأخطاء: والمقصود الأخطاء البرمجية

2. مراجعة وتقييم الحلّ: أي فحص الحل الذي عملنا عليه، هل هو الحل الأمثل حقّاً وهل كان صحيحا منذ البداية؟

5. البحث عن حلول عبر الإنترنت:

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

 

 

ختاماً أتركك مع المرجع التالي: حل المشكلات وأهميتها في احتراف البرمجة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...