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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
EvgenEkt
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 8
#1

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

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

День добрый товарищи специалисты, помогите пожалуйста с примером http://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 ф-ция http://www.cyberforum.ru/cgi-bin/latex.cgi?{x}_{i}=cos(i)+2i. Расчет сумм в формуле и расчет xi должны быть оформлены в виде
отдельных функций. Решить с помощью Borland 3.11.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2012, 13:48     Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций.
Посмотрите здесь:
Расчет конечных сумм. C++
C++ расчет по формуле
Расчет по формуле C++
Вывод списка в виде отдельных функций C++
Данные о читателях должны быть организованны в виде хеш-таблицы C++
Расчет функции в виде бесконечного ряда C++
C++ Оформить в виде отдельных функций введения, просмотр и определение количества чисел масива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
774 / 707 / 129
Регистрация: 27.07.2012
Сообщений: 2,026
Завершенные тесты: 3
20.09.2012, 14:25     Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций. #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;
}
EvgenEkt
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 8
20.09.2012, 14:34  [ТС]     Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций. #3
Огромное спасибо!

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

Добавлено через 3 часа 19 минут
Цитата Сообщение от John Prick Посмотреть сообщение
Да что тут расписывать. Фактически бери и читай код как есть, как будто это текст. Только начни с функции main и "заходи" в другие по мере того, как они тебе будут встречаться в тексте.
Евгений, помогите прочитать ваш код, я пробую у меня какая-то абракадабра получается.
John Prick
774 / 707 / 129
Регистрация: 27.07.2012
Сообщений: 2,026
Завершенные тесты: 3
20.09.2012, 22:23     Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций. #6
Цитата Сообщение от EvgenEkt Посмотреть сообщение
я пробую у меня какая-то абракадабра получается

Честно говоря, ну оочень в лом всё расписывать, тем более, когда не знаю, какого уровня знаний целевая аудитория в лице тебя. Лучше скажи, какие именно вещи у тебя вызывают трудности. Только не все сразу. И конкретно по строчкам, словам, символам (ибо уже предвижу ответ "Да всё непонятно!!").
EvgenEkt
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 8
21.09.2012, 08:24  [ТС]     Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций. #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);
.....вот что получается если как вы говорите просто читать по строкам.
John Prick
774 / 707 / 129
Регистрация: 27.07.2012
Сообщений: 2,026
Завершенные тесты: 3
21.09.2012, 10:40     Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций. #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 в С++ - это целые числа). Что должна делать эта функция, ты знаешь из условия задачи. Попробуй сам разобраться, то ли она делает на самом деле?

П.С.Функции - это базовое понятие языков программирования, которому посвящают не одну главу в книгах. Конечно, написать что-то понятнее и лучше, чем в книгах я не смогу даже при большом желании. Надеюсь, в книжки ты заглядываешь, если хочешь понять, что тут проиходит.
EvgenEkt
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 8
21.09.2012, 12:51  [ТС]     Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций. #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;
}
Евгений если не трудно,можно комментарии приписать чтоб было наглядно что-как.
-=ЮрА=-
Заблокирован
Автор FAQ
21.09.2012, 13:06     Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций. #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 должны быть оформлены в виде отдельных функций.  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2012, 14:13     Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций.
Еще ссылки по теме:
C++ Задача со строками (ввод списка фамилий через запятую в виде строки. Фамилии должны быть отсортированы по-алфавиту)
C++ я учусь на высшке на программиста.. какие могут быть задачи на экзамене 1й курс .2й семестр!!.. должны быть классы!!
Должны ли быть тесты элементом класса? C++
C++ Какие требование должны быть к inline-функции, кроме её размера?
C++ Как через if объявить, что некоторые значения не должны быть равны 0

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

Или воспользуйтесь поиском по форуму:
EvgenEkt
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 8
21.09.2012, 14:13  [ТС]     Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций. #11
Благодарствую.
Yandex
Объявления
21.09.2012, 14:13     Расчет сумм в формуле и расчет xi должны быть оформлены в виде отдельных функций.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru