العدد ذو الفاصلة العائمة هو عدد يحتوي على صفر أو أكثر من الأرقام بعد الفاصلة العشرية. أمثلة على ذلك: -2.4، 0.1، 3.14، 16.984025 و 1024.0.
يمكن لأنواع مختلفة من الأعداد ذات الفاصلة العائمة تخزين أعداد مختلفة من الأرقام بعد الفاصلة العشرية، ويُشار إلى ذلك باسم الدقة.
تحتوي C# على ثلاثة أنواع من الأعداد ذات الفاصلة العائمة:
float: 4 بايت (دقة تبلغ نحو 6-9 أرقام). يُكتب على الصورة 2.45f.double: 8 بايت (دقة تبلغ نحو 15-17 رقمًا). هذا هو النوع الأكثر شيوعًا. يُكتب على الصورة 2.45 أو 2.45d.decimal: 16 بايت (دقة تبلغ نحو 28-29 رقمًا). يُستخدم عادةً عند التعامل مع البيانات النقدية، لأن دقته تقلل من احتمال حدوث أخطاء التقريب. يُكتب على الصورة 2.45m.كما ترى، يمكن لكل نوع تخزين عدد مختلف من الأرقام. على سبيل المثال، عند محاولة تخزين باي في float، لن يُخزَّن سوى أول 6 منازل عشرية (مع تقريب آخر رقم مخزَّن).
while
في هذا التمرين قد ترغب في استخدام حلقة. هناك عدة أساليب لكتابة الحلقات في C#، لكن حلقة while هي الأنسب هنا:
int x = 23;
while (x > 10)
{
// Execute logic if x > 10
x = x - 2;
}
do/while
إذا كان يجب تنفيذ الكود داخل الحلقة مرة واحدة على الأقل، فيمكن استخدام حلقة do/while:
int x = 23;
do
{
// Execute body, repeating only if x > 10
x = x - 2;
} while (x > 10);
في هذا التمرين ستعمل على حسابات التوفير. في كل عام، يُحدَّث رصيد حساب التوفير الخاص بك بناءً على سعر الفائدة الخاص به. ويعتمد سعر الفائدة الذي يمنحك إياه بنكك على مبلغ المال الموجود في حسابك (أي رصيده):
1000 دولار.1000 دولار وأقل من 5000 دولار.5000 دولار.لديك أربع مهام، ستتعامل كل منها مع رصيدك وسعر الفائدة الخاص به.
نفّذ الطريقة (static) SavingsAccount.InterestRate() لحساب سعر الفائدة بناءً على الرصيد المحدد:
SavingsAccount.InterestRate(balance: 200.75m)
// 0.5f
لاحظ أن القيمة التي تُرجعها من النوع float.
نفّذ الطريقة (static) SavingsAccount.Interest() لحساب الفائدة بناءً على الرصيد المحدد:
SavingsAccount.Interest(balance: 200.75m)
// 1.00375m
لاحظ أن القيمة التي تُرجعها من النوع decimal.
نفّذ الطريقة (static) SavingsAccount.AnnualBalanceUpdate() لحساب الرصيد السنوي المحدَّث، مع مراعاة سعر الفائدة:
SavingsAccount.AnnualBalanceUpdate(balance: 200.75m)
// 201.75375m
لاحظ أن القيمة التي تُرجعها من النوع decimal.
نفّذ الطريقة (static) SavingsAccount.YearsBeforeDesiredBalance() لحساب الحد الأدنى من عدد السنوات اللازمة للوصول إلى الرصيد المطلوب بالنظر إلى الفائدة المركبة سنويًا:
SavingsAccount.YearsBeforeDesiredBalance(balance: 200.75m, targetBalance: 214.88m)
// 14
لاحظ أن القيمة التي تُرجعها من النوع int.
عند تطبيق الفائدة البسيطة على رصيد أصلي، يُضرب الرصيد في سعر الفائدة، ويكون حاصل ضرب الاثنين هو مقدار الفائدة.
أما الفائدة المركبة فتُحتسب بتطبيق الفائدة بشكل متكرر. في كل مرة يُحسب مقدار الفائدة ويُضاف إلى الرصيد الأصلي، بحيث تخضع حسابات الفائدة اللاحقة لرصيد أصلي أكبر.
سجّل في Exercism لتتعلّم وتتقن C# عبر 62 مفهومًا178 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.