Загрузка данных


Вот простой пример кода на C++, который выполняет вычисления по формуле  y = (2 sin(X) + 3 cos(Y)) / (X² - Y²)  с обработкой исключений. Мы будем использовать стандартные исключения для обработки деления на ноль и других ошибок.

#include <iostream>
#include <cmath>
#include <stdexcept>

double calculateY(double X, double Y) {
    // Проверка на деление на ноль
    double denominator = X * X - Y * Y;
    if (denominator == 0) {
        throw std::runtime_error("Ошибка: Деление на ноль.");
    }
    
    // Вычисление по формуле
    return (2 * sin(X) + 3 * cos(Y)) / denominator;
}

int main() {
    double X, Y;

    std::cout << "Введите значение X: ";
    std::cin >> X;
    std::cout << "Введите значение Y: ";
    std::cin >> Y;

    try {
        double result = calculateY(X, Y);
        std::cout << "Результат y = " << result << std::endl;
    } catch (const std::runtime_error& e) {
        std::cout << e.what() << std::endl; // Вывод сообщения об ошибке
    }

    return 0;
}


▎Объяснение кода:

1. Функция calculateY:
   – Принимает два аргумента X и Y.
   – Вычисляет знаменатель  X² - Y²  и проверяет, равен ли он нулю. Если равен, выбрасывает исключение std::runtime_error.
   – Если деление возможно, вычисляет и возвращает значение  y  по заданной формуле.

2. Функция main:
   – Запрашивает у пользователя ввод значений X и Y.
   – В блоке try вызывает функцию calculateY.
   – Если возникает исключение, оно перехватывается в блоке catch, и выводится соответствующее сообщение об ошибке.

Этот код прост и понятен, а также эффективно обрабатывает возможные ошибки при вычислении.