Skip to content

الفصل 1: المتغيرات والأنواع

📖 المستوى: مبتدئ  |  ⏱ الوقت المقدّر: 45 دقيقة  |  📝 تمارين: 8

ما ستتعلم في هذا الفصل

  • كيفية تعريف المتغيرات والثوابت في لغة ص
  • أنواع البيانات الأساسية: رقم، عشري، نص، منطقي
  • التحويل بين الأنواع
  • قواعد تسمية المتغيرات
  • الفرق بين متغير و ثابت

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

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

sad
# تعريف متغير بسيط
متغير اسم = "أحمد"
متغير عمر = 25
متغير طول = 1.75
متغير متزوج = صحيح

اطبع_سطر("الاسم: " + اسم)
اطبع_سطر("العمر: " + عمر)

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

القاعدةمثال صحيحمثال خاطئ
يبدأ بحرف أو _اسم، _عداد1اسم
لا يحتوي مسافاتاسم_المستخدماسم المستخدم
ليس كلمة محجوزةنتيجةإذا
يدعم العربية والإنجليزيةcounter، عداد

💡 نصيحة

اختر أسماء واضحة ومعبّرة. بدلاً من س استخدم عمر_المستخدم.


1.2 الثوابت

الثابت لا يمكن تغيير قيمته بعد التعريف. نستخدم ثابت بدلاً من متغير:

sad
ثابت PI = 3.14159
ثابت اسم_التطبيق = "برنامجي"
ثابت الحد_الأقصى = 100

# ❌ هذا سيسبب خطأ:
# PI = 3.14  # خطأ! لا يمكن تغيير ثابت

⚠️ تحذير

محاولة تغيير قيمة ثابت ستسبب خطأ في وقت التشغيل.


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

لغة ص تحتوي على 7 أنواع أساسية:

🔢 رقم (Integer)

sad
متغير عمر = 25
متغير عدد_سالب = -10
متغير صفر = 0

اطبع_سطر("النوع: " + نوع(عمر))  # رقم

🔣 عشري (Float)

sad
متغير وزن = 72.5
متغير درجة_حرارة = -3.14
متغير نسبة = 0.95

اطبع_سطر("الوزن: " + وزن)

📝 نص (String)

sad
متغير اسم = "سارة"
متغير جملة = "مرحباً بالعالم!"
متغير فارغ = ""

# عمليات النصوص
اطبع_سطر("الطول: " + طول(اسم))
اطبع_سطر("مرحباً " + اسم + "!")

✅ منطقي (Boolean)

sad
متغير نشط = صحيح
متغير محذوف = خطأ

إذا (نشط)
    اطبع_سطر("المستخدم نشط")
نهاية

📋 مصفوفة (Array)

sad
متغير أرقام = [1، 2، 3، 4، 5]
متغير أسماء = ["أحمد"، "سارة"، "محمد"]
متغير مختلطة = [1، "نص"، صحيح]

اطبع_سطر("الأول: " + أرقام[0])
اطبع_سطر("العدد: " + طول(أرقام))

🗂 خريطة (Map)

sad
متغير شخص = {
    "اسم": "أحمد"،
    "عمر": 30،
    "مدينة": "الرياض"
}

اطبع_سطر("الاسم: " + شخص["اسم"])

∅ لاشيء (Null)

sad
متغير قيمة = لاشيء

إذا (قيمة == لاشيء)
    اطبع_سطر("لا توجد قيمة")
نهاية

1.4 التحويل بين الأنواع

sad
# من رقم إلى نص
متغير رقم = 42
متغير نص_رقم = نص(رقم)     # "42"

# من نص إلى رقم
متغير نص_عدد = "100"
متغير عدد = رقم(نص_عدد)     # 100

# من رقم إلى عشري
متغير ع = 5
متغير عش = عشري(ع)          # 5.0

# فحص النوع
اطبع_سطر(نوع(42))           # "رقم"
اطبع_سطر(نوع("مرحبا"))      # "نص"
اطبع_سطر(نوع(صحيح))         # "منطقي"

1.5 نطاق المتغيرات (Scope)

sad
متغير عالمي = "أنا عالمي"

دالة مثال()
    متغير محلي = "أنا محلي"
    اطبع_سطر(عالمي)   # ✅ يمكن الوصول
    اطبع_سطر(محلي)    # ✅ يمكن الوصول
نهاية

مثال()
# اطبع_سطر(محلي)     # ❌ خطأ! المتغير غير معرّف هنا

📌 ملاحظة مهمة

المتغير المعرّف داخل دالة أو كتلة إذا/بينما لا يمكن الوصول إليه خارجها.


1.6 أنماط عملية

نمط التبادل (Swap)

sad
متغير أ = 10
متغير ب = 20

# تبادل القيم
متغير مؤقت = أ
أ = ب
ب = مؤقت

اطبع_سطر("أ = " + أ)   # 20
اطبع_سطر("ب = " + ب)   # 10

نمط العدّاد

sad
متغير عداد = 0

بينما (عداد < 5)
    اطبع_سطر("العدد: " + عداد)
    عداد = عداد + 1
نهاية

نمط التراكم

sad
متغير أرقام = [10، 20، 30، 40، 50]
متغير مجموع = 0

لكل رقم في أرقام
    مجموع = مجموع + رقم
نهاية

اطبع_سطر("المجموع: " + مجموع)   # 150

تمارين

تمرين 1: التعريف الأساسي

عرّف متغيرات تمثل بطاقة هوية (اسم، عمر، مدينة، رقم الهوية) واطبعها.

💡 الحل
sad
متغير اسم = "محمد العلي"
متغير عمر = 28
متغير مدينة = "جدة"
متغير رقم_هوية = "1234567890"

اطبع_سطر("=== بطاقة هوية ===")
اطبع_سطر("الاسم: " + اسم)
اطبع_سطر("العمر: " + عمر)
اطبع_سطر("المدينة: " + مدينة)
اطبع_سطر("رقم الهوية: " + رقم_هوية)

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

اكتب برنامجاً يحسب مساحة ومحيط مستطيل بأبعاد 8 × 5.

💡 الحل
sad
ثابت الطول = 8
ثابت العرض = 5

متغير المساحة = الطول * العرض
متغير المحيط = 2 * (الطول + العرض)

اطبع_سطر("المساحة: " + المساحة)   # 40
اطبع_سطر("المحيط: " + المحيط)     # 26

تمرين 3: تحويل درجات الحرارة

اكتب برنامجاً يحوّل درجة حرارة من فهرنهايت إلى مئوية.

💡 الحل
sad
متغير فهرنهايت = 98.6
متغير مئوية = (فهرنهايت - 32) * 5 / 9

اطبع_سطر("الفهرنهايت: " + فهرنهايت)
اطبع_سطر("المئوية: " + مئوية)

ملخص الفصل

المفهومالصياغةمثال
تعريف متغيرمتغير اسم = قيمةمتغير عمر = 25
تعريف ثابتثابت اسم = قيمةثابت PI = 3.14
رقم صحيح42متغير ع = 42
عدد عشري3.14متغير ع = 3.14
نص"مرحبا"متغير ن = "مرحبا"
منطقيصحيح / خطأمتغير م = صحيح
مصفوفة[1، 2، 3]متغير م = [1، 2]
خريطة{"مفتاح": "قيمة"}متغير خ = {"أ": 1}
لاشيءلاشيءمتغير ق = لاشيء

مُرخَّص بموجب رخصة MIT