معامل باقي القسمة (Modulo)
جزء من قسم Fundamentals في رحلة Dart على Coddy — الدرس 18 من 94.
عامل باقي القسمة (%) يعطينا الباقي بعد عملية القسمة. دعونا نستكشف كيف يعمل من خلال بعض الأمثلة البسيطة.
عملية باقي القسمة الأساسية
void main() {
int dividend = 10;
int divisor = 3;
int remainder = dividend % divisor;
print('Remainder of $dividend ÷ $divisor = $remainder');
}الناتج: Remainder of 10 ÷ 3 = 1
عندما نقسم 10 على 3، نحصل على 3 مع باقٍ قدره 1. يقوم عامل باقي القسمة (modulo) % بالتقاط قيمة الباقي تلك.
التحقق من الأعداد الزوجية والفردية
يمكننا تحديد ما إذا كان الرقم زوجياً أم فردياً باستخدام عامل باقي القسمة (modulo):
void main() {
int number = 15;
int remainder = number % 2;
print('$number % 2 = $remainder');
// الأعداد الزوجية يكون باقي قسمتها على 2 هو 0
bool isEven = remainder == 0;
// استخدام التقييم المنطقي المباشر بدلاً من if/else
String result = isEven ? '$number is even' : '$number is odd';
print(result);
}المخرجات:
15 % 2 = 1
15 is oddالتحدي
سهلقم بإنشاء برنامج يستخدم عامل باقي القسمة (%) لحل المشكلات التالية:
- قم بتصريح متغير صحيح
totalMinutesبقيمة 197 - قم بحساب وتخزين عدد الساعات الكاملة في
totalMinutesباستخدام القسمة الصحيحة - قم بحساب وتخزين الدقائق المتبقية باستخدام عامل باقي القسمة
- اطبع الوقت بالساعات والدقائق بالتنسيق التالي تماماً:
197 minutes is 3 hours and 17 minutes.ثم:
- قم بتصريح متغير صحيح
coinsبقيمة 57 - قم بحساب وتخزين عدد العملات من فئة الربع (25 coins) التي يمكن تكوينها من
coins - قم بحساب وتخزين العملات المتبقية باستخدام عامل باقي القسمة
- اطبع النتيجة بالتنسيق التالي تماماً:
57 coins can be divided into 2 quarters and 7 remaining coins.ورقة مرجعية
عامل باقي القسمة (%) يعيد الباقي بعد القسمة:
int remainder = 10 % 3; // الباقي = 1التحقق من الأعداد الزوجية/الفردية:
int number = 15;
bool isEven = (number % 2) == 0; // false، 15 عدد فرديمثال على تحويل الوقت:
int totalMinutes = 197;
int hours = totalMinutes ~/ 60; // قسمة عدد صحيح: 3
int minutes = totalMinutes % 60; // الباقي: 17جرّب بنفسك
void main() {
// صرّح عن متغيراتك هنا
int totalMinutes = ?;
// احسب الساعات والدقائق المتبقية
int hours = totalMinutes ? 60;
int remainingMinutes = totalMinutes ? 60;
// اطبع نتيجة الوقت
print("$totalMinutes minutes is $hours hours and $remainingMinutes minutes.");
// احسب الأرباع والعملات المتبقية
int coins = ?;
int quarters = coins ~/ ?;
int remainingCoins = coins % ?;
// اطبع نتيجة العملات
print("$coins coins can be divided into $quarters quarters and $remainingCoins remaining coins.");
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
معاملات المقارنةالمعامل المنطقي ANDالمعامل المنطقي ORالمعامل المنطقي NOTمعاملات فحص النوعملخص - إجراء المقارنات7التعامل مع النصوص (Strings)
دمج النصوص (String Concatenation)تضمين النصوص (String Interpolation)النصوص متعددة الأسطر (Multi-line Strings)خصائص النصوص (String Properties)دوال النصوص الأساسية (String Methods)10المجموعات - أساسيات الخرائط
ما هي الخرائط؟إنشاء خريطةالوصول إلى القيم عبر المفتاحأزواج المفتاح والقيمةالحصول على حجم الخريطةالحصول على المفاتيحالحصول على القيمالتحقق من وجود مفتاح2المتغيرات وأنواع البيانات الأساسية
ما هي المتغيرات؟النصوص (Strings)الأعداد الصحيحة (int)الأعداد العشرية (double)القيم المنطقية (bool)استنتاج النوع باستخدام 'var'المتغيرات النهائية (Final)المتغيرات الثابتة (Constant)قواعد التسميةأساسيات الـ Null Safetyملخص - التصريح عن المتغيرات8مسار التحكم - الحلقات التكرارية
حلقة 'for' التكراريةحلقة 'while' التكراريةحلقة 'do-while' التكراريةاستخدام 'break' في الحلقات التكراريةاستخدام 'continue' في الحلقات التكراريةملخص - تكرار الكود البرمجي3المعاملات - الجزء الأول
المعاملات الحسابيةالقسمة الصحيحةمعامل باقي القسمة (Modulo)الزيادة والنقصاناختصارات التعيينملخص - الحسابات البسيطة6تدفق التحكم - اتخاذ القرار
جملة 'if'جملة 'else'جملة 'else if'ملخص - القرارات البسيطةجمل 'if' المتداخلةجملة 'switch'9المجموعات - أساسيات القوائم
ما هي القوائم؟إنشاء قائمةالوصول عبر الفهرسالحصول على طول القائمةإضافة عناصرإزالة عناصرالتحقق مما إذا كانت القائمة فارغةالتكرار عبر القائمة