itada
1

C++. Графики функций sin(x), sin(x+Pi/4), cos(x), cos(x-Pi/4)

18.02.2012, 16:11. Показов 13008. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, задали задачу написать приложение на с++ (у нас используется borland c++ builder 6, если можно - помогите именно с этой версией), которое строит график одной из четырех функций на заданном интервале. У нас несколько специфический подход к обучению, и на занятиях до этого мы графики не учили вообще, только решение простых функций, так что сам даже не знаю с чего начать.
Собственно само задание:
Написать приложение, которое строит графики четырех заданных функций. Команда Chart открывает диалоговое окно, содержащее:
- список выбора цвета графика типа TListBox;
- список выбора типа графика TListBox, содержащий четыре пункта: sin(x), sin(x+Pi/4), cos(x), cos(x-Pi/4)
После щелчка на кнопку OK в главном окне приложения строится график выбранной функции на интервале от -Pi/2 до +Pi/2.
Я, думаю, справлюсь с изменением одного примера под все четыре функции, так что просто подскажите как сделать график хотя бы одной из них на указанном промежутке, и как изменить цвет графика. Заранее спасибо.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.02.2012, 16:11
Ответы с готовыми решениями:

Вычисление значений функций cos, sin, tg, ctg
Как сделать,чтобы программа считала cos,sin,tg,ctg??? Вот код моей программы-на данном этапе...

Создание графиков sin и cos
Ребят, помогите пожалуйста разобраться. На паре преподаватель для примера написал sin(). Помогите...

Как распознать математическую функцию cos, sin с ячейки StringGrid?
Возникла такая проблема. Например в какой - то ячейке StringGrid написано cos(60), как мне именно...

Вычислить сумму значений функцииz=f(sin(x)+cos(y),x+y)+f(sin(x),cos(y))+(x-y,x)+f(sin^2(x)-2,a)+f(a+3,b+1)
Вычислите z-сумму значений функции...

4
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
18.02.2012, 22:40 2
itada,

cos(x)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  double x      = 0;
  double y      = 0;
  double offset = 0.05;
  Chart1->SeriesList->Series[0]->Clear();
 
        for(double i = -157; i < 157; i++)
        {
                x += offset;
                y = cos(x);
                Chart1->SeriesList->Series[0]->AddXY(x, y, String(y), clRed);
        }
}
//---------------------------------------------------------------------------
sin(x)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  double x      = 0;
  double y      = 0;
  double offset = 0.05;
  Chart1->SeriesList->Series[0]->Clear();
 
        for(double i = -157; i < 157; i++)
        {
                x += offset;
                y = sin(x);
                Chart1->SeriesList->Series[0]->AddXY(x, y, String(y), clRed);
        }
}
//---------------------------------------------------------------------------
sin(x + Pi / 4);
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  double x      = 0;
  double y      = 0;
  double offset = 0.05;
  Chart1->SeriesList->Series[0]->Clear();
 
        for(double i = -157; i < 157; i++)
        {
                x += offset;
                y = sin(x + M_PI / 4);
                Chart1->SeriesList->Series[0]->AddXY(x, y, String(y), clRed);
        }
}
//---------------------------------------------------------------------------
cos(x - Pi / 4)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  double x      = 0;
  double y      = 0;
  double offset = 0.05;
  Chart1->SeriesList->Series[0]->Clear();
 
        for(double i = -157; i < 157; i++)
        {
                x += offset;
                y = cos(x - M_PI / 4);
                Chart1->SeriesList->Series[0]->AddXY(x, y, String(y), clRed);
        }
}
//---------------------------------------------------------------------------
1
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
18.02.2012, 22:52 3
Программа во вложение.
Вложения
Тип файла: rar itada.rar (382.5 Кб, 305 просмотров)
1
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
18.02.2012, 23:37 4
Забыл про интервал:

C++
1
2
3
  double x      = -(M_PI / 2);
  double y      = -(M_PI / 2);
  double offset = 0.01;
1
itada
19.02.2012, 00:30 5
QVO, большое вам человеческое спасибо, добрый вы человек!
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.02.2012, 00:30
Помогаю со студенческими работами здесь

Графики функций sin(x) и cos(x) на интервале [Xmin, Xmax]
Пожалуйста, если есть уже скомпилированная программа - бросьте. Заранее спасибо. Cоставить...

Составить программу отображающую графики функций sin(x) cos(x) на интервале [Xmin, Xmax]
Составить программу отображающую графики функций sin(x) cos(x) на интервале . Предусмотреть...

Составить программу, отображающую графики функций sin(x) и cos(x) на интервале [Xmin, Xmax]
Составить программу, отображающую графики функций sin(x) и cos(x) на интервале . Предусмотреть...

Построить массив по правилу: X[i]=(cos 1 +...+ cos i) / (sin 1 +...+ sin i)
Помогите, построить одномерный вещественный массив X из n элементов (n - константа).Я знаю, что...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru