Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для Fa4stik
7 / 7 / 1
Регистрация: 04.04.2020
Сообщений: 262

Бесконечная сумма

21.10.2020, 14:19. Показов 2198. Ответов 5

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, верно ли я выполнил задачу.
Суть: вычислить бесконечною сумму с заданной точностью https://www.cyberforum.ru/cgi-bin/latex.cgi?\varepsilon (https://www.cyberforum.ru/cgi-bin/latex.cgi?\varepsilon > 0). Считать, что точность достигнута, если очередное слагаемое по модулю меньше https://www.cyberforum.ru/cgi-bin/latex.cgi?\varepsilon, - все последующие слагаемые можно уже не учитывать
https://www.cyberforum.ru/cgi-bin/latex.cgi?S = \frac {1}{2^{2}} + \frac {1}{4^{2}} + ... + \frac {1}{(2n)^{2}} + ...
C#
1
2
3
4
5
6
7
8
9
10
11
            double S = 0;
            double e = double.Parse(Console.ReadLine());
            double i = 2;
            int k = 0;
            while (S<e)
            {
                S += 1 / (i * i);
                i += 2;
                k++;
            }
            Console.WriteLine($"S={S}, кол-во слагаемых: {k}");
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.10.2020, 14:19
Ответы с готовыми решениями:

Бесконечная рекурсия
есть 2 функции который должны возвращать 0 или 1 в зависимости от элементов массивов PA и element. Известно что значения этих функций при...

Ошибка: бесконечная рекурсия
Ребята, не могу понять что надо исправить, выдает ошибку что у меня безконечная рекурсия Смотрите с 33 строки. Спасибо ...

Бесконечная проверка доступа в Интернет
Здравствуйте. Появилась проблема, не могу решить, сообразить вернее. Мне нужно чтобы программа каждые 3 секунды проверяла доступ в...

5
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,108
Записей в блоге: 2
21.10.2020, 14:28
Лучший ответ Сообщение было отмечено Fa4stik как решение

Решение

Цитата Сообщение от Fa4stik Посмотреть сообщение
верно ли я выполнил задачу.
Нет.
Сравнивать с "e" надо не всю сумму, а слагаемое.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
            double sum = 0;
            double e = double.Parse(Console.ReadLine());
            double i = 2;
        //    int k = 2;
            double step = double.MaxValue;
            for(; step > e; i+=2)
    //        while (s<e)
            {
                step = 1 / (i * i);
                sum += step;
//                i += 2;
 //               k++;
            }
            Console.WriteLine($"Sum={sum}, кол-во слагаемых: {i/2}");
1
 Аватар для Fa4stik
7 / 7 / 1
Регистрация: 04.04.2020
Сообщений: 262
21.10.2020, 14:31  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
double step = double.MaxValue;
Что это значит?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,108
Записей в блоге: 2
21.10.2020, 14:35
Лучший ответ Сообщение было отмечено Fa4stik как решение

Решение

Пишу здесь - могут быть мелкие ошибки.
В том числе возможно при выводе надо отнимать единицу: слагаемых: {i/2-1}");

Добавлено через 36 секунд
Цитата Сообщение от Fa4stik Посмотреть сообщение
Что это значит?
Начально значение, чтобы при заходе в цикл проверка не происходила.

Добавлено через 55 секунд
Вернее, она происходит, но всегда гарантированно успешная.
1
 Аватар для Fa4stik
7 / 7 / 1
Регистрация: 04.04.2020
Сообщений: 262
21.10.2020, 14:41  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Начально значение, чтобы при заходе в цикл проверка не происходила.
Можно же проще сделать:
C#
1
double step = e+1;
А так понял, спасибо большое!
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16139 / 11263 / 2888
Регистрация: 21.04.2018
Сообщений: 33,108
Записей в блоге: 2
21.10.2020, 20:22
Цитата Сообщение от Fa4stik Посмотреть сообщение
Можно же проще сделать:
А чем это проще?

double.MaxValue - статическое поле. И компилятор проставляет его значение при сборке.
e+1 - это динамическое выражение вычисляемое во время исполнения программы.

Проще тем, что короче запись?
Ну, в таком случае, у нас разное понимание "простоты кода"...


Добавлено через 2 минуты
Чем e+1 лучше тогда просто 1.
Логически e должно быть всегда меньше единицы.
Но я привык в таких вещах делать гарантировано правильно, а не только логически правильно.
Так сказать - "защита от дурака".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.10.2020, 20:22
Помогаю со студенческими работами здесь

Что такое бесконечная рекурсия и как от неё избавляются?
Что такое бесконечная рекурсия и как от неё избавляются?

Бесконечная лента
Добрый день, задали курсовик &quot;эмулятор машины Поста&quot; не могу придумать как сделать бесконечную ленту ? Даже не понимаю каким элементом это...

Бесконечная попытка приконнектится
Имеется некий класс Class 1, из которого запускается таймер объекта другого класса (Class2). В Elapsed этого таймера метод пытается...

Бесконечная рекурсия в быстрой сортировке
При попытке создать быструю сортировку выкидывает System.StackOwerflowExcepion. Скорее всего тут бесконечная рекурсия, но на мой...

Бесконечная лента для эмулятора машины Тьюринга
Добрый вечер, задали курсовую работу &quot;эмулятор машины Тьюринга&quot; не могу придумать как сделать бесконечную ленту в C#. Помогите...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru