Menu
Coddy logo textTech

Recapitulação - Divisão Segura

Parte da seção Lógica & Fluxo do Journey de Dart da Coddy. Lição 43 de 65.

challenge icon

Desafio

Fácil

Crie um programa que implemente uma calculadora de divisão segura usando tratamento de exceções. Seu programa deve lidar com erros de divisão por zero de maneira adequada e fornecer um feedback claro aos usuários quando ocorrerem erros.

  1. Leia uma entrada de string que represente o primeiro número (dividendo)
  2. Leia uma entrada de string que represente o segundo número (divisor)
  3. Crie uma função chamada safeDivision que receba dois parâmetros double e retorne um resultado double
  4. A função deve usar um bloco try-catch para lidar com possíveis erros de divisão:
    • No bloco try: verifique se o divisor é zero e lance uma exceção com a mensagem "Division by zero is not allowed" se for, caso contrário, realize a divisão
    • No bloco catch: trate a exceção e retorne 0.0 como um valor padrão seguro
  5. Converta as strings de entrada em valores double usando double.parse()
  6. Chame a função safeDivision com os valores convertidos
  7. Exiba os resultados no formato exato mostrado abaixo

Por exemplo, se as entradas forem "10.0" e "2.0", seu programa deverá produzir:

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

Se as entradas forem "15.0" e "0.0", seu programa deverá produzir:

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 as entradas forem "7.5" e "2.5", seu programa deverá produzir:

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

Seu programa deve implementar a função safeDivision, que usa um bloco try-catch para lidar com a divisão por zero. No bloco try, verifique se o divisor é igual a 0.0 e use a palavra-chave throw para disparar manualmente uma exceção se for. No bloco catch, imprima a mensagem de erro e retorne 0.0 como um valor substituto seguro. O programa principal deve chamar essa função e exibir mensagens de conclusão diferentes com base na ocorrência ou não de um erro.

Experimente você mesmo

import 'dart:io';

// TODO: Crie a função safeDivision aqui

void main() {
  // Ler entrada
  String? firstInput = stdin.readLineSync();
  String? secondInput = stdin.readLineSync();
  
  // Converter strings para double
  double firstNumber = double.parse(firstInput!);
  double secondNumber = double.parse(secondInput!);
  
  // Exibir cabeçalho
  print("Safe Division Calculator");
  print("========================");
  print("First number: $firstNumber");
  print("Second number: $secondNumber");
  print("Performing division...");
  
  // TODO: Chamar a função safeDivision e tratar o resultado
  // Lembre-se de verificar se ocorreu um erro para exibir a mensagem de conclusão apropriada
  
}

Todas as lições de Lógica & Fluxo

Pratique por conta própria: Compilador de Dart online