Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/26: Рейтинг темы: голосов - 26, средняя оценка - 4.92
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
1

Расчет ускорения тела на плоскости

22.09.2012, 21:24. Показов 5374. Ответов 22
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго время суток. Написать программу для расчета тела массой m, которое находится на горизонтальной плоскости и к которому под углом https://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha (к горизонту) приложена сила https://www.cyberforum.ru/cgi-bin/latex.cgi?{F}_{0}. Коэффициент трения тела о плоскость равен https://www.cyberforum.ru/cgi-bin/latex.cgi?\mu. Предусмотреть вариант, когда тело неподвижно (использовать тернарный оператор). Воспользоваться тем, что если тело движется, на него вдоль плоскости движения действует равнодействующая сила https://www.cyberforum.ru/cgi-bin/latex.cgi?F = {F}_{0} * \cos (\alpha )- {F}_{t}, где https://www.cyberforum.ru/cgi-bin/latex.cgi?{F}_{t} = \mu * m * g * \sin (\alpha ). Ускорение тела a ищется из второго закона Ньютона https://www.cyberforum.ru/cgi-bin/latex.cgi?F = m * a. Вот мой код программы
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
#include <cmath>
#include <iostream>
using namespace std;
double g = 9.81;
double Pi = 3.1416;
int main()
{
setlocale( LC_ALL,"Russian" );
double m;    
double F0;
double mu;
double alpha;
double a;
cout<<" m = ";cin>> m;
cout<<"F0 = ";cin>>F0;
cout<<"mu = ";cin>>mu;
cout<<"a(in deg) = ";cin>>alpha;
a = (F0 * cos (alpha*Pi/180) - mu * m * g * sin (alpha*Pi/180))/m;
cout<<"Ускорение тела равно : "<<a<<endl;
 (a = 0) //Тернарник проверки того, что тело покоится
  ? 
 cout<<"Ускорение тела равно: "<<a
  :
  cout<<"Тело неподвижно: ";
 cout<<endl;
system("pause");
return 0;
}
У меня не получается правильно записать условие, когда тело неподвижно, используя тернарный оператор???? Проверьте пожалуйста правильность работы программы???? Заранее огромное!!!! спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2012, 21:24
Ответы с готовыми решениями:

Расчет ускорения тела
Прошу проверить задачу: Поезд из грузиков, соединенных пружинками, приводится в ускоренное...

Как построить график скорости, ускорения, тангенциального ускорения по времени в двумерной плоскости?
В архиве расписана задача

Определить модуль ускорения тела
Есть легкая задача: Тело массой m = 6 кг перемещают по гладкой горизонтальной поверхности,...

Найти нормальное и тангенциальное ускорения тела
Найти нормальное и тангенциальное ускорения тела которое брошено с начальной скоростью V0 = 10 м/с...

22
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
22.09.2012, 21:28 2
так тебе помочь подобрать условия ,чтоб получить 0?
0
~ Эврика! ~
1256 / 1005 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
22.09.2012, 21:37 3
А вариант, когда тело материальная точка полетит, учитывается? :)
0
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
22.09.2012, 21:39  [ТС] 4
Если тело неподвижно, то его ускорение равно 0. Как правильно записать условие, когда тело неподвижно, используя тернарный оператор???? Заранее огромное спасибо!!!!
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
22.09.2012, 21:50 5
например альфа 90 трение 0 тогда а получится 0
с другой стороны все зависит от F0 оно должно быть равно m*mu*g*tg(alpha)
если примем массу 1 трение 1 угол 45 то силу задаем равной g=9.81
и еше чистый 0 врятли получится над брать точность 5 знаков например
0
~ Эврика! ~
1256 / 1005 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
22.09.2012, 21:53 6
Цитата Сообщение от isaak Посмотреть сообщение
Если тело неподвижно, то его ускорение равно 0. Как правильно записать условие, когда тело неподвижно, используя тернарный оператор???? Заранее огромное спасибо!!!!
Если тело неподвижно, то его скорость равна нулю. Ускорение равно нулю у неподвижного и равномерно движущегося.

И что с летящим телом?

Ладно, если серьёзно, то вот получается какое-то значение модуля F — силы, параллельной плоскости. Если его значение не превышает максимальную величину силы трения покоя, то равнодействующая равна нулю и тело никуда не едет. Иначе равнодействующая равна F – максимальная величина трения покоя. Всё это в проекциях на плоскость.

