
СЛОЖНОЕ ЗАДАНИЕ! ДАЮ 60 БАЛЛОВ!! С++ Грузовой самолет летит из пункта A в пункт C через пункт B.
Емкость бака для топлива у самолета 360 000 литров. Потребление топлива на 1 км в зависимости от веса груза у самолета следующее: до 50 000 кг: 13.53 литров от 50 000 до 100 000 кг: 15.29 литров от 100 000 до 200 000 кг: 17.06 литров от 200 000 до 250 000 кг: 18.71 литров Пользователь вашей программы вводит такие данные, как расстояние от пункта A до пункта B и от пункта B до пункта C, вес груза в пункте A, погрузка/разгрузка в пункте B (если пользователь вашей программы введет, например: -26 000, то значит в пункте B была разгрузка и дальше от пункта B до пункта C грузовой самолет летел с меньшим весом груза и, соответственно, он сжигал меньше топлива на 1 км оставшегося пути). Также пользователь вводит на сколько % были заполнены баки грузового самолета в пункте A. Ваша программа должна рассчитать минимальное кол-во литров топлива на которое должны дозаправить самолет в пункте B, чтобы он успешно долетел до конечного пункта C его маршрута. Если пользователь введет некорректные данные, то вывести сообщение в консоль "Вы ввели некорректные данные. Полет самолета по заданному маршруту не возможен!!!" Входные данные: В пункте A баки самолета заполнили на (%): 65 Расстояние от пункта A до пункта B (км): 9800 Вес груза в точке A (кг): 125 000 Погрузка/Разгрузка в точке B: -26 000 Расстояние от пункта B в пункт C (км): 7200 Выходные данные: В пункте B самолет необходимо дозаправить на минимум (л): 43 276 Если можно, то скиньте файл с кодом, заранее спасибо!)

Ответы на вопрос

