Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/163: Рейтинг темы: голосов - 163, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 27.12.2016
Сообщений: 1

Рассчитать какое минимальное количество топлива необходимо для дозаправки самолету

27.12.2016, 19:13. Показов 32206. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Используйте пожалуйста только if и switch если это реально..
Задание 1: Грузовой самолет должен пролететь с грузом из пункта А в пункт С через пункт В.
Емкость бака для топлива у самолета – 300 литров. Потребление топлива на 1 км в зависимости
от веса груза у самолета следующее:
- до 500 кг: 1 литров / км
- до 1000 кг: 4 литров / км
- до 1500 кг: 7 литров / км
- до 2000 кг: 9 литров / км.
- более 2000 кг – самолет не поднимает.
Пользователь вводит расстояние между пунктами А и В, и расстояние между пунктами В и С, а
также вес груза. Программа должна рассчитать какое минимальное количество топлива
необходимо для дозаправки самолету в пункте В, чтобы долететь из пункта А в пункт С. В
случае невозможности преодолеть любое из расстояний – программа должна вывести
сообщение о невозможности полета по введенному маршруту.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.12.2016, 19:13
Ответы с готовыми решениями:

Минимальное количество топлива, необходимое для дозаправки самолету в пункте В, чтобы долететь из пункта А в пункт С
Вот сама задача... Грузовой самолет должен пролететь с грузом из пункта А в пункт С через пункт В. Емкость бака для топлива у самолета –...

Рассчитать, какое минимальное количество топлива необходимо для дозаправки самолету
Используйте пожалуйста только if и Else Задание 1: Грузовой самолет должен пролететь с грузом из пункта А в пункт С через пункт В. ...

Какое количество топлива необходимо для спуска с высоты A до высоты B
Имя входного файла | input.txt ...

8
1 / 1 / 0
Регистрация: 26.05.2017
Сообщений: 1
26.05.2017, 11:12
мой вариант решения.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream> 
using namespace std;                
void main() {
    setlocale(LC_ALL, "Russian"); // использование русского языка 
    //1 act________________________________________________________________________________________________________________________________________________
    float weight, ras, Smax=0, S1, S2;  //объявляю флотовые переменные weight - вес груза (кг), ras - расход топлива(л/км), Smax - максимально расстояние полета (км)
    float const max_capacity = 300;    //S1 - растояние от A до B (км), S2 - растояние от B до C (км) и переменная константа max_capacity - это объём топливного бака (л)
    //2 act_____________________________________________________________________________________________________________________________________________
    cout << "\t\tВведите вес пересылаемого груза (кг.) :\n\n";
    cin >> weight;                                                                                       //В этом акте запрашиваем вес груза у пользователя и  
        if (weight > 2000) { cout << "\n\n\n\t\tПревышен максимальный порог веса!\n\n\n"; return; }     //вычесляем максимальное расстояние полёта при
        if (weight >= 0 && weight <= 500) { ras = 1; Smax = max_capacity / ras; }                      //полном баке (300 литров) в рамках указанного веса груза (кг).
        if (weight >= 501 && weight <= 1000) { ras = 4; Smax = max_capacity / ras; }                  //
        if (weight >= 1001 && weight <= 1500) { ras = 7; Smax = max_capacity / ras; }                //Если вес превышает допустимые 2т, отказываем.
        if (weight >= 1501 && weight <= 2000) { ras = 9; Smax = max_capacity / ras; }
    //3 act_________________________________________________________________________________________________________________________________________________    
        cout << "\n\n\tВведите расстояние от (A) до (B) (км.) :\n\n";                                                   //В этом акте запрашиваем растояние от A до B (км). 
        cin >> S1;                                                                                                     //
        if (Smax <= S1) { cout << "\n\n\n\tПолёт невозможен! Топлива не хватит до точки (B)!\n\n\n"; return; }        //проверяем достаточно ли топлива.
        if (Smax > S1) { S1 = Smax - S1; }                                                                           //вычесляем на какое растояние хватит топлива до точки С.
    //4 act____________________________________________________________________________________________________________________________________________
        cout << "\n\n\tВведите расстояние от (B) до (C) (км.) :\n\n";                                                   //В этом акте запрашиваем растояние от В до С (км).
        cin >> S2;                                                                                                     //
        if (Smax <= S2) { cout << "\n\n\n\tПолёт невозможен! Топлива не хватит до точки (C)!\n\n\n"; return; }        //проверяем достаточно ли топлива, если достаточно сообщаем
        if (Smax > S2) {                                                                                             //пользователю, если нет возможности долететь - сообщаем   
            S2 = (S2 - S1) * ras; {                                                                                 //пользователю, если есть - сообщаем ск-ко дозаправить  
                if (S2 < 0) { cout << "\n\nНет необходимости доливать топливо, в баке достаточно топлива.\n\n\n\n\n"; return; }}
        cout << "\n\nВ точке (B) необходимо долить " << S2 << " литров топлива для полёта до точки (C).\n\n\n";
        }
}
1
0 / 0 / 0
Регистрация: 15.06.2018
Сообщений: 5
16.06.2018, 16:40
Это мой вариант решения, только if и else.
Прокомментируйте если не сложно.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#include <iostream>
#include <cmath>
 
 
 
