Menu
Coddy logo textTech

סיכום – חלוקה בטוחה

חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-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 וטפלו בתוצאה
  // זכרו לבדוק אם אירעה שגיאה כדי להציג את הודעת הסיום המתאימה
  
}

כל השיעורים ביחידה לוגיקה וזרימת התוכנית

תרגלו בעצמכם: קומפיילר Dart אונליין