Вот эту проверку и надо впихнуть в (f > fr_static) ? (f - fr_static) : 0.
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
22.09.2012, 22:01 7
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Если тело неподвижно, то его скорость равна нулю. Ускорение равно нулю у неподвижного и равномерно движущегося.

И что с летящим телом?

Ладно, если серьёзно, то вот получается какое-то значение модуля F — силы, параллельной плоскости. Если его значение не превышает максимальную величину силы трения покоя, то равнодействующая равна нулю и тело никуда не едет. Иначе равнодействующая равна F – максимальная величина трения покоя. Всё это в проекциях на плоскость.

Вот эту проверку и надо впихнуть в (f > fr_static) ? (f - fr_static) : 0.
а почему по вашему ускорение не может быть отрицательным? ведь формально у нас начальная скорость могла быть не 0 и получится торможение
0
~ Эврика! ~
1256 / 1005 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
22.09.2012, 22:10 8
Потому что тут чёрти что надо найти.

Если величину проекции ускорения на ось x, которая проходит через центр масс тела параллельно направлению проекции скорости тела на плоскость (или в произвольном направлении, параллельном плоскости, если тело неподвижно), то да, может быть и отрицательной. Если её модуль (ещё вопрос, модуль проекции или нет), то естественно нет. Если вектор, то тоже, очевидно, нет.
1
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
22.09.2012, 22:16  [ТС] 9
Если тело неподвижно (покоится), то его ускорение равно 0.
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
22.09.2012, 22:18 10
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Потому что тут чёрти что надо найти.

Если величину проекции ускорения на ось x, которая проходит через центр масс тела параллельно направлению проекции скорости тела на плоскость (или в произвольном направлении, параллельном плоскости, если тело неподвижно), то да, может быть и отрицательной. Если её модуль (ещё вопрос, модуль проекции или нет), то естественно нет. Если вектор, то тоже, очевидно, нет.
такое ощущение , что задача просто подтянута за уши к тернарному оператору
0
~ Эврика! ~
1256 / 1005 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
22.09.2012, 22:25 11
Цитата Сообщение от isaak Посмотреть сообщение
Если тело неподвижно (покоится), то его ускорение равно 0.
Да, но не наоборот же.

Как бы то ни было, тут хотят, чтобы вы использовали тернарный оператор при расчёте равнодействующей силы для учёта силы трения покоя. Видимо.
1
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
22.09.2012, 22:34  [ТС] 12
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Да, но не наоборот же.

