Menu
Coddy logo textTech

Riepilogo - Divisione sicura

Fa parte della sezione Logica e flusso del percorso Dart di Coddy. Lezione 43 di 65.

challenge icon

Sfida

Facile

Crea un programma che implementi una calcolatrice per divisioni sicure usando la gestione delle eccezioni. Il programma dovrebbe gestire in modo appropriato gli errori di divisione per zero e fornire agli utenti indicazioni chiare quando si verificano errori.

  1. Leggi una stringa di input che rappresenta il primo numero (dividendo)
  2. Leggi una stringa di input che rappresenta il secondo numero (divisore)
  3. Crea una funzione chiamata safeDivision che accetta due parametri double e restituisce un risultato double
  4. La funzione dovrebbe usare un blocco try-catch per gestire potenziali errori di divisione:
    • Nel blocco try: controlla se il divisore è zero e, in caso affermativo, genera un'eccezione con il messaggio "Division by zero is not allowed"; altrimenti esegui la divisione
    • Nel blocco catch: gestisci l'eccezione e restituisci 0.0 come valore predefinito sicuro
  5. Converti le stringhe di input in valori double usando double.parse()
  6. Chiama la funzione safeDivision con i valori convertiti
  7. Visualizza i risultati esattamente nel formato mostrato qui sotto

Ad esempio, se gli input sono "10.0" e "2.0", il programma dovrebbe produrre:

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

Se gli input sono "15.0" e "0.0", il programma dovrebbe produrre:

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

Se gli input sono "7.5" e "2.5", il programma dovrebbe produrre:

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

Il programma deve implementare la funzione safeDivision, che usa un blocco try-catch per gestire la divisione per zero. Nel blocco try, controlla se il divisore è uguale a 0.0 e usa la parola chiave throw per generare manualmente un'eccezione in caso affermativo. Nel blocco catch, stampa il messaggio di errore e restituisci 0.0 come valore di ripiego sicuro. Il programma principale dovrebbe chiamare questa funzione e visualizzare messaggi di completamento diversi a seconda che si sia verificato un errore.

Provalo tu

import 'dart:io';

// TODO: Crea qui la funzione safeDivision

void main() {
  // Leggi l'input
  String? firstInput = stdin.readLineSync();
  String? secondInput = stdin.readLineSync();
  
  // Converti le stringhe in double
  double firstNumber = double.parse(firstInput!);
  double secondNumber = double.parse(secondInput!);
  
  // Visualizza l'intestazione
  print("Safe Division Calculator");
  print("========================");
  print("First number: $firstNumber");
  print("Second number: $secondNumber");
  print("Performing division...");
  
  // TODO: Chiama la funzione safeDivision e gestisci il risultato
  // Ricorda di controllare se si è verificato un errore per visualizzare il messaggio di completamento appropriato
  
}

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Dart online