public class TorqueConverter
public static double CalculateEngineLoad(
throw new ArgumentException("Передаточное число должно быть положительным");
if (efficiency < 0 || efficiency > 1)
throw new ArgumentException("КПД должен быть в диапазоне 0.0–1.0");
return (wheelTorque * efficiency) / totalGearRatio;
public static double CalculateWheelTorque(
throw new ArgumentException("Радиус колеса должен быть положительным");
return resistanceForce * wheelRadius;
public static void Main()
double finalDriveRatio = 3;
double wheelTorque = CalculateWheelTorque(force, radius);
Console.WriteLine($"Момент на колесе: {wheelTorque:F0} Н·м");
double totalGearRatio = gearboxRatio * finalDriveRatio;
double engineLoad = CalculateEngineLoad(wheelTorque, totalGearRatio, efficiency);
Console.WriteLine($"Нагрузка на двигатель: {engineLoad:F0} Н·м");
Console.WriteLine($"Ошибка: {ex.Message}");