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

Вычислить коэффициент трения - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
26.09.2012, 21:39     Вычислить коэффициент трения #1
Всем доброго время суток. Тело соскальзывает с наклонной плоскости (угол наклона http://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha) с ускорением a. Написать программу для определения коэффициента трения k тела о плоскость. Воспользоваться тем, что по второму закону Ньютона http://www.cyberforum.ru/cgi-bin/latex.cgi?m * a = m * g * sin(\alpha) - {F}_{t}, где http://www.cyberforum.ru/cgi-bin/latex.cgi?{F}_{t} = k * m * g * cos(\alpha). Отсюда получаем http://www.cyberforum.ru/cgi-bin/latex.cgi?a = g * sin(\alpha)- k * cos(\alpha). Вот код программы:
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
#include <cmath>
#include < cstdlib>
#include <iostream>
using namespace std;
const  double g = 9.81;
const double Pi = 3.1416;
int main()
{
setlocale( LC_ALL,"Russian" );
double a;
double alpha;
double k;
cout<<"a = ";cin>>a;
cout<<"a(in deg) = ";cin>>alpha;
alpha = alpha * Pi/180; //Перевели в радианы
k = (g * sin(alpha)- a)/(g * cos(alpha));
if( alpha >= 90 )
    {
        cout<<"Такого коэффициента трения тела о плоскость не существует!\n";
        system("pause");
        return 1;
    }
k = (g * sin(alpha)- a)/(g * cos(alpha));
 
{
cout << "Коэффициент трения тела о плоскость равен: " << k <<endl;
   }
    
 
system("pause");
return 0;
}
У меня не получается правильно записать условие, что при
C++
1
alpha >= 90
и
C++
1
g * cos(alpha) = 0
коэффициента трения не существует???? Помогите пожалуйста третьи сутки бьюсь. заранее огромное спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
26.09.2012, 21:54
  #2

Не по теме:

isaak, я помню о тебе, потерпи ещё день другой - на этой неделе я набрал заказов - некогда как говориться голову поднять
По задаче a = g*(sin(alpha) - k*cos(alpha)) = > k = tg(alpha) - a/g*cos(alpha) - у тебя такая же формула, норм, а вот тут как всегда накосил - альфа то в радианах

Цитата Сообщение от isaak Посмотреть сообщение
alpha = alpha * Pi/180; //Перевели в радианы
а тут с чем альфу сравниваешь?
Цитата Сообщение от isaak Посмотреть сообщение
if( alpha >= 90 )

isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
26.09.2012, 22:13  [ТС]     Вычислить коэффициент трения #3
Хорошо -=ЮрА=- буду ждать Заранее огромное спасибо.
-=ЮрА=-
Заблокирован
Автор FAQ
02.10.2012, 02:21     Вычислить коэффициент трения #4
Вот что вышло
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
#include <cmath>
#include <iostream>
using namespace std;
 
template <class T>//Функция для безопасного ввода(ввод с защитой от ошибок)
void SafeInput(const char * sMsg, T &val)
{
    do
    {
        cin.sync();
        cout<<sMsg;
        cin.clear();
    }
    while(!(cin>>val));
}
 
int main()
{
    setlocale(LC_ALL,"RUS");
    //system("chcp 1251");
    double a = 0;   //Будет хранить ускорение тела
    double g = 9.81;//Будет хранить ускорение свободного падения
    double deg   = asin(1.0)/90;//Коэффициент перевода градусов в радианы
    double angle = 0;//Будет содержать величину угла наклона плоскости
    while(true)
    {
        cout<<"\tПРОГРАММА ДЛЯ РАСЧЁТА КОЭФФ ТРЕНЯ СКОЛЬЖЕНИЯ"<<endl;
        SafeInput("Угол наклона плоскости к горизонту (в градусах) : ", angle);
        if(angle < 0)
            cout<<"Введено некорректное значение угла"<<endl;
        else
        if(angle == 90)
            cout<<"Тело свободно падает а не соскальзывает"<<endl;
        else
        {
            angle *= deg;//Перевели угол в радианы
            SafeInput("Ускорение тела (м/с^2) : ", a);
            if(tan(angle) < (a/g)/cos(angle))
                cout<<"Введены некорректные параметры sin(a) > (a/g)"<<endl;
            else
                cout<<"kтр = "<<tan(angle) - (a/g)/cos(angle)<<endl;
        }
    }
    return 0;
}
Миниатюры
Вычислить коэффициент трения   Вычислить коэффициент трения  
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
02.10.2012, 22:45  [ТС]     Вычислить коэффициент трения #5
От души огромное спасибо -=ЮрА=- сейчас буду разбираться.

Добавлено через 1 час 37 минут
-=ЮрА=- вопрос? Ты использовал принцип подобия треугольников? Угол наклонной плоскости равен http://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha так да? Сама наклонная плоскость прямоугольный треугольник и проекции G на оси OX и OY тоже получаются прямоугольные треугольники значит они подобные и углы у них равны? Если не правильно, то поправь меня. Заранее огромное спасибо.
Yandex
Объявления
02.10.2012, 22:45     Вычислить коэффициент трения
Ответ Создать тему
Опции темы

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