using namespace std;
 
void main()
{
    int rec = 0, l1 = 0, l2 = 0, mass = 0;
    const int fulltank = 300;
 
    cout << "Enter mass of Load:";          //Введите массу нагрузки:
    cin >> mass;
    cout << endl;
 
    if (mass > 2000) {
        cout << "Maximum load, aircraft will not take off.\n";      //Максимальная нагрузка, самолет не будет взлетать.
        return;
    }
    else if (mass <= 0) {
        cout << "No cargo.\n";                  //Нет груза.
        return; 
 
    }
    cout << "Enter the distance from point A to point B: ";         //Введите расстояние от точки A до точки B:
    cin >> l1;
    cout << endl;
 
    if (mass > 0 && mass <= 500) {
        rec = 1;                            //rec Fuel consumption per 100 km., for a given weight.
        int l3 = fulltank / rec;
        if (l3 < l1) {
            cout << "Fuel is not enough to fly to point B.\n";      //Топлива недостаточно, чтобы летать до точки B.
            int x = l1 - l3;
            cout << "You need " << x << " a liter of fuel to get to point B.\n";    //Вам нужно << x << литр топлива, чтобы добраться до точки B.
        }
        else if (l3 >= l1) {
            cout << "Enter the distance from point B to point C: ";         //Введите расстояние от точки B до точки C :
            cin >> l2;
            cout << endl;
            int x = fulltank - (l3 - l2);
            cout << "You need " << x << " a liter of fuel to get to point C.\n";        //Вам нужно << x << литр топлива, чтобы добраться до точки C.
            if (l3 < l2) {
                cout << "Fuel is not enough to fly to point C.\n";  //Топлива недостаточно, чтобы летать до точки C.
            }
            else {
                cout << "You can fly to the point C.\n";        //Вы можете летать до точки C.
            }
        }
 
 
    }
    else if (mass > 501 && mass <= 1000) {
        rec = 4;            //rec Fuel consumption per 100 km., for a given weight.
        int l3 = fulltank / rec;
        if (l3 <= l1) {
            cout << "Fuel is not enough to fly to point B.\n";
            int x = l1 - l3;
            cout << "You need " << x << " a liter of fuel to get to point B.\n";
        }
        else if (l3 >= l1) {
            cout << "Enter the distance from point B to point C: ";
            cin >> l2;
            cout << endl;
            float x = fulltank - (l3 - l2);
            cout << "You need " << x << " a liter of fuel to get to point C.\n";
            if (l3 < l2) {
                cout << "Fuel is not enough to fly to point C.\n";
            }
            else {
                cout << "You can fly to the point C.\n";
            }
        }
    }
    else if (mass > 1001 && mass <= 1500) {
        rec = 7;                //rec Fuel consumption per 100 km., for a given weight.
        int l3 = fulltank / rec;
        if (l3 <= l1) {
            cout << "Fuel is not enough to fly to point B.\n";
            int x = l1 - l3;
            cout << "You need " << x << " a liter of fuel to get to point B.\n";
        }
        else if (l3 >= l1) {
            cout << "Enter the distance from point B to point C: ";
            cin >> l2;
            cout << endl;
            float x = fulltank - (l3 - l2);
            cout << "You need " << x << " a liter of fuel to get to point C.\n";
            if (l3 < l2) {
                cout << "Fuel is not enough to fly to point C.\n";
            }
            else {
                cout << "You can fly to the point C.\n";
            }
        }
    }
    else if (mass > 1501 && mass <= 2000) {
        rec = 9;            //rec Fuel consumption per 100 km., for a given weight.
        int l3 = fulltank / rec;
        if (l3 <= l1) {
            cout << "Fuel is not enough to fly to point B.\n";
            int x = l1 - l3;
            cout << "You need " << x << " a liter of fuel to get to point B.\n";
        }
        else if (l3 >= l1) {
            cout << "Enter the distance from point B to point C: ";
            cin >> l2;
            cout << endl;
            float x = fulltank - (l3 - l2);
            cout << "You need " << x << " a liter of fuel to get to point C.\n";
            if (l3 < l2) {
                cout << "Fuel is not enough to fly to point C.\n";
            }
            else {
                cout << "You can fly to the point C.\n";
            }
        }
    }
 
}
0
82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
16.06.2018, 18:05
REpLika20, скорее всего, задания тебе дали что бы найти алгоритм решение, а не просто записать все возможные варианты, а если бы было не 4 разных весовых категорий, а к примеру 50, тогда уже так не обойтись
0
0 / 0 / 0
Регистрация: 15.06.2018
Сообщений: 5
16.06.2018, 20:29
То есть оно должно программа должна иметь вид как Laty_gr09, это более верно будет. Я понимаю что может быть больше весовых категорий, то есть мне нужно сделать так что бы таких строк : if (weight >= 0 && weight <= 500) { ras = 1; Smax = max_capacity / ras; }, было пять десят к примеру, а дальше было краткое как указано выше?

