عدد الفاصلة العائمة هو عدد يحتوي على صفر أو أكثر من الأرقام بعد الفاصلة العشرية. من الأمثلة على ذلك -2.4 و0.1 و3.14 و5. و16.984025 و1024.0.
يمكن لأنواع مختلفة من أعداد الفاصلة العائمة تخزين أعداد مختلفة من الأرقام بعد الفاصلة العشرية، ويُشار إلى ذلك بالدقة.
يوفّر Go نوعين من أعداد الفاصلة العائمة:
float32: 32 بت (بدقة تبلغ نحو 6-9 أرقام).float64: 64 بت (بدقة تبلغ نحو 15-17 رقمًا).
هذا هو نوع الفاصلة العائمة الافتراضي.وكما ترى، يمكن لكلا النوعين تخزين عدد مختلف من الأرقام.
وهذا يعني أن محاولة تخزين PI في float32 ستخزّن أول 6 إلى 9 أرقام فقط (مع تقريب الرقم الأخير).
افتراضيًا، سيستخدم Go النوع float64 لأعداد الفاصلة العائمة، إلا إذا كان عدد الفاصلة العائمة:
float32، أوfloat32، أوfloat32().تحتوي math package على العديد من الدوال الرياضية المفيدة.
في هذا التمرين، ستتعامل مع حسابات التوفير. كل عام، يتم تحديث رصيد حساب التوفير الخاص بك بناءً على معدل الفائدة. يعتمد معدل الفائدة الذي يمنحك إياه البنك على مقدار المال الموجود في حسابك (رصيده):
0 دولار (يصبح الرصيد أكثر سلبية).0 دولار، وأقل من 1000 دولار.1000 دولار، وأقل من 5000 دولار.5000 دولار.لديك أربع مهام، تتعامل كل منها مع رصيدك ومعدل الفائدة عليه.
نفّذ الدالة InterestRate() لحساب معدل الفائدة بناءً على الرصيد المحدد:
InterestRate(200.75)
// => 0.5
لاحظ أن القيمة التي تُرجعها هي float32.
نفّذ الدالة Interest() لحساب الفائدة بناءً على الرصيد المحدد:
Interest(200.75)
// => 1.003750
لاحظ أن القيمة التي تُرجعها هي float64.
نفّذ الدالة AnnualBalanceUpdate() لحساب التحديث السنوي للرصيد، مع مراعاة معدل الفائدة:
AnnualBalanceUpdate(200.75)
// => 201.75375
لاحظ أن القيمة التي تُرجعها هي float64.
نفّذ الدالة YearsBeforeDesiredBalance() لحساب الحد الأدنى من السنوات اللازمة للوصول إلى الرصيد المطلوب، مع مراعاة أن الفائدة تُضاف إلى الرصيد كل عام.
هذا يعني أن الرصيد بعد سنة واحدة يساوي: الرصيد الابتدائي + فائدة الرصيد الابتدائي.
والرصيد بعد السنة الثانية يساوي: الرصيد بعد سنة واحدة + فائدة الرصيد بعد سنة واحدة.
وهكذا دواليك، حتى يصبح رصيد السنة الحالية أكبر من أو يساوي الرصيد المستهدف.
balance := 200.75
targetBalance := 214.88
YearsBeforeDesiredBalance(balance, targetBalance)
// => 14
لاحظ أن القيمة التي تُرجعها هي int.
سجّل في Exercism لتتعلّم وتتقن Go عبر 34 مفهومًا166 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.