Menu
Coddy logo textTech

Podsumowanie – bezpieczne dzielenie

Część sekcji Logika i przepływ sterowania ścieżki Dart w Coddy. Lekcja 43 z 65.

challenge icon

Wyzwanie

Łatwy

Utwórz program, który implementuje kalkulator bezpiecznego dzielenia z użyciem obsługi wyjątków. Program powinien łagodnie obsługiwać błędy dzielenia przez zero i przekazywać użytkownikom jasne informacje, gdy wystąpią błędy.

  1. Odczytaj dane wejściowe w postaci ciągu znaków reprezentującego pierwszą liczbę (dzielną)
  2. Odczytaj dane wejściowe w postaci ciągu znaków reprezentującego drugą liczbę (dzielnik)
  3. Utwórz funkcję o nazwie safeDivision, która przyjmuje dwa parametry typu double i zwraca wynik typu double
  4. Funkcja powinna używać bloku try-catch do obsługi potencjalnych błędów dzielenia:
    • W bloku try: Sprawdź, czy dzielnik wynosi zero, i jeśli tak, rzuć wyjątek z komunikatem "Division by zero is not allowed"; w przeciwnym razie wykonaj dzielenie
    • W bloku catch: Obsłuż wyjątek i zwróć 0.0 jako bezpieczną wartość domyślną
  5. Przekonwertuj wejściowe ciągi znaków na wartości typu double za pomocą double.parse()
  6. Wywołaj funkcję safeDivision z przekonwertowanymi wartościami
  7. Wyświetl wyniki dokładnie w formacie pokazanym poniżej

Na przykład, jeśli dane wejściowe to "10.0" i "2.0", program powinien wyświetlić:

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

Jeśli dane wejściowe to "15.0" i "0.0", program powinien wyświetlić:

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

Jeśli dane wejściowe to "7.5" i "2.5", program powinien wyświetlić:

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

Program musi implementować funkcję safeDivision, która używa bloku try-catch do obsługi dzielenia przez zero. W bloku try sprawdź, czy dzielnik jest równy 0.0, i użyj słowa kluczowego throw, aby ręcznie wywołać wyjątek, jeśli tak jest. W bloku catch wyświetl komunikat o błędzie i zwróć 0.0 jako bezpieczną wartość zastępczą. Program główny powinien wywołać tę funkcję i wyświetlić różne komunikaty o zakończeniu, zależnie od tego, czy wystąpił błąd.

Spróbuj swoich sił

import 'dart:io';

// TODO: Utwórz tutaj funkcję safeDivision

void main() {
  // Odczytaj dane wejściowe
  String? firstInput = stdin.readLineSync();
  String? secondInput = stdin.readLineSync();
  
  // Przekonwertuj ciągi znaków na typ double
  double firstNumber = double.parse(firstInput!);
  double secondNumber = double.parse(secondInput!);
  
  // Wyświetl nagłówek
  print("Safe Division Calculator");
  print("========================");
  print("First number: $firstNumber");
  print("Second number: $secondNumber");
  print("Performing division...");
  
  // TODO: Wywołaj funkcję safeDivision i obsłuż wynik
  // Pamiętaj, aby sprawdzić, czy wystąpił błąd, i wyświetlić odpowiedni komunikat o zakończeniu
  
}

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator Dart online