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

ملخص - القسمة الآمنة

جزء من قسم Logic & Flow في رحلة Dart على Coddy — الدرس 43 من 65.

challenge icon

التحدي

سهل

أنشئ برنامجًا ينفذ آلة حاسبة للقسمة الآمنة باستخدام معالجة الاستثناءات. يجب أن يتعامل برنامجك مع أخطاء القسمة على صفر بسلاسة ويوفر ملاحظات واضحة للمستخدمين عند حدوث أخطاء.

  1. اقرأ مدخلاً نصياً يمثل الرقم الأول (المقسوم)
  2. اقرأ مدخلاً نصياً يمثل الرقم الثاني (المقسوم عليه)
  3. أنشئ دالة تسمى safeDivision تأخذ معاملين من نوع double وترجع نتيجة من نوع double
  4. يجب أن تستخدم الدالة كتلة try-catch لمعالجة أخطاء القسمة المحتملة:
    • في كتلة try: تحقق مما إذا كان المقسوم عليه صفراً وقم برمي استثناء بالرسالة "Division by zero is not allowed" إذا كان ذلك صحيحاً، وإلا فقم بإجراء عملية القسمة
    • في كتلة catch: قم بمعالجة الاستثناء وأرجع 0.0 كقيمة افتراضية آمنة
  5. قم بتحويل النصوص المدخلة إلى قيم double باستخدام double.parse()
  6. استدعِ الدالة safeDivision بالقيم المحولة
  7. اعرض النتائج بالتنسيق الدقيق الموضح أدناه

على سبيل المثال، إذا كانت المدخلات "10.0" و "2.0"، يجب أن يخرج برنامجك:

Safe Division Calculator
========================
First number: 10.0
Second number: 2.0
Performing division...
Result: 5.0
Operation completed successfully

إذا كانت المدخلات "15.0" و "0.0"، يجب أن يخرج برنامجك:

Safe Division Calculator
========================
First number: 15.0
Second number: 0.0
Performing division...
Error: Division by zero is not allowed
Using safe default value: 0.0
Operation completed with error handling

إذا كانت المدخلات "7.5" و "2.5"، يجب أن يخرج برنامجك:

Safe Division Calculator
========================
First number: 7.5
Second number: 2.5
Performing division...
Result: 3.0
Operation completed successfully

يجب أن ينفذ برنامجك الدالة safeDivision التي تستخدم كتلة try-catch لمعالجة القسمة على صفر. في كتلة try، تحقق مما إذا كان المقسوم عليه يساوي 0.0 واستخدم الكلمة المفتاحية throw لإطلاق استثناء يدوياً إذا كان ذلك صحيحاً. في كتلة catch، اطبع رسالة الخطأ وأرجع 0.0 كقيمة احتياطية آمنة. يجب أن يستدعي البرنامج الرئيسي هذه الدالة ويعرض رسائل إكمال مختلفة بناءً على ما إذا كان قد حدث خطأ أم لا.

جرّب بنفسك

import 'dart:io';

// TODO: قم بإنشاء دالة safeDivision هنا

void main() {
  // قراءة المدخلات
  String? firstInput = stdin.readLineSync();
  String? secondInput = stdin.readLineSync();
  
  // تحويل النصوص إلى أرقام عشرية (double)
  double firstNumber = double.parse(firstInput!);
  double secondNumber = double.parse(secondInput!);
  
  // عرض الترويسة
  print("Safe Division Calculator");
  print("========================");
  print("First number: $firstNumber");
  print("Second number: $secondNumber");
  print("Performing division...");
  
  // TODO: قم باستدعاء دالة safeDivision والتعامل مع النتيجة
  // تذكر التحقق مما إذا كان هناك خطأ قد حدث لعرض رسالة الإكمال المناسبة
  
}

جميع دروس Logic & Flow