Menu
Coddy logo textTech

Resumen - División segura

Parte de la sección Lógica y Flujo del Journey de Dart de Coddy. Lección 43 de 65.

challenge icon

Desafío

Fácil

Crea un programa que implemente una calculadora de división segura mediante el manejo de excepciones. Tu programa debe manejar correctamente los errores de división entre cero y proporcionar información clara a los usuarios cuando se produzcan errores.

  1. Lee una entrada de texto que represente el primer número (dividendo)
  2. Lee una entrada de texto que represente el segundo número (divisor)
  3. Crea una función llamada safeDivision que acepte dos parámetros double y devuelva un resultado double
  4. La función debe usar un bloque try-catch para manejar posibles errores de división:
    • En el bloque try: comprueba si el divisor es cero y lanza una excepción con el mensaje "Division by zero is not allowed" si es así; de lo contrario, realiza la división
    • En el bloque catch: maneja la excepción y devuelve 0.0 como valor seguro predeterminado
  5. Convierte las cadenas de entrada en valores double usando double.parse()
  6. Llama a la función safeDivision con los valores convertidos
  7. Muestra los resultados exactamente en el formato que se indica a continuación

Por ejemplo, si las entradas son "10.0" y "2.0", tu programa debería mostrar:

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

Si las entradas son "15.0" y "0.0", tu programa debería mostrar:

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

Si las entradas son "7.5" y "2.5", tu programa debería mostrar:

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

Tu programa debe implementar la función safeDivision, que utiliza un bloque try-catch para manejar la división entre cero. En el bloque try, comprueba si el divisor es igual a 0.0 y usa la palabra clave throw para activar manualmente una excepción si es así. En el bloque catch, muestra el mensaje de error y devuelve 0.0 como valor alternativo seguro. El programa principal debe llamar a esta función y mostrar mensajes de finalización diferentes según se haya producido un error o no.

Pruébalo tú mismo

import 'dart:io';

// TODO: Crea la función safeDivision aquí

void main() {
  // Leer entrada
  String? firstInput = stdin.readLineSync();
  String? secondInput = stdin.readLineSync();
  
  // Convertir cadenas a double
  double firstNumber = double.parse(firstInput!);
  double secondNumber = double.parse(secondInput!);
  
  // Mostrar encabezado
  print("Safe Division Calculator");
  print("========================");
  print("First number: $firstNumber");
  print("Second number: $secondNumber");
  print("Performing division...");
  
  // TODO: Llamar a la función safeDivision y manejar el resultado
  // Recuerda verificar si ocurrió un error para mostrar el mensaje de finalización apropiado
  
}

Todas las lecciones de Lógica y Flujo

Practica por tu cuenta: Compilador de Dart online