Как бы то ни было, тут хотят, чтобы вы использовали тернарный оператор при расчёте равнодействующей силы для учёта силы трения покоя. Видимо.
А как в данном случаи использовать тернарный оператор???? Я не понимаю????
0
~ Эврика! ~
1256 / 1005 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
22.09.2012, 22:46 13
Ну господи, выше же:
C++
1
2
3
4
// f_result = результирующая сила, пока что это величина проекции F0 на плоскость
// fr_static = сила трения покоя, произведение величины реакции опоры на коэффициент трения
f_result = (f_result > fr_static) ? (f_result - fr_static) : 0;
a = f_result / m;
0
Заблокирован
Автор FAQ
22.09.2012, 23:45 14
Цитата Сообщение от isaak Посмотреть сообщение
Если тело неподвижно, то его ускорение равно 0. Как правильно записать условие, когда тело неподвижно, используя тернарный оператор???? Заранее огромное спасибо!!!!
Элементарно F*sin(a) = k*N = k*m*g*cos(a) где k коэффициент трения покоя
0
Заблокирован
Автор FAQ
22.09.2012, 23:56 15
Поправлюсь (изначально не так воспринял задачу)
условие покоя F0*cos(a) = k*(m*g - F0*sin(a))
1
Заблокирован
Автор FAQ
23.09.2012, 00:10 16
Вот рисунок сил
Миниатюры
Расчет ускорения тела на плоскости  
1
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
23.09.2012, 13:04  [ТС] 17
-=ЮрА=- че то у меня ни чего не получается???? Бред какой то:
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
#include <cmath>
#include <iostream>
using namespace std;
double g = 9.81;
double Pi = 3.1416;
double a(double m, double F0, double alpha, double k);
int main()
{
setlocale( LC_ALL,"Russian" );
double m;    
double F0;
double k;
double alpha;
double a;
cout<<" m = ";cin>> m;
cout<<"F0 = ";cin>>F0;
cout<<"k = ";cin>>k;
cout<<"a(in deg) = ";cin>>alpha;
alpha *= asin(1.0)/90;
double a = a(m, F0, alpha, k);
a = (F0 * cos (alpha) - k * m * g * sin (alpha))/m;
cout<<"Ускорение тела равно : "<<a<<endl;
 
(F0*cos(alpha) = k*(m*g - F0*sin(alpha)) //Тернарник проверки того, что тело неподвижно
        ? 
        cout<<"Ускорение тела равно : "<<a
        : 
        cout<<"Тело неподвижно";
    cout<<endl;
    system("pause");
    return 0;
    }
    double a(double m, double F0, double alpha, double k);
    {
        return a = (F0 * cos (alpha) - k * m * g * sin (alpha))/m;
    }
Помогите пожалуйста. Заранее огромное спасибо.
0
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
26.09.2012, 21:19  [ТС] 18
Подскажите пожалуйста как правильно записать условие, когда тело неподвижно, используя тернарный оператор???? Тема еще актуальна. заранее огромное спасибо!!!!!
0
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
03.10.2012, 23:40  [ТС] 19
Вот правильно вывел формулу для расчета ускорения:
https://www.cyberforum.ru/cgi-bin/latex.cgi?a= ({F}_{0}*\cos(\alpha)- k*m*g + k*{F}_{0}*\sin(\alpha))/m.
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
#include <cmath>
#include <iostream>
using namespace std;
int main()
{
setlocale( LC_ALL,"Russian" );
double g = 9.81;
double m = 0;    
double F0;
double Fresult;
double k;
double deg   = asin(1.0)/90;
double angle = 0;
double a;
cout<<" m = ";cin>> m;
cout<<"F0 = ";cin>>F0;
cout<<"k = ";cin>>k;
cout<<"angle = ";cin>>angle;
angle *= deg;
Fresult = F0 * cos (angle) - k * m * g + F0 * k * sin (angle);
a = Fresult/m;
if(m != 0 && m > 0)
    
{
cout << "Ускорение тела равно :  " << a <<endl;
}
    
else 
{
cout << "Введено некорректное значение массы" << endl;
 
  } 
 
(Fresult = 0) //Тернарник проверки того, что тело неподвижно
        ? 
        cout<<"Ускорение тела равно : "<<a
        : 
        cout<<"Тело неподвижно";
    cout<<endl;
    system("pause");
    return 0;
    }
Но у меня не получается правильно записать два условия масса больше и не равно нулю и правильно записать условие, когда тело неподвижно, используя тернарный оператор???? Помогите пожалуйста???? Заранее огромное спасибо.
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
04.10.2012, 07:22 20
ну вот тебе пример F0=1 H , m = 1 кг , k= 0. 01 , и как сделать так чтоб тело было неподвижным, нужно поменять угол наклона его движения , решение на вольфраме, ответ примерно 85 градусов, но чистый 0 ты не получишь, во вторых если у тебя ускорение , а ты считаешь именно ускорение меньше 0, а изночальная скорость 0, то тело у тебя стоит, это если m!=0 , F0=0 , нет воздействия, и тело будет только тормозить пропорционально силе трения качения, но если оно не двигалось, оно просто не сдвинется пока сила
F0*cos+F0*k*sin < kmg
0
04.10.2012, 07:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2012, 07:22
Помогаю со студенческими работами здесь

Каковы будут нормальное и тангенциальное ускорения тела
Тело брошено под углом = 30° к горизонту со скоростью 30 м/с. Каковы будут нормальное и...

Каковы будут нормальное и тангенциальное ускорения тела
Тело брошено под углом α = 30о к горизонту со скоростью ν0 = 30 м/с. Каковы будут нормальное аn и...

Найти уравнения скорости и ускорения тела как функции от времени
помогите, пожалуйста, решить задачу методом Эйлера (или Рунге-Кутта) Задан закон движения тела как...

Найти ускорения, с которыми движутся тела, и силы натяжения нитей.
Доброе время суток помоги-те решить задчки : Несколько тел массами m1, m2, m3 соединены...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru