Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
22.09.2012, 21:24     Расчет ускорения тела на плоскости #1
Доброго время суток. Написать программу для расчета тела массой m, которое находится на горизонтальной плоскости и к которому под углом http://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha (к горизонту) приложена сила http://www.cyberforum.ru/cgi-bin/latex.cgi?{F}_{0}. Коэффициент трения тела о плоскость равен http://www.cyberforum.ru/cgi-bin/latex.cgi?\mu. Предусмотреть вариант, когда тело неподвижно (использовать тернарный оператор). Воспользоваться тем, что если тело движется, на него вдоль плоскости движения действует равнодействующая сила http://www.cyberforum.ru/cgi-bin/latex.cgi?F = {F}_{0} * \cos (\alpha )- {F}_{t}, где http://www.cyberforum.ru/cgi-bin/latex.cgi?{F}_{t} = \mu * m * g * \sin (\alpha ). Ускорение тела a ищется из второго закона Ньютона http://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;
}
У меня не получается правильно записать условие, когда тело неподвижно, используя тернарный оператор???? Проверьте пожалуйста правильность работы программы???? Заранее огромное!!!! спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
22.09.2012, 21:28     Расчет ускорения тела на плоскости #2
так тебе помочь подобрать условия ,чтоб получить 0?
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
22.09.2012, 21:37     Расчет ускорения тела на плоскости #3
А вариант, когда тело материальная точка полетит, учитывается? :)
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
22.09.2012, 21:39  [ТС]     Расчет ускорения тела на плоскости #4
Если тело неподвижно, то его ускорение равно 0. Как правильно записать условие, когда тело неподвижно, используя тернарный оператор???? Заранее огромное спасибо!!!!
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 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 знаков например
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
22.09.2012, 21:53     Расчет ускорения тела на плоскости #6
Цитата Сообщение от isaak Посмотреть сообщение
Если тело неподвижно, то его ускорение равно 0. Как правильно записать условие, когда тело неподвижно, используя тернарный оператор???? Заранее огромное спасибо!!!!
Если тело неподвижно, то его скорость равна нулю. Ускорение равно нулю у неподвижного и равномерно движущегося.

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

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

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

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

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

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

Если величину проекции ускорения на ось x, которая проходит через центр масс тела параллельно направлению проекции скорости тела на плоскость (или в произвольном направлении, параллельном плоскости, если тело неподвижно), то да, может быть и отрицательной. Если её модуль (ещё вопрос, модуль проекции или нет), то естественно нет. Если вектор, то тоже, очевидно, нет.
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
22.09.2012, 22:16  [ТС]     Расчет ускорения тела на плоскости #9
Если тело неподвижно (покоится), то его ускорение равно 0.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
22.09.2012, 22:18     Расчет ускорения тела на плоскости #10
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Потому что тут чёрти что надо найти.

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

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

Как бы то ни было, тут хотят, чтобы вы использовали тернарный оператор при расчёте равнодействующей силы для учёта силы трения покоя. Видимо.
А как в данном случаи использовать тернарный оператор???? Я не понимаю????
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 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;
-=ЮрА=-
Заблокирован
Автор FAQ
22.09.2012, 23:45     Расчет ускорения тела на плоскости #14
Цитата Сообщение от isaak Посмотреть сообщение
Если тело неподвижно, то его ускорение равно 0. Как правильно записать условие, когда тело неподвижно, используя тернарный оператор???? Заранее огромное спасибо!!!!
Элементарно F*sin(a) = k*N = k*m*g*cos(a) где k коэффициент трения покоя
-=ЮрА=-
Заблокирован
Автор FAQ
22.09.2012, 23:56     Расчет ускорения тела на плоскости #15
Поправлюсь (изначально не так воспринял задачу)
условие покоя F0*cos(a) = k*(m*g - F0*sin(a))
-=ЮрА=-
Заблокирован
Автор FAQ
23.09.2012, 00:10     Расчет ускорения тела на плоскости #16
Вот рисунок сил
Миниатюры
Расчет ускорения тела на плоскости  
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
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;
    }
Помогите пожалуйста. Заранее огромное спасибо.
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
26.09.2012, 21:19  [ТС]     Расчет ускорения тела на плоскости #18
Подскажите пожалуйста как правильно записать условие, когда тело неподвижно, используя тернарный оператор???? Тема еще актуальна. заранее огромное спасибо!!!!!
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
03.10.2012, 23:40  [ТС]     Расчет ускорения тела на плоскости #19
Вот правильно вывел формулу для расчета ускорения:
http://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;
    }
Но у меня не получается правильно записать два условия масса больше и не равно нулю и правильно записать условие, когда тело неподвижно, используя тернарный оператор???? Помогите пожалуйста???? Заранее огромное спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2012, 07:22     Расчет ускорения тела на плоскости
Еще ссылки по теме:

C++ c++ Индекс массы тела
Выдать индекс массы тела C++
C++ Вычисление времени полета тела

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

Или воспользуйтесь поиском по форуму:
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 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
Yandex
Объявления
04.10.2012, 07:22     Расчет ускорения тела на плоскости
Ответ Создать тему
Опции темы

Текущее время: 23:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru