Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 23.10.2011
Сообщений: 21

Вычислить значение выражения

31.03.2012, 22:48. Показов 1121. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я новичок в этом деле.Буду рад любой помощи.
Задача:
вычислить S
вычисление прекратить если (рис1)
Подсчитать кол-во слагаемых.
Изображения
  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2012, 22:48
Ответы с готовыми решениями:

Вычислить значение выражения
Вычислить y(x), если y = x2 при x > 1 и y = x при x <= 1

Вычислить значение выражения
2)Дано : b=3; db=-0.3. Z вычислить по формуле : Z=\sqrt{x\sin x} , где X=0.3*b3+b. Считать Z до тех пор пока X>0. Определить k...

Вычислить значение выражения
Написать программу разветвленного алгоритму, используя вложенные if, на С(С++)

4
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,533
Записей в блоге: 1
31.03.2012, 23:07
если сумма действительно начинается от n=0 то как минимум выражение ln n некорректно. Не трать время.
0
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
31.03.2012, 23:10
Если от 1, то
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <math.h>
int main()
{
 double s1=0;
 double s2;
 int n=1;
 do
  {
   s2=s1;
   s1+=pow((1+cos(n))/(2+cos(n)),2*n-log(n));
   n++;
  }
 while (fabs(s1-s2)>0.0001);
 std::cout<<"S="<<s1<<"\nn="<<n<<"\n";
 system("pause");
 return 0;
}
1
1255 / 705 / 359
Регистрация: 20.02.2010
Сообщений: 1,035
31.03.2012, 23:15
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cmath>
 
int main(void)
{
    double res = 0, tmp, eps = 1e-4, n = 1;
    while((tmp = pow((1+cos(n))/(2+cos(n)),2*n-log(n))) > eps)
    {
        res += tmp;
        ++n;
    }
    std::cout << "s = " << res << std::endl; 
    std::cout << "n = " << n - 1 << std::endl;
    return 0;
}
1
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,533
Записей в блоге: 1
31.03.2012, 23:34
Вай-вай. А что такое сумма ты не знаешь, и что такое циклы тоже? Или вот ты написал "Итерация", а немного погуглить на эту тему ты пробовал?

А ещё ты не пробовал разбить задачу на отдельные подзадачи, не пробовал, например, для начала вычислить один элемент этого ряда?
Разве сложно написать вот так?
C
1
2
n=0;
a=(1+cos(n))/(2+cos(n))
Ну вот хотя бы так для начала. Потом появиться на форуме с вопросом "Ой, а как возводить в степень в С???"
Так были б видны попытки работать. тебе б посоветовали использовать функцию pow
Ты бы вернулся к решению и самостоятельно сообразил бы, что выражение следует возвести в степень 2*n-log(n). Посмотрел бы в гугле пример использования функции pow и по аналогии написал бы
a=pow(a, 2*n-log(n))
Затем поискал бы пример программы "сумма ряда", или самостоятельно подумал, а зачем ты столько лекций посетил по программированию, на которых давались примеры циклов и как циклы используются на практике. И нельзя ли просуммировать твой ряд в цикле.
Взял бы для примера цикл while и написал бы
C
1
2
3
4
5
n=0;
while(условие){
a=(1+cos(n))/(2+cos(n));
a=pow(a, 2*n-log(n));
}
Что тебе нужно чтобы найти сумму в цикле? Наверное каждый раз надо запоминать просуммированное ранее в некоторой переменной и каждый раз прибавлять к ней новое a!

C
1
2
3
4
5
6
7
n=0;
summa=0;
while(условие){
a=(1+cos(n))/(2+cos(n));
a=pow(a, 2*n-log(n));
summa=summa+a;
}
Ну! Думаешь ты, вот сумма ряда и найдена! Только почему то у нас всегда n=0
А греческий значок "сигма" в формуле (я надеюсь, что ты к математике не относишься так как к программированию, а поэтому) ты знаешь, что обозначает сумму ряда при изменении n=0, 1, 2, 3, т.е. n должен с каждым шагом увеличиваться.
добавим это в программу
C
1
2
3
4
5
6
7
8
n=0;
summa=0;
while(условие){
a=(1+cos(n))/(2+cos(n));
a=pow(a, 2*n-log(n));
summa=summa+a;
n=n+1;// вот здесь с новым шагом цикла n увеличивается
}
Осталась последняя неясность в нашей программе. Что за "условие" стоит в цикле while?
Т.е. сколько элементов ряда нужно суммировать? А нам не сказано сколько! Давай! Смотри в условие! Там сказано (1+cos(n))/(2+cos(..., короче это наше слагаемое а должно быть меньше эпсилон
Ну! Так прямо так и запишем! Видишь? для того что бы выполнить аналогичное задание надо только понять условие и записать все действия, которые там требуются на языке программирования.
Пишем:
C
1
2
3
4
5
6
7
8
9
10
n=0;
summa=0;
epsilon=1e-4;
a=1;
while(a>=epsilon){
a=(1+cos(n))/(2+cos(n));
a=pow(a, 2*n-log(n));
summa=summa+a;
n=n+1;// вот здесь с новым шагом цикла n увеличивается
}
видишь? а в цикле постоянно уменьшается, и когда оно будет меньше epsilon цикл завершится.
Разве это какая-то высшая математика?
Короче, объяснил подробно. Надеюсь ты понял. Как вывести summa на экран думаю догадаешься.
Или ты даже Hello World написать не можешь?
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.03.2012, 23:34
Помогаю со студенческими работами здесь

Вычислить значение выражения
Вычислит: y=1*2-3*4+5*6+...+11*12+((1*3+2*4+3*5+...8*10)/(2*5+5*8+8*11+...+14*17)) Вывести y.

Вычислить значение выражения
Вычислить значение выражения: у = 5!/(4^5+35-4!/(4^4+34-3!/(4^3+33-2!/(4^2+32-1)/(4 + 31-х))))) Перепишите формулу используя редактор...

Вычислить значение выражения
Вычислить значение выражения: a) x+ +(x+ )2 , b) ln|2- | (x- ) , при x=4 и х=0.74;

Вычислить значение выражения
Добрый день, недавно начал изучение языка C++. Не смог корректно решить задачу: ...

Вычислить значение выражения
П.5.18. Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru