дробь
Kiejtés
- IPA: [dropʲ]
Főnév
дробь • (drobʹ) nn
Дроби в математике и программировании (C++)
—
1. Что такое дробь в математике? 📌 Дробь – это число, которое представляет часть целого.
🔹 Виды дробей 1. Обыкновенная дробь Где: - – числитель (сколько частей взято). - – знаменатель (на сколько частей разделили).
2. Десятичная дробь ✅ Записывается через запятую (в математике) или точку (в программировании).
3. Смешанная дробь ✅ Можно записать как неправильную дробь:
—
2. Основные операции с дробями # 1️⃣ Сложение дробей 📌 Приводим к общему знаменателю и складываем числители.
2️⃣ Вычитание дробей 📌 Аналогично сложению:
3️⃣ Умножение дробей 📌 Числители умножаем на числители, знаменатели – на знаменатели.
4️⃣ Деление дробей 📌 Умножаем на обратную дробь:
—
3. Работа с дробями в C++
📌 В C++ можно работать с дробями с помощью типа double или классов.
🔹 Простой калькулятор дробей (double)
#include <iostream>
using namespace std;
int main() {
double num1, denom1, num2, denom2;
char op;
cout << "Введите первую дробь (числитель знаменатель): ";
cin >> num1 >> denom1;
cout << "Введите оператор (+, -, *, /): ";
cin >> op;
cout << "Введите вторую дробь (числитель знаменатель): ";
cin >> num2 >> denom2;
double result;
switch (op) {
case '+': result = (num1 / denom1) + (num2 / denom2); break;
case '-': result = (num1 / denom1) - (num2 / denom2); break;
case '*': result = (num1 / denom1) * (num2 / denom2); break;
case '/': result = (num1 / denom1) / (num2 / denom2); break;
default: cout << "Неверный оператор!"; return 1;
}
cout << "Результат: " << result << endl;
return 0;
}
📌 Пример работы:
Введите первую дробь (числитель знаменатель): 1 3 Введите оператор (+, -, *, /): + Введите вторую дробь (числитель знаменатель): 2 5 Результат: 0.733333
4. Класс Fraction для работы с дробями
📌 Создадим класс для дробей с сокращением и арифметическими операциями.
#include <iostream>
using namespace std;
// Функция для нахождения НОД (наибольшего общего делителя)
int gcd(int a, int b) {
return b == 0 ? a : gcd(b, a % b);
}
// Класс дроби
class Fraction {
public:
int num, denom;
// Конструктор дроби
Fraction(int n, int d) {
if (d == 0) {
cout << "Ошибка: знаменатель не может быть 0!" << endl;
exit(1);
}
int common = gcd(n, d); // Упрощаем дробь
num = n / common;
denom = d / common;
}
// Сложение
Fraction operator+(const Fraction& f) const {
return Fraction(num * f.denom + f.num * denom, denom * f.denom);
}
// Вычитание
Fraction operator-(const Fraction& f) const {
return Fraction(num * f.denom - f.num * denom, denom * f.denom);
}
// Умножение
Fraction operator*(const Fraction& f) const {
return Fraction(num * f.num, denom * f.denom);
}
// Деление
Fraction operator/(const Fraction& f) const {
return Fraction(num * f.denom, denom * f.num);
}
// Вывод дроби
void print() const {
cout << num << "/" << denom << endl;
}
};
int main() {
Fraction f1(3, 4);
Fraction f2(2, 5);
cout << "Сложение: "; (f1 + f2).print();
cout << "Вычитание: "; (f1 - f2).print();
cout << "Умножение: "; (f1 * f2).print();
cout << "Деление: "; (f1 / f2).print();
return 0;
}
📌 Вывод:
Сложение: 23/20 Вычитание: 7/20 Умножение: 6/20 Деление: 15/8
🔹 Как работает код?
- НОД (GCD) используется для сокращения дроби.
- Операции +, -, *, / перегружены.
- Объекты Fraction можно складывать, вычитать, умножать и делить.
5. Где используются дроби?
✅ Математика (арифметика, алгебра, уравнения).
✅ Физика (ускорение, плотность, сопротивление).
✅ Компьютерная графика (соотношение сторон, координаты).
✅ Финансы (проценты, кредиты, инвестиции).
6. Вывод
🔹 Дробь – это часть целого, записанная в виде числитель/знаменатель.
🔹 В C++ можно использовать double, но класс Fraction позволяет работать с точными дробями.
🔹 Дроби используются в математике, физике, программировании и финансовых расчётах 🚀.