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

Задание: Нарисовать блок схему и написать программу вычисления цикла с параметром.

Определите расчетную массу состава на подъеме с уклоном i (отношение высоты подъема к длине участка, умноженное на 1000) и радиусом кривой R для тепловоза ТЭЗ. Состав сформирован из четырехосных груженых вагонов массой q; масса тепловоза P =252 т.

Математическая формулировка задачи.

Удельное сопротивление четырехосных вагонов массой g определяется по формуле

W1=7,7+(8,0+0,1V+0,0025V2)/g/4

Удельное дополнительное сопротивление в зависимости от уклона и радиуса кривой

i0=i +700/R

масса состава рассчитывается следующим образом:

Q=(F-P(W0+i0))/(W1+i0)

Алгоритм решения задачи.

1. Ввод исходных данных R,i,g и F и W0.

2. Вычисление i0.

3. Организация цикла по V от 1 до 60 с шагом 1.

4. Вычисление W1, Q.

5. Вывод результатов Q.

6. Конец цикла.

Показать ответ
Ответ:
ancelina1234
ancelina1234
09.03.2022 21:20

#include <bits/stdc++.h>

using namespace std;

int main(){

       ios_base::sync_with_stdio(0);

       cin.tie(0);cout.tie(0);

       int N,k;

       int a[1000000];

       map <pair <int, int>, int> mem;

       cin >> N;

       //b.reserve(N);

       memset(a,0,sizeof a);

       //memset(b,0,b.size()*sizeof int);

       for (int i=0;i<N;i++)

               cin >> a[i];

       cin >> k;

       for (int i=0;i<k;i++){

       int tmp,tmp2,tmp3,tmp4,sum{0};

       cin >> tmp >> tmp2;

       tmp--;tmp2--;

       if (mem.find({tmp,tmp2})!=mem.end()) {cout<< mem[ {tmp,tmp2} ] << endl; continue;}

       tmp3=tmp;

       tmp4=tmp2;

       for(int x=0;x<(tmp4-tmp3)/2+1;x++){

       for(int z=0;z<(tmp2-tmp)/2+1;z++){

       if (mem.find({tmp,tmp2})!=mem.end()) {sum= (sum+mem[ {tmp,tmp2} ])%998244353; break;}

       for(int j=tmp+z;j<=tmp2-z;j++){

       sum=(sum+a[j])%998244353;

       }}

       tmp++;tmp2--;

       }

       cout << sum << endl;

       mem[{tmp3,tmp4}]=sum;

       }

       return 0;

}

Объяснение:

0,0(0 оценок)
Ответ:
AlisaBust
AlisaBust
21.09.2020 13:01
Пошаговая детализация представляет собой простой процесс, предполагающий первоначальное выражение логики модуля в терминах условного языка очень высокого уровня с последующей детализацией каждого предложения в терминах языка более низкого уровня, до тех пор, пока, наконец, не будет достигнуть уровень используемого языка программирования. Здесь уместно напомнить: чем меньше язык содержит деталей, тем более он высокого уровня. Это можно считать обычную человеческую речь, а языком низкого уровня - машинный язык.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота