🔥 أحدث الأخبار

موقع يهتم بكل ماهو جديد في عالم التكنولوجيا والرياضة

كورس C++ المتوسط – الحلقة 1: إعادة ترتيب الأساسيات بشكل احترافي + مدخل للمشاريع

 


تمام 👍 نبدأ الآن الكورس المتوسط في C++ خطوة خطوة بشكل أقوى من الأساسي، وفيه تطبيقات حقيقية أكثر + تفكير برمجي أعمق.


كورس C++ المتوسط – الحلقة 1: إعادة ترتيب الأساسيات بشكل احترافي + مدخل للمشاريع

#برمجة

مقدمة

في الكورس الأساسي تعلمنا القواعد، لكن في المستوى المتوسط نحن لا نتعلم “كيف نكتب كود فقط”، بل نتعلم:

كيف نفكر مثل المبرمج الحقيقي

يعني:

  • حل مشاكل
  • بناء أنظمة صغيرة
  • تنظيم الكود
  • فهم الأداء

الفرق بين المبتدئ والمتوسط

المستوى ماذا يفعل؟
مبتدئ يكتب أوامر بسيطة
متوسط يبني حلول ومشاريع صغيرة
متقدم يبني أنظمة كبيرة

أهم شيء في هذا الكورس

لن نركز فقط على القواعد، بل على:

  • التفكير المنطقي
  • تقسيم المشكلة
  • كتابة كود منظم
  • إعادة استخدام الكود

مراجعة سريعة لكن بشكل احترافي

مثال: جمع رقمين (نسخة مبتدئة)

#include <iostream>
using namespace std;

int main()
{
    int a, b;
    cin >> a >> b;

    cout << a + b;

    return 0;
}

نفس المثال لكن بشكل متوسط (باستخدام دالة)

#include <iostream>
using namespace std;

int add(int a, int b)
{
    return a + b;
}

int main()
{
    int a, b;
    cin >> a >> b;

    cout << add(a, b);

    return 0;
}

لماذا هذا أفضل؟

لأننا:

  • فصلنا المنطق عن main
  • جعلنا الكود قابل لإعادة الاستخدام
  • بدأنا نفكر مثل المشاريع

أول مفهوم في المتوسط: تنظيم الكود

في البرامج الحقيقية لا نكتب كل شيء داخل main.

بل نقسم البرنامج إلى:

  • دوال
  • ملفات
  • أجزاء منطقية

مثال: برنامج غير منظم

#include <iostream>
using namespace std;

int main()
{
    int arr[5];
    int sum = 0;

    for(int i = 0; i < 5; i++)
    {
        cin >> arr[i];
        sum += arr[i];
    }

    cout << sum;

    return 0;
}

نفس البرنامج لكن بشكل متوسط

#include <iostream>
using namespace std;

int getSum(int arr[], int size)
{
    int sum = 0;

    for(int i = 0; i < size; i++)
    {
        sum += arr[i];
    }

    return sum;
}

void fillArray(int arr[], int size)
{
    for(int i = 0; i < size; i++)
    {
        cin >> arr[i];
    }
}

int main()
{
    int arr[5];

    fillArray(arr, 5);

    cout << getSum(arr, 5);

    return 0;
}

هنا أنت بدأت تفكر كمبرمج متوسط:

  • دالة للإدخال
  • دالة للحساب
  • main فقط للتشغيل

مفهوم مهم جداً: إعادة الاستخدام (Reusability)

بدلاً من تكرار الكود:

❌ خطأ: نكتب نفس الحلقة كل مرة

✔ صح: نضعها داخل دالة


مثال: طباعة مصفوفة

#include <iostream>
using namespace std;

void printArray(int arr[], int size)
{
    for(int i = 0; i < size; i++)
    {
        cout << arr[i] << " ";
    }
}

int main()
{
    int arr[5] = {1,2,3,4,5};

    printArray(arr, 5);

    return 0;
}

مفهوم جديد: التفكير بالمشكلة قبل الكود

مثال مشكلة:

“أريد برنامج يعرف أكبر رقم في مصفوفة”

التفكير:

  1. أدخل بيانات
  2. افترض أول رقم هو الأكبر
  3. قارن مع باقي الأرقام
  4. حدث القيمة إذا وجدنا أكبر

الحل:

#include <iostream>
using namespace std;

int getMax(int arr[], int size)
{
    int max = arr[0];

    for(int i = 1; i < size; i++)
    {
        if(arr[i] > max)
        {
            max = arr[i];
        }
    }

    return max;
}

int main()
{
    int arr[5];

    for(int i = 0; i < 5; i++)
    {
        cin >> arr[i];
    }

    cout << getMax(arr, 5);

    return 0;
}

مفهوم مهم: تقسيم البرامج (Modular Thinking)

بدل برنامج واحد كبير:

نقسمه إلى أجزاء:

  • إدخال
  • معالجة
  • إخراج

مثال نظام درجات (متوسط)

#include <iostream>
using namespace std;

float calcAvg(int arr[], int size)
{
    int sum = 0;

    for(int i = 0; i < size; i++)
    {
        sum += arr[i];
    }

    return sum / size;
}

void inputMarks(int arr[], int size)
{
    for(int i = 0; i < size; i++)
    {
        cin >> arr[i];
    }
}

int main()
{
    int marks[5];

    inputMarks(marks, 5);

    cout << "Average = " << calcAvg(marks, 5);

    return 0;
}

بداية التفكير الاحترافي

أنت الآن يجب أن تبدأ تفكر هكذا:

❌ ليس: "كيف أكتب كود؟"
✔ بل: "كيف أحل المشكلة؟"


أخطاء المبتدئين في المستوى المتوسط

❌ وضع كل شيء داخل main
❌ عدم استخدام دوال
❌ تكرار الكود
❌ عدم فهم المشكلة قبل الحل


تمارين مهمة جداً

  1. اكتب برنامج باستخدام دالة لحساب الضرب
  2. اكتب برنامج يجد أصغر رقم في مصفوفة
  3. اكتب برنامج يحسب عدد الأرقام الزوجية
  4. قسم برنامج إدخال وطباعة مصفوفة إلى دوال

ملخص الحلقة 1 (المتوسط)

تعلمنا:

  • الفرق بين مبتدئ ومتوسط
  • تنظيم الكود
  • استخدام الدوال بشكل احترافي
  • تقسيم البرامج
  • التفكير المنطقي قبل الكود

في الحلقة القادمة (المتوسط 2):

🔥 Arrays + Strings بشكل متقدم
🔥 التعامل مع مشاكل حقيقية
🔥 بداية بناء مشاريع صغيرة (Mini Projects)






تعليقات

💬 🙋🏻‍♂️