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

Математический маятник - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что изменить в программе? http://www.cyberforum.ru/cpp-beginners/thread648779.html
Что нужно изменить в программе или добавить чтобы была возможность работать не с одной а с несколькими записями?#include "stdafx.h" #include "cstdlib" #include <iostream> #include <conio.h>...
C++ Добавление имен в структуру Всем доброе время суток! Такое задание: Создать структуру ВИДЕОМАГАЗИН со следующими полями: struct Name{ Название фильма Режиссер Жанр Рейтинг популярности Цена диска http://www.cyberforum.ru/cpp-beginners/thread648766.html
C++ Деление - воссоздать в коде (2*(x*x*x)-11*(x*x)+12*x+9)/(x-3)
Нужно написать прогу чтобы решить кубическое уравнение. Я хочу знать как воссоздать в коде деление вроде: (2*(x*x*x)-11*(x*x)+12*x+9)/(x-3) и упростилось к квадратному уравнению.
C++ Запись данных,хранящихся в дереве
Возникла задача сохранить данные,являющиеся узлами дерева.Первая мысль-рекурсивный вызов функции,сохраняющей данные для каждого из потомков узла,но это нерацианально,поэтому хотелось бы узнать есть...
C++ Строки,файлы,нужно исправить ошибку http://www.cyberforum.ru/cpp-beginners/thread648720.html
#include "stdafx.h" #include "stdio.h" #include "string.h" int _tmain(int argc, _TCHAR* argv) { FILE *log; FILE *val; FILE *fin; char buf; char buf2;
C++ Простенькое шифрование Требуется выполнить задание на фото. Вопрос возникает при расшифровке данных: надо ли выдавать ключ пользователю посредством которого он может получить открытые данные или дешифрование должно... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
10.09.2012, 19:39
isaak, ниже по твоей просьбе привожу решение (я дам расклад всех формул из условия чтобы было ясно откуда они взялись)
http://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}  <br />
x(t) = A*sin(\omega *t + {\varphi }_{0})  \\   <br />
x(T) = A*sin(\omega *T + {\varphi }_{0})  \\  <br />
\frac{x(T)}{x(t)} = k \end{cases}
Теперь как я показал выше да и в условии сказано период колебаний составляет:
http://www.cyberforum.ru/cgi-bin/latex.cgi?T = \frac{\frac{\pi}{2} -{ \varphi }_{0}}{\omega}
Таким образом наша система преобразуется к виду:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}   <br />
x(t) = A*sin(\omega *t + {\varphi }_{0})  \\    <br />
x(T) = A*sin(\omega *(\frac{\frac{\pi}{2} -{ \varphi }_{0}}{\omega}) + {\varphi }_{0}) = A \\   \frac{x(T)}{x(t)} = k \end{cases}
В принципе преобразования можно было и не делать, ведь и так ясно что x(t) = A но я показал для наглядности что это так и есть
Так вот имеем
http://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}   <br />
x(t) = A*sin(\omega *t + {\varphi }_{0})  \\    <br />
x(T) = A \\   <br />
\frac{x(T)}{x(t)} = k \end{cases}
Т.е получаем http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{1}{k}  = sin(\omega *t + {\varphi }_{0})
Откуда легко получить уже известное нам соотношение для начальной фазы колебаний (правда в условии автор с целью упрощения подал arcsin(1/k) как соотношение для начальной фазы колебаний, хотя это соотношение для полной фазы которая связана с начальной вот таким соотношением http://www.cyberforum.ru/cgi-bin/latex.cgi?\varphi = \omega *t +{ \varphi }_{0})

Ну а теперь касательно основного задания программы:
Цитата Сообщение от isaak Посмотреть сообщение
Написать программу для определения параметра T при условии, что параметры и k вводятся пользователем.
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
#include <cmath>
#include <iostream>
using namespace std;
 
int main()
{
    double k = 0;
    double w = 0;
    double phi0 = 0;
    double pi_2 = asin(1.0);//arcsin(1) = Пи/2
    double t    = 0;
    setlocale(LC_ALL,"RUS");
    while(true)
    {
        cout<<"k = ";cin>>k;
        cout<<"w = ";cin>>w;
        if(w == 0)
            cout<<"Некорректный ввод пользователя (w == 0) - тело покоится\n";
        else
        if(k < 1)
            cout<<"Отклонение не может иметь отношение больше амплитудного\n";
        else
        if(pi_2 < (phi0 = asin(1/k)) - 1E-12)//1E-12 - та фишка с даблами о которой рассказывал
            //у чисел с плавающей точкой всегда есть погрешность
            cout<<"Данное отношение 1/k недопустимо\n";
        else
        if((t = (pi_2 - phi0)/w) == 0)
            cout<<"Маятник уже досиг амплитудного отклонения\n";
        else
            cout<<"Маятник досигнет амплитудного отклонения через :"<<t<<" сек\n";
    }
    return 0;
}
PS:Psilon вот скажи я тебя трогаю?!Мало того что твоё решение негодится, так ты ещё грубишь!

Не по теме:

Ты лучше бы глаза разул и увидел что автор той книги из которой задача ввёл упрошение дляначальной фазы подразумевая под ней полную фазу

2
Миниатюры
Математический маятник  
Вложения
Тип файла: rar CalcTime.exe.rar (72.4 Кб, 18 просмотров)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru