معامل باقي القسمة (Modulo)
جزء من قسم Fundamentals في رحلة Rust على Coddy — الدرس 16 من 75.
عامل باقي القسمة (modulo) % يعطي باقي عملية القسمة. في لغة Rust، يتم استخدامه بصيغة بسيطة:
let result = dividend % divisor;- dividend: العدد الذي يتم تقسيمه.
- divisor: العدد الذي يقسم المقسوم.
- result: باقي عملية القسمة.
على سبيل المثال:
let result = 10 % 3;هنا، يتم تقسيم 10 على 3. الرقم 3 يتكرر في 10 ثلاث مرات، مع بقاء 1. لذا، result سيكون 1.
عادةً ما يُستخدم المعامل modulo للتحقق مما إذا كان الرقم زوجيًا أم فرديًا:
- إذا كان الرقم زوجيًا، فإن قسمته على 2 ستترك باقيًا قدره 0.
- إذا كان الرقم فرديًا، فإن قسمته على 2 ستترك باقيًا قدره 1.
عند استخدام المعامل (modulo) مع الأرقام ذات الفاصلة العائمة (f64)، فإنه يعمل بشكل مشابه للأعداد الصحيحة ولكنه يحافظ على الدقة العشرية. على سبيل المثال:
let result: f64 = 5.2 % 2.0;
// result هي 1.2إليك كيف يعمل الأمر: 2.0 تتكرر في 5.2 مرتين (4.0)، والباقي هو 1.2 (5.2 - 4.0 = 1.2).
مثال آخر:
let result: f64 = 7.8 % 3.5;
// النتيجة هي 0.8التحدي
مبتدئاكتب كوداً يقوم بتهيئة ثلاثة متغيرات، a (i32) و b (f64) و c (i32) بالقيم 9 و 2.6 و 11 (على التوالي).
بعد ذلك، قم بتهيئة المتغيرات التالية:
d (i32)الذي سيحمل نتيجةamodulo2e (i32)الذي سيحمل نتيجةamodulo3f (f64)الذي سيحمل نتيجةbmodulo1.5g (f64)الذي سيحمل نتيجةbmodulo3.9h (i32)الذي سيحمل نتيجةcmodulo10
تحقق من النتيجة وشاهد كيف تؤثر القيم المختلفة للمقسوم والمقسوم عليه على النتيجة.
ورقة مرجعية
عامل باقي القسمة (modulo) % يعطي باقي عملية القسمة:
let result = dividend % divisor;مثال مع الأعداد الصحيحة:
let result = 10 % 3; // النتيجة هي 1حالة استخدام شائعة - التحقق مما إذا كان الرقم زوجيًا أم فرديًا:
- الأعداد الزوجية:
number % 2 == 0 - الأعداد الفردية:
number % 2 == 1
باقي القسمة مع أرقام الفاصلة العائمة:
let result: f64 = 5.2 % 2.0; // النتيجة هي 1.2
let result: f64 = 7.8 % 3.5; // النتيجة هي 0.8جرّب بنفسك
fn main() {
// اكتب الكود الخاص بك أدناه
// لا تغير السطر أدناه
println!("a = {}", a);
println!("b = {}", b);
println!("c = {}", c);
println!("d = {}", d);
println!("e = {}", e);
println!("f = {}", f);
println!("g = {}", g);
println!("h = {}", h);
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)اختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
الطباعة على الكونسولقراءة مدخلات المستخدممراجعة - حتى 120مراجعة - True أو False2المتغيرات - الجزء الأول
الأرقامالمحارف (Char)النصوص (String)القيم المنطقية (Boolean)المتغيرات القابلة للتغيير5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث11الدوال
تعريف الدوالالمعاملات والوسائطقيم الإرجاعقيم إرجاع متعددةمراجعة - دالة Sigmaمراجعة - دالة التحقق14التكرار عبر المصفوفات
دليل النطاق (Range)حلقة For المحسنةالاستعارة في الحلقةعمليات المصفوفات الشائعة3المتغيرات - الجزء الثاني
التصريح عن النوعقواعد التسميةاستنتاج النوعمراجعة - تهيئة المتغيراتتحويل الأنواع9الحلقات التكرارية
For عبر السلاسلحلقة Whileجملة Breakجملة Continueالحلقات المتداخلةتسميات الحلقاتالحلقة اللانهائيةمراجعة - الإدخال الديناميكي