Добавлено через 1 час 1 минуту
k0vpack, спасибо за то что указал на ошибку, путаюсь с областями определения у if, теперь вижу что мой вариант хоть и рабочий но вообще не годный.
0
82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
16.06.2018, 20:47
REpLika20, с опытом придет все, главное логику подключать и немного математики
0
0 / 0 / 0
Регистрация: 15.06.2018
Сообщений: 5
16.06.2018, 21:44
k0vpack, Скажи пожалуйста логику ведь нужно тренировать такими задачами, а то и сложнее?. Бывает легко и просто делаю ну более простые задачи, а бывает просто утыкаюсь и не могу переключиться как по другому сделать, если больше буду решать примеров и задач легче будет я так понимаю.
0
82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
16.06.2018, 21:56
REpLika20, я не о такой логике говорил, если ты собираешься работать программистом, то тебе нужно быстро решать задачу не в плане оформления кода, а что бы придумать что и зачем должно идти, а научить компютер решать такую задачу это уже другое дело.

Как я развивал свою логику в сфере программирования, я просто брал простую задачу из жизни которую могу решить очень быстро, и немножко её усложнил, и кроме того что мне нужно её решить я еще и писал программу которая будет все это решать и постепенно усложнял задачу по мере приближения к финишу

Добавлено через 3 минуты
REpLika20, а главное, учись на ошибках других программистов, вообщем я не учусь в универе или еще где, только ПТУ заканчиваю, но уже сам начал изучать С++, хоть и читал программу универа, он там тоже есть, но знакомые говорили, что там на этот язык дают 46 часов, то есть 23 пары, что уж очень мало для углублённого изучения языка
0
0 / 0 / 0
Регистрация: 15.06.2018
Сообщений: 5
16.06.2018, 23:00
k0vpack, Я универ закончил до бакалавра доучился, по машиностроительной специальности, да нам парой нужны были для расчета программы которые должны сами были написать, но из вариантов только паскаль. Теперь уже решил заниматься в плотную программирование, начинаю с С++, я просто смотрю на людей которые со мной в группе, некоторые из них раньше они курсы посещали, вот они все быстро делают. Я полагаю опыт все таки решает не малую роль в этом деле.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.06.2018, 23:00
Помогаю со студенческими работами здесь

Вычислить, какое количество единиц топлива необходимо для спуска шара с высоты B до высоты A
Полетав немного на модифицированном воздушном шаре, Шурик отметил неприятную вещь: шар всегда спускается, но делает это очень медленно....

написать алгоритм, вычисляющий, какое количество единиц топлива необходимо для спуска с высоты A до высоты B
Имя входного файла input.txt ...

Написать алгоритм, вычисляющий, какое количество единиц топлива необходимо для спуска с высоты A до высоты B над уровнем моря
1.2. Воздушный шар Имя входного файла input.txt Имя выходного файла output.txt Максимальное время работы на одном тесте 2 секунды ...

Какое минимальное количество взвешиваний необходимо для определения 8-ой монеты
Задача выглядит вот так: На столе стоят две стопки монет. В одной стопке 8 золотых монет, а в другой 8 серебряных. Обе стопки упорядочены...

Какое минимальное количество гирь необходимо?
Какое минимальное количество гирь необходимо, чтобы взвешивать на чашечных весах грузы от 1 до 40 г с точностью до 1 г? С решением.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru