Skip to main content

أنواع البيانات في لغة ض

نظرة عامة

لغة ض تدعم أنواع البيانات الأساسية التالية:

النوعمثالالوصف
عدد صحيح42أرقام بدون فاصلة عشرية
عدد عشري3.14أرقام بفاصلة عشرية
نص"أحمد"سلسلة من الأحرف
منطقيصحيح، خطأقيمة صحيحة أو خاطئة
عدمعدمقيمة فارغة (None)
قائمة[1، 2، 3]مجموعة مرتبة
قاموس{"اسم": "أحمد"}مجموعة مفتاح-قيمة
مجموعة ثنائية(1، 2)مجموعة غير قابلة للتعديل

معرفة نوع البيانات

استخدم الدالة نوع() لمعرفة نوع أي قيمة:

اطبع(نوع(42))           # عدد
اطبع(نوع(3.14)) # عشري
اطبع(نوع("أحمد")) # نص
اطبع(نوع(صحيح)) # منطقي
اطبع(نوع([1، 2، 3])) # قائمة

الأرقام الصحيحة (Integer)

أرقام بدون فاصلة عشرية:

عمر = 25
السنة = 2024
درجة_الحرارة = -10
عدد_كبير = 1000000

الأرقام العشرية (Float)

أرقام بفاصلة عشرية:

السعر = 99.99
المعدل = 4.75
pi = 3.14159
درجة_حرارة = 36.6

النصوص (String)

سلاسل من الأحرف محاطة بعلامات تنصيص:

# علامات مزدوجة
اسم = "أحمد"

# علامات مفردة
المدينة = 'الرياض'

# نص متعدد الأسطر
رسالة = """مرحباً
هذا نص
متعدد الأسطر"""

القيم المنطقية (Boolean)

قيمتان فقط: صحيح أو خطأ

متزوج = صحيح
طالب = خطأ
نشط = صحيح

# في الجمل الشرطية
إذا نشط:
اطبع("الحساب نشط")

القيمة الفارغة (None)

تمثل غياب القيمة:

قيمة = عدم

إذا قيمة == عدم:
اطبع("القيمة فارغة")

القوائم (Lists)

مجموعة مرتبة قابلة للتعديل:

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

# الوصول للعناصر
اطبع(أرقام[0]) # 1

# تعديل عنصر
أرقام[0] = 10

القواميس (Dictionaries)

مجموعات مفتاح-قيمة:

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

# الوصول للقيم
اطبع(شخص["اسم"]) # أحمد

# إضافة عنصر
شخص["وظيفة"] = "مبرمج"

المجموعات الثنائية (Tuples)

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

نقطة = (10، 20)
ألوان = ("أحمر"، "أخضر"، "أزرق")

# الوصول للعناصر
اطبع(نقطة[0]) # 10

# لا يمكن التعديل
# نقطة[0] = 5 # خطأ!

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

إلى عدد صحيح

عدد("42")       # من نص
عدد(3.14) # من عشري
عدد(صحيح) # 1
عدد(خطأ) # 0

إلى عدد عشري

عشري("3.14")    # من نص
عشري(42) # من عدد صحيح

إلى نص

نص(42)          # "42"
نص(3.14) # "3.14"
نص(صحيح) # "صحيح"

إلى قائمة

قائمة("أحمد")          # ["أ"، "ح"، "م"، "د"]
قائمة((1، 2، 3)) # [1، 2، 3]
قائمة(مدى(5)) # [0، 1، 2، 3، 4]

أمثلة عملية

مثال 1: التحقق من الأنواع

قيمة = ادخل("أدخل قيمة: ")

إذا نوع(قيمة) == "نص":
اطبع("هذا نص")

# تحويل لرقم إذا كان ممكناً
رقم = عدد(قيمة)
اطبع("كرقم: " + نص(رقم))

مثال 2: معالجة بيانات مختلطة

بيانات = {
"اسم": "أحمد"،
"عمر": 25،
"متزوج": صحيح،
"درجات": [85، 90، 95]
}

اطبع("الاسم: " + بيانات["اسم"])
اطبع("العمر: " + نص(بيانات["عمر"]))
اطبع("متزوج: " + نص(بيانات["متزوج"]))
اطبع("المتوسط: " + نص(مجموع(بيانات["درجات"]) / طول(بيانات["درجات"])))

الملخص

العمليةالدالةمثال
معرفة النوعنوع()نوع(42)
تحويل لعددعدد()عدد("42")
تحويل لعشريعشري()عشري("3.14")
تحويل لنصنص()نص(42)
تحويل لقائمةقائمة()قائمة("نص")