Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

معامل باقي القسمة (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
challenge icon

التحدي

سهل

قم بإنشاء برنامج يستخدم عامل باقي القسمة (%) لحل المشكلات التالية:

  1. قم بتصريح متغير صحيح totalMinutes بقيمة 197
  2. قم بحساب وتخزين عدد الساعات الكاملة في totalMinutes باستخدام القسمة الصحيحة
  3. قم بحساب وتخزين الدقائق المتبقية باستخدام عامل باقي القسمة
  4. اطبع الوقت بالساعات والدقائق بالتنسيق التالي تماماً:
197 minutes is 3 hours and 17 minutes.

ثم:

  1. قم بتصريح متغير صحيح coins بقيمة 57
  2. قم بحساب وتخزين عدد العملات من فئة الربع (25 coins) التي يمكن تكوينها من coins
  3. قم بحساب وتخزين العملات المتبقية باستخدام عامل باقي القسمة
  4. اطبع النتيجة بالتنسيق التالي تماماً:
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.");
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals