السلطان
  1. الرئيسية
  2. الأمثلة
  3. الرياضيات

دوال الأعداد العائمة

الجذور والمسافات والإحصاء والمقارنة بسماحية.

math/float_math.sn
// دوال الأعداد العائمة: الجذور والمسافات والإحصاء والمقارنة بسماحية.
استورد std.io.println;
استورد std.math.float;

عرف قريب_من(القيمة: ع64, المتوقع: ع64): منطقي {
    أرجع قريب64(القيمة, المتوقع, 0.000001, 0.0);
}

عرف أبلغ(التسمية: نص, سليم: منطقي): فراغ {
    إذا (سليم) { اطبع_سطر(التسمية); } وإلا { اطبع_سطر("نتيجة غير متوقعة"); };
}

عرف الرئيسية(): عدد {
    أبلغ("الوتر لضلعين 3 و4 هو 5", قريب_من(وتر64(3.0, 4.0), 5.0));
    دع العينات: متجه ع64 = [2.0, 4.0, 4.0, 4.0, 5.0, 5.0, 7.0, 9.0];
    طابق متوسط64(&العينات) مع
    | اختياري.موجود(المتوسط) -> { أبلغ("المتوسط 5", قريب_من(المتوسط, 5.0)); }
    | اختياري.لا_شيء -> { };
    طابق انحراف_معياري_مجتمع64(&العينات) مع
    | اختياري.موجود(الانتشار) -> { أبلغ("الانحراف المعياري 2", قريب_من(الانتشار, 2.0)); }
    | اختياري.لا_شيء -> { };
    أبلغ("مربع جذر 2 هو 2", قريب_من(جذر_تربيعي64(2.0) * جذر_تربيعي64(2.0), 2.0));
    أبلغ("مساحة دائرة نصف قطرها 1 هي باي", قريب_من(باي64() * 1.0 * 1.0, 3.141592653589793));
    أبلغ("0.1 + 0.2 قريب من 0.3", قريب_من(0.1 + 0.2, 0.3));
    أرجع 0;
}

التشغيل

بالمفسر، دون ترجمة:

./build/sultanc run examples/ar/math/float_math.sn

أو ترجمه إلى ملف تنفيذي:

./build/sultanc examples/ar/math/float_math.sn -o build/example && ./build/example

المصدر على GitHub   كل الأمثلة