Консультация № 174971
07.12.2009, 03:16
0.00 руб.
09.12.2009, 17:47
0 5 2
Уважаемые эксперты, помогите. пожалуйста.
Вычислить
Код:

10
s = [$8721$] [a+1/x]n для всех x=1(2)15
n=0

Вычисление S оформить в виде функции пользователя. Вычисление для всех точек от 1 до 15 с шагом 2 организовать через вызов функции в главной функции

___________________________________________
Программы должна быть написана на C++ и работать на Microsoft Visual C++ 6.0
Прошу написать как можно более доступным языком и закоментировать каждую строчку по максимуму. (ну почти каждую)
Еще ОЧЕНЬ ОЧЕНЬ нужна БлокСхема (пожалуйста хотя бы ручкой на бумаге набросайте как она должна выглядеть) (ну или кистью в пэйнте)
Плииз очень нужно.

Обсуждение

давно
Старший Модератор
17042
808
10.12.2009, 07:22
общий
Иванов Евгений Витальевич:
Что значит "для всех x=1(2)15"?
Об авторе:
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
давно
Посетитель
7438
7205
10.12.2009, 09:21
общий
Dr_Andrew:
для всех точек от 1 до 15 с шагом 2
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Старший Модератор
17042
808
10.12.2009, 10:14
общий
Лысков Игорь Витальевич:
Ясно, спасибо!
Об авторе:
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
давно
Старший Модератор
17042
808
11.12.2009, 07:12
общий
это ответ
Здравствуйте, Иванов Евгений Витальевич!
Программа в приложении, комментарии к программе приведены в её исходном тексте. Написана на Standard C++, должна компилироваться в Visual C++ 6.
Удачи!


Приложение:
#include <iostream> // Для доступа к стандартному вводу-выводу на консоль.
#include <cmath> // Для доступа к функции вычисления степени pow.
using namespace std;
//------------------------------------------------------------------------------------------
// Функция, возвращает вычисленное значение точки.
// В качестве аргументов принимает a, x и n.
double CalculatePoint(double a, double x, double n)
{
return pow((a + 1 / x), n);
}
//------------------------------------------------------------------------------------------
int main()
{
double a; // a - число вводится пользователем
cout << "Введите a: ";
cin >> a;

double S = 0;
double point;
for(int n = 0; n <= 10; n++) // Сумма от 0 до 10
{
for(int x = 1 ; x <= 15; x += 2) // Точки от 1 до 15 с шагом 2
{
point = CalculatePoint(a, (double)x, (double)n);
cout << "При n = " << n << " и x = " << x << " значение точки равно " << point << "." << endl;
S += point;
}
}

cout << "S равна " << S << "." << endl;
return 0;
}
Об авторе:
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014
давно
Академик
320937
2216
11.12.2009, 09:41
общий
это ответ
Здравствуйте, Иванов Евгений Витальевич. Программа в приложении. Проверена на MS Visual C++. Хотя в задании минимальное значение x=1, в программе анализируется случай x=0, так как функция не определена. Пример работы.
Код:
a=1
x sum(1, x, 10)
1 2047
3 68.0309
5 32.1504
7 23.4095
9 19.6797
11 17.6462
13 16.3748
15 15.5075
Для продолжения нажмите любую клавишу . . .




Приложение:
#include <iostream>
// 174971
// s=sum(a+1/x)^n, x=1(2)15
using namespace std;

double s(double a, double x, int n);
int main()
{
const int left = 1;
const int right = 15;
const int step = 2;
const int n = 10;

double a;
double x;

cout << "a=";
cin >> a;

cout << "x\tsum(" << a << ", x, " << n << ")" << endl;
for (x=left; x<=right; x+=step)
{
// поскольку x принят целым, а соответствующий параметр функции
// должен быть double, преобразуем x явным образом
cout << x << "\t";
if (x==0)
{
cout << "нет значений" << endl;
}
else
{
cout << s(a, static_cast<double>(x), n) << endl;
}
}
system("Pause");

return 0;
}

double s(double a, double x, int n)
{
int i;
double b=1; // нулевой член ряда
double sum=1; // сумма для n=0
for (i=1; i<=n; i++)
{
b *= (a+1/x); // последующий член ряда выражается через предыдущий
sum+=b; // и прибавляем к текущему значению суммы
}
return sum; // возвращаем текущее значение суммы
}
Форма ответа