0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 8
1

Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций.

20.09.2012, 13:48. Показов 4607. Ответов 10
Метки нет (Все метки)

День добрый товарищи специалисты, помогите пожалуйста с примером https://www.cyberforum.ru/cgi-bin/latex.cgi?m=((1/n)*\sum_{i=1}^{n}{x}_{i}){}^{2}-\sum_{i=1}^{n}{x}_{i} ,n=5 ф-ция https://www.cyberforum.ru/cgi-bin/latex.cgi?{x}_{i}=cos(i)+2i. Расчет сумм в формуле и расчет xi должны быть оформлены в виде
отдельных функций. Решить с помощью Borland 3.11.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2012, 13:48
Ответы с готовыми решениями:

Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций
Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций. На СИ

Расчет отдельных параметров геометрических фигур: переписать с использованием классов
Вечер добрый, заранее благодарю всех откликнувшихся. Есть программа, рассчитывающая отдельные...

Расчет конечных сумм.
Составить программу расчета конечной суммы. Число членов суммы вводится с клавиатуры. Получить 3...

Расчет контрольных сумм
Нужно написать программу расчитывающей контрольные суммы загружаемых в нее файлов. Подскажите...

10
2098 / 1619 / 690
Регистрация: 27.07.2012
Сообщений: 4,853
20.09.2012, 14:25 2
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 <math.h>
#include <iostream>
 
double X(const double i)
{
    return cos(i) + 2 * i;
}
 
double SumX(const unsigned short N)
{
    double Sum = 0.0;
    for (unsigned short i = 1; i <= N; ++i)
        Sum += X(i);
    return Sum;
}
 
double Sqr(const double X)
{
    return X * X;
}
 
int main(void)
{
    const unsigned short n = 5;
    double m = Sqr( (1/n) * SumX(n) ) - SumX(n);
    std::cout << "m = " << m;
    return 0;
}
1
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 8
20.09.2012, 14:34  [ТС] 3
Огромное спасибо!

Добавлено через 4 минуты
А если не сложно, можно еще алгоритм расписать?
0
2098 / 1619 / 690
Регистрация: 27.07.2012
Сообщений: 4,853
20.09.2012, 14:44 4
Цитата Сообщение от EvgenEkt Посмотреть сообщение
А если не сложно, можно еще алгоритм расписать?
Да что тут расписывать. Фактически бери и читай код как есть, как будто это текст. Только начни с функции main и "заходи" в другие по мере того, как они тебе будут встречаться в тексте.
0
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 8
20.09.2012, 18:28  [ТС] 5
Цитата Сообщение от John Prick Посмотреть сообщение
Да что тут расписывать. Фактически бери и читай код как есть, как будто это текст. Только начни с функции main и "заходи" в другие по мере того, как они тебе будут встречаться в тексте.
Я просто в этом ничего не понимаю, сам делал 2 задачи самые элементарные а тут не могу.

Добавлено через 3 часа 19 минут
Цитата Сообщение от John Prick Посмотреть сообщение
Да что тут расписывать. Фактически бери и читай код как есть, как будто это текст. Только начни с функции main и "заходи" в другие по мере того, как они тебе будут встречаться в тексте.
Евгений, помогите прочитать ваш код, я пробую у меня какая-то абракадабра получается.
0
2098 / 1619 / 690
Регистрация: 27.07.2012
Сообщений: 4,853
20.09.2012, 22:23 6
Цитата Сообщение от EvgenEkt Посмотреть сообщение
я пробую у меня какая-то абракадабра получается

Честно говоря, ну оочень в лом всё расписывать, тем более, когда не знаю, какого уровня знаний целевая аудитория в лице тебя. Лучше скажи, какие именно вещи у тебя вызывают трудности. Только не все сразу. И конкретно по строчкам, словам, символам (ибо уже предвижу ответ "Да всё непонятно!!").
0
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 8
21.09.2012, 08:24  [ТС] 7
Цитата Сообщение от John Prick Посмотреть сообщение

Честно говоря, ну оочень в лом всё расписывать, тем более, когда не знаю, какого уровня знаний целевая аудитория в лице тебя. Лучше скажи, какие именно вещи у тебя вызывают трудности. Только не все сразу. И конкретно по строчкам, словам, символам (ибо уже предвижу ответ "Да всё непонятно!!").
Вообщем вот пример того что мне требуется; Определить длину окружности по формуле: L = 2π r . Параметр r должен вводиться с клавиатуры.

Алгоритм-

Вещ. r, L;
Начало;
Ввести r;
Решение L=2πr;
Вывести значение L;
Конец;

Вот в таком стиле преподаватель просит выводить алгоритм решения и на его основе уже программировать,а в вашем коде я что-то запутался.
вот что получается
4)Двойной X (const двойной i);
6)Возврат cos(i)+2*i;
9)Двойная SUMX(const не подписанный короткий N);
.....вот что получается если как вы говорите просто читать по строкам.
0
2098 / 1619 / 690
Регистрация: 27.07.2012
Сообщений: 4,853
21.09.2012, 10:40 8
Цитата Сообщение от EvgenEkt Посмотреть сообщение
4)Двойной X (const двойной i);
6)Возврат cos(i)+2*i;
9)Двойная SUMX(const не подписанный короткий N);
.....вот что получается если как вы говорите просто читать по строкам.
Ну практически то, что нужно. Теперь просто уточним некоторые понятия.