Ответ + объяснение: ( отдельно код не вместился :( - больше 5.000 символов Знания не пропускают )
#include <iostream> // Библиотека ввода - вывода
using namespace std; // Пространство имен
double fuel_consumption(int weight) // Функция fuel_consumption для вычисления потребления топлива с аргументом weight, который содержит в себе вес груза
{
double fuel_consumption = 0; // Создание вещественной переменной fuel_consumption для хранения потребления топлива на 1 км
if (weight <= 50000) fuel_consumption = 13.53; // Если вес < или = 50.000, тогда потребление топлива на 1 км = 13.53
else if (weight > 50000 && weight <= 100000) fuel_consumption = 15.29; // Иначе, если вес > 50.000 И вес < или = 100.000, тогда потребление топлива на 1 км = 15.29
else if (weight > 100000 && weight <= 200000) fuel_consumption = 17.06; // Иначе, если вес > 100.000 И вес < или = 200.000, тогда потребление топлива на 1 км = 17.06
else if (weight > 200000 && weight <= 250000) fuel_consumption = 18.71; // Иначе, если вес > 200.000 И вес < или = 250.000, тогда потребление топлива на 1 км = 18.71
return fuel_consumption; // Возвращаем значение переменной fuel_consumption
}
int main()
{
int percent; // Создание целочисленной переменной, хранящей заполненность бака в %
double fuel_cons; // Создание вещественной переменной для хранения потребления топлива на 1 км (хранение результата функции fuel_consumption)
double fuel = 360000; // Создание вещественной переменной, хранящей текущее количество топлива.
cout << "Баки самолета заполнены на (%): "; // Вывод сообщения в консоль
cin >> percent; // Ввод значения переменной percent с клавиатуры
fuel = fuel / 100 * percent; // Вычисление количества бензина в баке по формуле: количество бензина = бензин ÷ 100 · 65 (процентов)
int distance_a_b, weight_a; // Создание целочисленных переменных:
- distance_a_b - расстояние из пункта А в пункт В
- weight_a - вес груза в пункте А
cout << "Расстояние от пункта A до пункта B (км): "; // Вывод сообщения в консоль
cin >> distance_a_b; // Ввод с клавиатуры расстояния из пункта А в пункт В
cout << "Вес груза в точке A(кг): "; // Вывод сообщения в консоль
cin >> weight_a; // Ввод с клавиатуры веса груза в пункте А
fuel_cons = fuel_consumption(weight_a); // Переменной fuel_cons присваиваем возвращаемое значение из функции fuel_consumption (расход топлива на 1 км)
if (fuel_cons * distance_a_b > fuel) // Проверка на некорректные данные:
Если расход топлива на 1 км * дистанция из пункта А в пункт Б > значения переменной, хранящей текущее количества топлива
{
cout << "Вы ввели некорректные данные. Полет самолета по заданному маршруту не возможен!!!"; // Вывод сообщения в консоль
return 1; // Конец программы с кодом ошибки
}
else // Иначе
{
fuel -= fuel_cons * distance_a_b; // Емкость бака = емкость бака - расход топлива на 1 км * расстояние из пункта А в пункт В (узнаем количеств оставшегося топлива)
}
int distance_b_c, weight_b; // Создание целочисленных переменных:
- distance_b_c - расстояние из пункта В в пункт С
- weight_b - вес груза в пункте В
cout << "Погрузка/Разгрузка в точке B: "; // Вывод сообщения в консоль
cin >> weight_b; // Ввод с клавиатуры веса груза в пункте В
weight_a += weight_b; // Выясняем, на сколько был дозагружен/разгружен самолет в пункте В (Вес в пункте А + Вес в пункте В)
fuel_cons = fuel_consumption(weight_a); // Переменной fuel_cons присваиваем возвращаемое значение из функции fuel_consumption (расход топлива на 1 км)
cout << "Расстояние от пункта B в пункт C (км): "; // Вывод сообщения в консоль
cin >> distance_b_c; // Ввод с клавиатуры расстояния из пункта В в пункт С
fuel = (distance_b_c * fuel_cons - fuel); // Выясняем, на сколько необходимо дозаправить самолет, чтобы долететь до пункта С (Емкость бака = расстояние из пункта В в пункт С * расход на 1 км - емкость бака)
cout << "В пункте B самолет необходимо дозаправить на минимум (л): "; // Вывод сообщения в консоль
cout << fuel; // Вывод значения переменной fuel
}




Конечно, я могу предоставить вам код на C++, который решает данную задачу. Ниже приведен код для вашей задачи:
cpp#include <iostream>
#include <cmath>
int main() {
double tankCapacity = 360000; // Ёмкость бака для топлива (в литрах)
double fuelConsumption[4] = {13.53, 15.29, 17.06, 18.71}; // Потребление топлива на 1 км в зависимости от веса груза (литры/км)
double distanceAB, distanceBC; // Расстояния между пунктами (в км)
double weightA, weightChangeB, weightB, weightC; // Вес груза в пунктах A, B и C (в кг)
int tankFillPercentage; // Процент заполнения бака в пункте A (%)
// Ввод данных
std::cout << "Введите процент заполнения бака в пункте A: ";
std::cin >> tankFillPercentage;
std::cout << "Введите расстояние от пункта A до пункта B (км): ";
std::cin >> distanceAB;
std::cout << "Введите вес груза в пункте A (кг): ";
std::cin >> weightA;
std::cout << "Введите погрузку/разгрузку в пункте B (кг): ";
std::cin >> weightChangeB;
std::cout << "Введите расстояние от пункта B до пункта C (км): ";
std::cin >> distanceBC;
// Вычисление веса груза в пункте B и C
weightB = weightA + weightChangeB;
weightC = weightB - weightChangeB;
// Вычисление потребления топлива на 1 км в зависимости от веса груза в пункте B
double consumptionB;
if (weightB < 50000) {
consumptionB = fuelConsumption[0];
} else if (weightB < 100000) {
consumptionB = fuelConsumption[1];
} else if (weightB < 200000) {
consumptionB = fuelConsumption[2];
} else if (weightB < 250000) {
consumptionB = fuelConsumption[3];
} else {
std::cout << "Вы ввели некорректные данные. Полет самолета по заданному маршруту не возможен!!!" << std::endl;
return 1;
}
// Вычисление объема топлива, которое нужно дозаправить в пункте B
double fuelNeededB = (distanceAB * consumptionB) + (distanceBC * fuelConsumption[0]);
// Вычисление объема топлива в баке в пункте A
double tankFillLiters = (tankCapacity * tankFillPercentage) / 100;
// Вычисление необходимого количества топлива для дозаправки в пункте B
double fuelToRefuel = fuelNeededB - tankFillLiters;
// Вывод результата
if (fuelToRefuel < 0) {
std::cout << "В пункте B дозаправка не требуется." << std::endl;
} else {
std::cout << "В пункте B самолет необходимо дозаправить на минимум (л): " << fuelToRefuel << std::endl;
}
return 0;
}
Скопируйте этот код в файл с расширением .cpp
, скомпилируйте его с помощью компилятора C++ (например, g++) и запустите полученный исполняемый файл. Код выполняет необходимые вычисления и выводит минимальное количество топлива, которое нужно дозаправить в пункте B, чтобы самолет успешно долетел до пункта C.


Похожие вопросы







Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili