أساسيات البرمجة للمبتدئين

|

ما هي البرمجة؟

تعريف البرمجة

الشرح النصي:
البرمجة هي عملية كتابة تعليمات وأوامر بلغة يفهمها الحاسوب لتنفيذ مهام محددة. تخيل أنك تتعلم لغة جديدة للتواصل مع شخص آلي - أنت تطلب منه القيام بمهام، وهو ينفذها بحرفية. البرمجة تمكننا من إنشاء تطبيقات ومواقع إلكترونية وألعاب وأنظمة ذكية.

لماذا نتعلم البرمجة؟

  • تطوير مهارات حل المشكلات
  • فهم كيفية عمل التكنولوجيا
  • فرص عمل ممتازة ومستقبل واعد
  • القدرة على إنشاء مشاريعك الخاصة
# أول برنامج في البرمجة
# طباعة جملة على الشاشة

print("مرحباً بالعالم")
print("أهلاً بك في عالم البرمجة")

# تشغيل البرنامج يظهر:
# مرحباً بالعالم
# أهلاً بك في عالم البرمجة
                    
// أول برنامج في البرمجة
// طباعة جملة على الشاشة

console.log("مرحباً بالعالم");
console.log("أهلاً بك في عالم البرمجة");

// تشغيل البرنامج يظهر:
// مرحباً بالعالم
// أهلاً بك في عالم البرمجة
                    
// أول برنامج في البرمجة
// طباعة جملة على الشاشة

echo "مرحباً بالعالم";
echo "أهلاً بك في عالم البرمجة";

// تشغيل البرنامج يظهر:
// مرحباً بالعالم
// أهلاً بك في عالم البرمجة
                    

المتغيرات (Variables)

تعريف المتغيرات

الشرح النصي:
المتغير هو مثل صندوق تخزين نضع فيه بيانات. كل متغير له:

  • اسم يميزه عن غيره
  • قيمة هي البيانات المخزنة داخله
  • نوع يحدد طبيعة البيانات (رقم، نص، إلخ)

قواعد تسمية المتغيرات:

  • يبدأ بحرف أو underscore _
  • لا يبدأ برقم
  • لا يحتوي على مسافات
  • حساس لحالة الأحرف (Name ≠ name)
# تعريف المتغيرات في بايثون
# أنواع البيانات الأساسية:

# أرقام صحيحة
age = 25
year = 2024

# أرقام عشرية
price = 99.99
pi = 3.14159

# نصوص
name = "أحمد"
message = 'مرحباً'

# قيم منطقية
is_student = True
is_working = False

# عرض قيم المتغيرات
print("الاسم:", name)
print("العمر:", age)
print("هل هو طالب؟", is_student)
                    
// تعريف المتغيرات في جافا سكريبت
// أنواع البيانات الأساسية:

// أرقام صحيحة
let age = 25;
let year = 2024;

// أرقام عشرية
let price = 99.99;
let pi = 3.14159;

// نصوص
let name = "أحمد";
let message = 'مرحباً';

// قيم منطقية
let isStudent = true;
let isWorking = false;

// عرض قيم المتغيرات
console.log("الاسم:", name);
console.log("العمر:", age);
console.log("هل هو طالب؟", isStudent);
                    
// تعريف المتغيرات في PHP
// أنواع البيانات الأساسية:

// أرقام صحيحة
$age = 25;
$year = 2024;

// أرقام عشرية
$price = 99.99;
$pi = 3.14159;

// نصوص
$name = "أحمد";
$message = 'مرحباً';

// قيم منطقية
$is_student = true;
$is_working = false;

// عرض قيم المتغيرات
echo "الاسم: " . $name . "
"; echo "العمر: " . $age . "
"; echo "هل هو طالب؟ " . $is_student . "
";

أنواع البيانات (Data Types)

أنواع البيانات الأساسية

الشرح النصي:
كل متغير له نوع بيانات يحدد نوع القيمة المخزنة فيه. معرفة نوع البيانات مهم لأن العمليات تختلف حسب النوع.

الأنواع الأساسية:

  • الأرقام الصحيحة (Integer): أرقام بدون كسور مثل 10، 100، -5
  • الأرقام العشرية (Float): أرقام تحتوي على فاصلة عشرية مثل 3.14، 99.99
  • النصوص (String): سلسلة من الأحرف بين علامتي تنصيص "أحمد"، "Hello"
  • القيم المنطقية (Boolean): true أو false فقط
# أنواع البيانات في بايثون

# رقم صحيح
age = 25
students_count = 100

# رقم عشري
price = 19.99
temperature = 36.6

# نص
name = "أحمد"
city = 'الرياض'

# قيمة منطقية
is_active = True
is_completed = False

# معرفة نوع البيانات
print(type(age))      # 
print(type(price))    # 
print(type(name))     # 
print(type(is_active)) # 
                    
// أنواع البيانات في جافا سكريبت

// رقم صحيح
let age = 25;
let studentsCount = 100;

// رقم عشري
let price = 19.99;
let temperature = 36.6;

// نص
let name = "أحمد";
let city = 'الرياض';

// قيمة منطقية
let isActive = true;
let isCompleted = false;

// معرفة نوع البيانات
console.log(typeof age);        // number
console.log(typeof price);      // number
console.log(typeof name);       // string
console.log(typeof isActive);   // boolean
                    
// أنواع البيانات في PHP

// رقم صحيح
$age = 25;
$students_count = 100;

// رقم عشري
$price = 19.99;
$temperature = 36.6;

// نص
$name = "أحمد";
$city = 'الرياض';

// قيمة منطقية
$is_active = true;
$is_completed = false;

// معرفة نوع البيانات
echo gettype($age) . "
"; // integer echo gettype($price) . "
"; // double echo gettype($name) . "
"; // string echo gettype($is_active) . "
"; // boolean

الشروط (Conditions)

الجمل الشرطية

الشرح النصي:
الجمل الشرطية تسمح للبرنامج باتخاذ قرارات بناءً على شروط معينة. تخيل أنك تقول للحاسوب: "إذا كان العمر أكبر من 18، اطبع 'بالغ'، وإلا اطبع 'قاصر'".

أنواع الشروط:

  • if: إذا كان الشرط صحيحاً
  • else: إذا لم يكن الشرط صحيحاً
  • else if: إذا كان هناك شروط متعددة

العوامل المنطقية:

  • == يساوي
  • != لا يساوي
  • > أكبر من
  • < أصغر من
  • >= أكبر من أو يساوي
  • <= أصغر من أو يساوي
# الجمل الشرطية في بايثون

# مثال 1: if بسيط
age = 20
if age >= 18:
    print("أنت بالغ")

# مثال 2: if مع else
score = 45
if score >= 50:
    print("ناجح")
else:
    print("راسب")

# مثال 3: if مع elif متعدد
grade = 85
if grade >= 90:
    print("امتياز")
elif grade >= 80:
    print("جيد جداً")
elif grade >= 70:
    print("جيد")
elif grade >= 60:
    print("مقبول")
else:
    print("راسب")

# مثال 4: شروط متعددة
age = 25
has_license = True

if age >= 18 and has_license:
    print("يمكنك قيادة السيارة")
else:
    print("لا يمكنك قيادة السيارة")
                    
// الجمل الشرطية في جافا سكريبت

// مثال 1: if بسيط
let age = 20;
if (age >= 18) {
    console.log("أنت بالغ");
}

// مثال 2: if مع else
let score = 45;
if (score >= 50) {
    console.log("ناجح");
} else {
    console.log("راسب");
}

// مثال 3: if مع else if متعدد
let grade = 85;
if (grade >= 90) {
    console.log("امتياز");
} else if (grade >= 80) {
    console.log("جيد جداً");
} else if (grade >= 70) {
    console.log("جيد");
} else if (grade >= 60) {
    console.log("مقبول");
} else {
    console.log("راسب");
}

// مثال 4: شروط متعددة
let userAge = 25;
let hasLicense = true;

if (userAge >= 18 && hasLicense) {
    console.log("يمكنك قيادة السيارة");
} else {
    console.log("لا يمكنك قيادة السيارة");
}
                    
// الجمل الشرطية في PHP