В общем случае функция - это некоторая сущность, которая вычисляет результат на основе некоторых входных величин. Тот же косинус, как пишут в математике: y = cos(x). Так вот cos(x) есть самая настоящая функция: на основе входной величины х вычисляет некий результат, а косинус - это её название (имя). То же самое и в С++. Итак:
1.
4)Двойной X (const двойной i);
C++
1
double X(const double i)
Так выглядит объявление функции в С++. Сначала тип возвращаемого значения, затем имя функции, а затем в скобках входные параметры (агрументы) функции. Итак:
1) Тип возвращаемого значения: double. Это то, что ты перевёл как "двойной", - числа с двойной точностью. Для простоты пока считаем, что это просто дробные числа.
2) Имя функции: Х. Ну тут я думаю, вопросов нет.
3) Аргументы функции: (const double i). Входным параметром функции является единственное число - i. Тип его взят дробным, хотя на самом деле в эту функцию передаются целые числа. Эту тонкость мы пока опустим, чтобы не усложнять. (Ключевое слово const говорит нам о том, что значение i внутри функции не изменится, это не обязательно, просто хороший тон программирования).
Итак, мы объявили функцию - у нас появилась функция X(i) - та самая, что стоит в твоей самой первой формуле за значком суммы, и которую тебе по условию задания надо было реализовать. Правда, она пока ничего не делает. Исправим это упущение:
2.
6)Возврат cos(i)+2*i;
C++
1
return cos(i) + 2 * i;
В С++ (как, собственно, во всех остальных языках программирования) вычисляемый функцией результат называют возвращаемым значением. Так всегда и говорят: "функция возвращает значение". В С++ возвращаемое функцией значение записывается после ключевого слова return (которое ты совершенно правильно перевёл как "возврат"). А после этого слова и следует то, для чего мы всю эту канитель с функцией и затевали: cos(i)+2*i. Посмотри условие задачи. Оно?
То, что идёт в фигурных скобках {} после объявления (заголовка) функции назвается в С++ определением функции. Теперь мы определили функцию X(i), она имееет имя, аргументы и делает ту работу, которая нам нужна. Вот теперь мы можем её использовать в нашей задаче.
(Кстати, cos(i) - такая же функция, но мы её сразу используем, так как она объявлена в файле <math.h>, который мы подключили в самой первой строке с помощью #include).

Дальнейшее, в общем, тоже самое.
3.
9)Двойная SUMX(const не подписанный короткий N);
C++
1
double SumX(const unsigned short N)
Объявление функции SumX - сумма X, если читать по-русски, а Х у нас уже есть - наша функция X(i). SumX возвращает дробное число (потому что сумма дробных чисел ,Х безусловно, число дробное). А вот в качестве аргумента она принимает N. Вот тут ты перевёл неправильно. Вместо "не подписанный" слово unsigned надо было перевести как "беззнаковый", и стало бы понятнее - на вход функции поступает беззнаковое целое число (short в С++ - это целые числа). Что должна делать эта функция, ты знаешь из условия задачи. Попробуй сам разобраться, то ли она делает на самом деле?

П.С.Функции - это базовое понятие языков программирования, которому посвящают не одну главу в книгах. Конечно, написать что-то понятнее и лучше, чем в книгах я не смогу даже при большом желании. Надеюсь, в книжки ты заглядываешь, если хочешь понять, что тут проиходит.
1
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 8
21.09.2012, 12:51  [ТС] 9
Говорила мама учись...

Добавлено через 1 час 9 минут
Цитата Сообщение от John Prick Посмотреть сообщение
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 <math.h>
#include <iostream>
 
double X(const double i)
{
    return cos(i) + 2 * i;
}
 
double SumX(const unsigned short N)
{
    double Sum = 0.0;
    for (unsigned short i = 1; i <= N; ++i)
        Sum += X(i);
    return Sum;
}
 
double Sqr(const double X)
{
    return X * X;
}
 
int main(void)
{
    const unsigned short n = 5;
    double m = Sqr( (1/n) * SumX(n) ) - SumX(n);
    std::cout << "m = " << m;
    return 0;
}
Евгений если не трудно,можно комментарии приписать чтоб было наглядно что-как.
0
Заблокирован
Автор FAQ
21.09.2012, 13:06 10
EvgenEkt, попробуй этот алгоритм
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
#include <math.h>
#include <stdio.h>
 
double xi(int i)//Вычисление x[i] - го
{
    return cos(1.0*i) + 2*i;
}
 
double Sum(int n)//считаем сумму от 1 до n
{
    double sum = 0;
    for(int i = 1; i <= n; i++)
        sum += xi(i);
    return sum;
}
 
int main()
{
    int n;
    double S;
    printf("n = ");scanf("%d",&n);
    S = Sum(n);
    //Смотри как упрощается формула 
    //((1/n)*S)^2 - S == S^2/(n*n) - S = S*(S/(n*n) - 1)
    printf("m = %lf\n",S*(S/(n*n) - 1));
    return 0;
}
Миниатюры
Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций.  
1
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 8
21.09.2012, 14:13  [ТС] 11
Благодарствую.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2012, 14:13
Помогаю со студенческими работами здесь

Расчет контрольных сумм у файла - С/Си
Всем доброго здравия. :) Ребят, у меня с Си не очень, точнее сказать совсем никак. Помогите...

Расчет конечных сумм с заданной точностью
\sum_{n=1}^{\propto } (-1)^n/n^n Program; var n,p:integer; s,a,e:real; begin writeln('N='); ...

Расчет сумм. Необходимо найти ошибку
Добрый день. Не могу решить проблемку. Как пишет borland ошибка в вычислении логорифма. Помогите...

расчет по формуле
не понимаю как на с++ записать выражение sin2beta и cos2beta вот задача:


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

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

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