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 и обработайте результат
  // Не забудьте проверить, не возникла ли ошибка, чтобы вывести соответствующее сообщение о завершении
  
}

Все уроки раздела Логика и управление потоком