// مثال 1: if بسيط
$age = 20;
if ($age >= 18) {
    echo "أنت بالغ
"; } // مثال 2: if مع else $score = 45; if ($score >= 50) { echo "ناجح
"; } else { echo "راسب
"; } // مثال 3: if مع elseif متعدد $grade = 85; if ($grade >= 90) { echo "امتياز
"; } elseif ($grade >= 80) { echo "جيد جداً
"; } elseif ($grade >= 70) { echo "جيد
"; } elseif ($grade >= 60) { echo "مقبول
"; } else { echo "راسب
"; } // مثال 4: شروط متعددة $userAge = 25; $hasLicense = true; if ($userAge >= 18 && $hasLicense) { echo "يمكنك قيادة السيارة
"; } else { echo "لا يمكنك قيادة السيارة
"; }

الحلقات (Loops)

التكرار في البرمجة

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

أنواع الحلقات:

  • for: عندما نعرف عدد مرات التكرار مسبقاً
  • while: عندما نريد التكرار طالما شرط معين محقق
  • do while: تشبه while لكنها تنفذ مرة واحدة على الأقل

ملاحظة مهمة:
تأكد من وجود طريقة للخروج من الحلقة، وإلا ستستمر إلى الأبد (حلقة لا نهائية).

# الحلقات في بايثون

# مثال 1: حلقة for
print("الأرقام من 1 إلى 5:");
for i in range(1, 6):
    print(i)

# مثال 2: حلقة for على قائمة
fruits = ["تفاح", "موز", "برتقال"]
print("\nقائمة الفواكه:");
for fruit in fruits:
    print(fruit)

# مثال 3: حلقة while
print("\nعد تنازلي:");
count = 5
while count > 0:
    print(count)
    count = count - 1
print("انطلق!")

# مثال 4: break و continue
print("\nالأرقام الفردية من 1 إلى 10:");
for i in range(1, 11):
    if i % 2 == 0:  # إذا كان الرقم زوجياً
        continue    # انتقل للتكرار التالي
    print(i)

print("\nالتوقف عند الرقم 5:");
for i in range(1, 11):
    if i == 6:
        break      # أوقف الحلقة
    print(i)
                    
// الحلقات في جافا سكريبت

// مثال 1: حلقة for
console.log("الأرقام من 1 إلى 5:");
for (let i = 1; i <= 5; i++) {
    console.log(i);
}

// مثال 2: حلقة for على مصفوفة
let fruits = ["تفاح", "موز", "برتقال"];
console.log("\nقائمة الفواكه:");
for (let i = 0; i < fruits.length; i++) {
    console.log(fruits[i]);
}

// مثال 3: حلقة while
console.log("\nعد تنازلي:");
let count = 5;
while (count > 0) {
    console.log(count);
    count--;
}
console.log("انطلق!");

// مثال 4: break و continue
console.log("\nالأرقام الفردية من 1 إلى 10:");
for (let i = 1; i <= 10; i++) {
    if (i % 2 === 0) {  // إذا كان الرقم زوجياً
        continue;       // انتقل للتكرار التالي
    }
    console.log(i);
}

console.log("\nالتوقف عند الرقم 5:");
for (let i = 1; i <= 10; i++) {
    if (i === 6) {
        break;      // أوقف الحلقة
    }
    console.log(i);
}
                    
// الحلقات في PHP

// مثال 1: حلقة for
echo "الأرقام من 1 إلى 5:
"; for ($i = 1; $i <= 5; $i++) { echo $i . "
"; } // مثال 2: حلقة for على مصفوفة $fruits = array("تفاح", "موز", "برتقال"); echo "
قائمة الفواكه:
"; for ($i = 0; $i < count($fruits); $i++) { echo $fruits[$i] . "
"; } // مثال 3: حلقة while echo "
عد تنازلي:
"; $count = 5; while ($count > 0) { echo $count . "
"; $count--; } echo "انطلق!
"; // مثال 4: break و continue echo "
الأرقام الفردية من 1 إلى 10:
"; for ($i = 1; $i <= 10; $i++) { if ($i % 2 == 0) { // إذا كان الرقم زوجياً continue; // انتقل للتكرار التالي } echo $i . "
"; } echo "
التوقف عند الرقم 5:
"; for ($i = 1; $i <= 10; $i++) { if ($i == 6) { break; // أوقف الحلقة } echo $i . "
"; }

الدوال (Functions)

ما هي الدوال؟

الشرح النصي:
الدوال هي مجموعة من الأوامر البرمجية التي تؤدي مهمة محددة ويمكن استدعاؤها عدة مرات. تخيل أن الدالة مثل وصفة طبخ - بدلاً من إعادة كتابة الوصفة كل مرة، نكتبها مرة واحدة ونستخدمها متى أردنا.

فوائد استخدام الدوال:

  • إعادة استخدام الكود
  • تنظيم البرنامج
  • تسهيل الصيانة
  • تقسيم المشكلة لأجزاء

مكونات الدالة:

  • اسم الدالة لتحديدها
  • المعاملات (البيانات المدخلة)
  • الجسم (الأوامر التنفيذية)
  • القيمة المرجعة (النتيجة)
# الدوال في بايثون

# مثال 1: دالة بسيطة بدون معاملات
def greet():
    print("مرحباً بك!")

# استدعاء الدالة
greet()

# مثال 2: دالة بمعاملات
def greet_person(name):
    print("مرحباً " + name)

greet_person("أحمد")
greet_person("فاطمة")

# مثال 3: دالة ترجع قيمة
def add_numbers(a, b):
    result = a + b
    return result

# استدعاء الدالة وحفظ النتيجة
sum_result = add_numbers(5, 3)
print("5 + 3 =", sum_result)

# مثال 4: دالة مع قيمة افتراضية
def power(base, exponent=2):
    return base ** exponent

print("2^3 =", power(2, 3))
print("5^2 =", power(5))  # تستخدم القيمة الافتراضية

# مثال 5: دالة لحساب المعدل
def calculate_average(grades):
    total = sum(grades)
    average = total / len(grades)
    return average

student_grades = [85, 90, 78, 92, 88]
avg = calculate_average(student_grades)
print("المعدل:", avg)
                    
// الدوال في جافا سكريبت

// مثال 1: دالة بسيطة بدون معاملات
function greet() {
    console.log("مرحباً بك!");
}

// استدعاء الدالة
greet();

// مثال 2: دالة بمعاملات
function greetPerson(name) {
    console.log("مرحباً " + name);
}

greetPerson("أحمد");
greetPerson("فاطمة");

// مثال 3: دالة ترجع قيمة
function addNumbers(a, b) {
    let result = a + b;
    return result;
}

// استدعاء الدالة وحفظ النتيجة
let sumResult = addNumbers(5, 3);
console.log("5 + 3 =", sumResult);

// مثال 4: دالة مع قيمة افتراضية
function power(base, exponent = 2) {
    return Math.pow(base, exponent);
}

console.log("2^3 =", power(2, 3));
console.log("5^2 =", power(5));  // تستخدم القيمة الافتراضية

// مثال 5: دالة لحساب المعدل
function calculateAverage(grades) {
    let total = 0;
    for (let i = 0; i < grades.length; i++) {
        total += grades[i];
    }
    let average = total / grades.length;
    return average;
}

let studentGrades = [85, 90, 78, 92, 88];
let avg = calculateAverage(studentGrades);
console.log("المعدل:", avg);
                    
// الدوال في PHP

// مثال 1: دالة بسيطة بدون معاملات
function greet() {
    echo "مرحباً بك!
"; } // استدعاء الدالة greet(); // مثال 2: دالة بمعاملات function greet_person($name) { echo "مرحباً " . $name . "
"; } greet_person("أحمد"); greet_person("فاطمة"); // مثال 3: دالة ترجع قيمة function add_numbers($a, $b) { $result = $a + $b; return $result; } // استدعاء الدالة وحفظ النتيجة $sum_result = add_numbers(5, 3); echo "5 + 3 = " . $sum_result . "
"; // مثال 4: دالة مع قيمة افتراضية function power($base, $exponent = 2) { return pow($base, $exponent); } echo "2^3 = " . power(2, 3) . "
"; echo "5^2 = " . power(5) . "
"; // تستخدم القيمة الافتراضية // مثال 5: دالة لحساب المعدل function calculate_average($grades) { $total = array_sum($grades); $average = $total / count($grades); return $average; } $student_grades = [85, 90, 78, 92, 88]; $avg = calculate_average($student_grades); echo "المعدل: " . $avg . "
";

فيديوهات تعليمية

قائمة تشغيل شاملة

دورة كاملة لتعلم أساسيات البرمجة من الصفر، تتضمن 10 فيديوهات تعليمية تغطي جميع المفاهيم الأساسية.

معلومات القائمة:

  • 10 فيديوهات تعليمية
  • تحديث: يونيو 2023
  • مناسبة للمبتدئين
  • شرح عملي وتطبيقي
مشاهدة قائمة التشغيل

محتوى الدورة

المواضيع التي تغطيها قائمة التشغيل:

  • مقدمة في البرمجة
  • المتغيرات وأنواع البيانات
  • المعاملات الحسابية والمنطقية
  • الجمل الشرطية (if, else)
  • الحلقات (Loops)
  • الدوال (Functions)
  • المصفوفات والقوائم
  • معالجة الأخطاء
  • مشاريع عملية
  • نصائح للتطوير

تمارين عملية

تمرين 1: حاسبة بسيطة

المهمة:
اكتب برنامجاً يأخذ رقمين من المستخدم ويعرض نتيجة الجمع والطرح والضرب والقسمة.

# مثال للحل في بايثون
num1 = float(input("أدخل الرقم الأول: "))
num2 = float(input("أدخل الرقم الثاني: "))

print("الجمع:", num1 + num2)
print("الطرح:", num1 - num2)
print("الضرب:", num1 * num2)
print("القسمة:", num1 / num2)
            

تمرين 2: تصنيف الدرجات

المهمة:
اكتب برنامجاً يأخذ درجة الطالب ويصنفها حسب التالي: 90-100: ممتاز، 80-89: جيد جداً، 70-79: جيد، 60-69: مقبول، أقل من 60: راسب.

# مثال للحل في بايثون
grade = float(input("أدخل درجة الطالب: "))

if grade >= 90:
    print("ممتاز")
elif grade >= 80:
    print("جيد جداً")
elif grade >= 70:
    print("جيد")
elif grade >= 60:
    print("مقبول")
else:
    print("راسب")
            

تمرين 3: جمع الأرقام

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

# مثال للحل في بايثون
def sum_numbers(numbers):
    total = 0
    for num in numbers:
        total += num
    return total

# اختبار الدالة
my_numbers = [1, 2, 3, 4, 5]
result = sum_numbers(my_numbers)
print("مجموع الأرقام:", result)