الأرقام في لغة ض
أنواع الأرقام
لغة ض تدعم نوعين من الأرقام:
1. الأرقام الصحيحة (Integer)
عمر = 25
السنة = 2024
عداد = -10
2. الأرقام العشرية (Float)
السعر = 99.99
المعدل = 4.75
pi = 3.14159
إنشاء الأرقام
أرقام عشرية مباشرة
عدد1 = 42
عدد2 = 42.0
عدد3 = -17
عدد4 = 3.14159
أرقام بأنظمة مختلفة
# نظام عشري (الافتراضي)
عدد = 100
# نظام ست عشري (hexadecimal)
عدد_ست_عشري = 0x64 # 100 بالعشري
# نظام ثنائي (binary)
عدد_ثنائي = 0b1100100 # 100 بالعشري
# نظام ثماني (octal)
عدد_ثماني = 0o144 # 100 بالعشري
أرقام كبيرة
مليون = 1000000
بليون = 1000000000
# يمكن استخدام _ للوضوح
مليون = 1_000_000
بليون = 1_000_000_000
العمليات الحسابية
العمليات الأساسية
# الجمع
نتيجة = 10 + 5 # 15
# الطرح
نتيجة = 10 - 5 # 5
# الضرب
نتيجة = 10 * 5 # 50
# القسمة (تعطي رقم عشري)
نتيجة = 10 / 5 # 2.0
نتيجة = 10 / 3 # 3.3333...
# القسمة الصحيحة
نتيجة = 10 // 3 # 3
# باقي القسمة
نتيجة = 10 % 3 # 1
# الأس
نتيجة = 2 ** 3 # 8 (2³)
ترتيب الأولوية
# الأقواس لها الأولوية
نتيجة = (10 + 5) * 2 # 30
# بدون أقواس
نتيجة = 10 + 5 * 2 # 20
# الأس له أولوية عالية
نتيجة = 2 ** 3 * 2 # 16 (8 * 2)
نتيجة = 2 * 3 ** 2 # 18 (2 * 9)
الدوال المدمجة للأرقام
التحويل بين الأنواع
# إلى عدد صحيح
عدد("42") # 42
عدد(3.99) # 3 (يقطع الكسر)
عدد("0x10") # 16
# إلى عدد عشري
عشري("3.14") # 3.14
عشري(42) # 42.0
عشري("inf") # infinity
دوال رياضية أساسية
# القيمة المطلقة
اطبع(مطلق(-10)) # 10
اطبع(مطلق(10)) # 10
# الأس
اطبع(قوة(2، 3)) # 8 (نفس 2**3)
# الجذر التربيعي (استخدم **)
جذر = 16 ** 0.5 # 4.0
# التقريب
اطبع(تقريب(3.7)) # 4
اطبع(تقريب(3.2)) # 3
اطبع(تقريب(3.5)) # 4
عمليات الإسناد المعزز
عداد = 10
عداد += 5 # عداد = عداد + 5 → 15
عداد -= 3 # عداد = عداد - 3 → 12
عداد *= 2 # عداد = عداد * 2 → 24
عداد /= 4 # عداد = عداد / 4 → 6
عداد //= 2 # عداد = عداد // 2 → 3
عداد %= 2 # عداد = عداد % 2 → 1
عداد **= 3 # عداد = عداد ** 3 → 1
المقارنات
أ = 10
ب = 20
اطبع(أ == ب) # خطأ (مساوي)
اطبع(أ != ب) # صحيح (غير مساوي)
اطبع(أ < ب) # صحيح (أصغر من)
اطبع(أ > ب) # خطأ (أكبر من)
اطبع(أ <= ب) # صحيح (أصغر أو يساوي)
اطبع(أ >= ب) # خطأ (أكبر أو يساوي)
أمثلة عملية
مثال 1: حاسبة بسيطة
عدد1 = عشري(ادخل("أدخل العدد الأول: "))
عدد2 = عشري(ادخل("أدخل العدد الثاني: "))
اطبع("الجمع: " + نص(عدد1 + عدد2))
اطبع("الطرح: " + نص(عدد1 - عدد2))
اطبع("الضرب: " + نص(عدد1 * عدد2))
اطبع("القسمة: " + نص(عدد1 / عدد2))
مثال 2: حساب المتوسط
درجات = [85، 90، 78، 92، 88]
مجموع = 0
لكل درجة في درجات:
مجموع += درجة
متوسط = مجموع / طول(درجات)
اطبع("المتوسط: " + نص(متوسط))
مثال 3: تحويل درجة الحرارة
# من سيلسيوس إلى فهرنهايت
سيلسيوس = عشري(ادخل("أدخل درجة الحرارة (سيلسيوس): "))
فهرنهايت = (سيلسيوس * 9/5) + 32
اطبع(نص(سيلسيوس) + "°C = " + نص(فهرنهايت) + "°F")
مثال 4: حساب الفائدة المركبة
الأصل = عشري(ادخل("أدخل المبلغ الأصلي: "))
المعدل = عشري(ادخل("أدخل معدل الفائدة (٪): "))
السنوات = عدد(ادخل("أدخل عدد السنوات: "))
المبلغ_النهائي = الأصل * ((1 + المعدل/100) ** السنوات)
الفائدة = المبلغ_النهائي - الأصل
اطبع("المبلغ النهائي: " + نص(تقريب(المبلغ_النهائي، 2)))
اطبع("الفائدة المكتسبة: " + نص(تقريب(الفائدة، 2)))
الأرقام الخاصة
# أكبر رقم صحيح
كبير_جداً = 10 ** 100 # لا يوجد حد أقصى
# ليس رقماً (Not a Number)
ليس_رقما = عشري('nan')
نصائح مهمة
1. دقة الأرقام العشرية
# الأرقام العشرية ليست دقيقة دائماً
اطبع(0.1 + 0.2) # 0.30000000000000004
# استخدم التقريب للعرض
نتيجة = تقريب(0.1 + 0.2، 1)
اطبع(نتيجة) # 0.3
2. القسمة على صفر
# القسمة على صفر تسبب خطأ
# نتيجة = 10 / 0 # خطأ!
# تحقق قبل القسمة
مقسوم = 10
قاسم = 0
إذا قاسم != 0:
نتيجة = مقسوم / قاسم
اطبع(نتيجة)
وإلا:
اطبع("لا يمكن القسمة على صفر!")