Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 09.10.2020
Сообщений: 36

Посмотрите правильно ли сделал? Программа работает вроде

11.12.2022, 01:20. Показов 528. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace SD05
{
    class Program05
    {
        static void Main(string[] args)
        {
            double x, y, s;
            long n;
            Console.WriteLine("Введите значение аргумента ");
            x = double.Parse(Console.ReadLine());
            // Вычисление значения функции по аналитической формуле
            y = Math.Cos(x);
            // Вычисление значения функции с помощью суммы
            s = 0;
            for (n = 1; n <= 50; n++)
            {
                s = s * (1-4*x*x) /(Math.Pow(2*n-1,2)*Math.Pow(Math.PI,2));
            }
            // Вывод результатов
            Console.WriteLine("\nАгумент = {0,5:F2}  Функция = {1,5:F2}  Сумма = {2,5:F2}", x, y, s);
        }
    }
}
Миниатюры
Посмотрите правильно ли сделал? Программа работает вроде  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.12.2022, 01:20
Ответы с готовыми решениями:

Все правильно вроде сделал, программа работает, но не выдает нужный результат!
Задание Сложное слово состоит из двух частей одинаковой длины и соединительной гласной. Найдите обе части этого слова. ВОт код первую...

Ребята посмотрите код вроде все правильно сделал почему-то не запускается
import random class Railway_ticket: &quot;&quot;&quot;Документация класса билета на поезд id-номер билета price-цена билета ...

Программа ругается, не пониманимаю из-за чего, вроде бы всё правильно сделал
Задание: даны натуральное n, символы s1,...sn. Преобразовать последовательность s1,...sn, заменив в ней все вхождения букв &lt;abc&gt; на...

6
0 / 0 / 0
Регистрация: 09.10.2020
Сообщений: 36
11.12.2022, 02:08  [ТС]
Вот так наверно будет правильно?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 class Program05
    {
        static void Main(string[] args)
        {
            double x, y, p;
            long n;
            Console.WriteLine("Введите значение аргумента ");
            x = double.Parse(Console.ReadLine());
            // Вычисление значения функции по аналитической формуле
            y = Math.Cos(x);
            // Вычисление значения функции с помощью суммы
            p = 0;
            for (n = 1; n <= 50; n++)
            {
                p = p * (-1)*((-4*x*x) /(Math.Pow(2*n-1,2)*Math.Pow(Math.PI,2)));
            }
            // Вывод результатов
            Console.WriteLine("\nАгумент = {0,5:F2}  Функция = {1,5:F2}  Сумма = {2,5:F2}", x, y, p);
        }
    }
}
Добавлено через 33 минуты
или так ?

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
using System;
using System.Collections.Generic;
using System.Text;
 
namespace SD05
{
    class Program05
    {
        static void Main(string[] args)
        {
            double x, y, p;
            long n;
            Console.WriteLine("Введите значение аргумента ");
            x = double.Parse(Console.ReadLine());
            // Вычисление значения функции по аналитической формуле
            y = Math.Cos(x);
            // Вычисление значения функции с помощью суммы
            p = 0;
            for (n = 1; n <= 50; n++)
            {
                p=p*1 - (4 * Math.Pow(x, 2)) / Math.Pow(2 * n - 1,2) * Math.Pow((Math.PI), 2);
            }
            // Вывод результатов
            Console.WriteLine("\nАгумент = {0,5:F2}  Функция = {8,8:F2}  произведение = {12,13:F2}", x, y, p);
        }
    }
}
0
 Аватар для Doomov
1056 / 335 / 119
Регистрация: 28.11.2020
Сообщений: 1,066
11.12.2022, 05:14
Лучший ответ Сообщение было отмечено hydro0065 как решение

Решение

Цитата Сообщение от hydro0065 Посмотреть сообщение
// Вычисление значения функции с помощью суммы
Цитата Сообщение от hydro0065 Посмотреть сообщение
// Вычисление значения функции с помощью суммы
Вот мне интересно, с каких пор "П" стало суммой?
Цитата Сообщение от hydro0065 Посмотреть сообщение
s = s * (1-4*x*x) /(Math.Pow(2*n-1,2)*Math.Pow(Math.PI,2));
Цитата Сообщение от hydro0065 Посмотреть сообщение
p = p * (-1)*((-4*x*x) /(Math.Pow(2*n-1,2)*Math.Pow(Math.PI,2)));
Цитата Сообщение от hydro0065 Посмотреть сообщение
p=p*1 - (4 * Math.Pow(x, 2)) / Math.Pow(2 * n - 1,2) * Math.Pow((Math.PI), 2);
Один "тупо" вводит неправильно, второй дважды за ним повторяет. Вы внимательно смотрели задание? Ведь там элемент ряда вычисляется: 1 минус дробь!
И еще.
Цитата Сообщение от hydro0065 Посмотреть сообщение
// Вычисление значения функции с помощью суммы
            s = 0;
Откуда вы взяли точку входа "0"? У Вас просто будет произведение всегда равно НУЛЮ!
Поэтому проще в данном варианте ввести "Коллекцию" List<double>()
А затем...
C#
1
2
3
4
    for (int i = 1; i < 51; i++)
    {
        resLst.Add(1.0 - ((4.0 * x * x) / (Math.Pow (2.0 * i - 1, 2) * Math.Pow (Math.PI, 2))));
    }
В конце просто посчитать...
C#
1
res = resLst.Aggregate ((x, y) => x * y);
И вывести на консоль результат.

Добавлено через 13 минут
Но надо учитывать еще условие: |X| < 1. Сделать проверку в начале...
C#
1
2
3
4
5
6
7
8
9
    double x, y1, res;
    Console.WriteLine ("Введите значение аргумента (|x| < 1)... ");
    x = double.Parse (Console.ReadLine().Replace (".", ","));
    if (Math.Abs(x) >= 1)
    {
        Console.WriteLine ("Не выполнено условие: Math.Abs(x) < 1");
        Console.WriteLine ("Введите значение аргумента (|x| < 1)... ");
        x = double.Parse (Console.ReadLine().Replace (".", ","));
    }

Добавлено через 20 минут
Другой вариант:
C#
1
2
3
4
5
6
7
8
    res = Enumerable.Range (1, 50)
                    .ToList()
                    .Select (e => (1.0 - ((4.0 * x * x) / (Math.Pow (2.0 * e - 1, 2) * Math.Pow (Math.PI, 2)))))
                    .Aggregate ((x, y) => x * y);
 
 
    // Вывод результатов
    Console.WriteLine ("\nАргумент = {0,5:F2}  Функция = {1,5:F5}  Произведение = {2,5:F5}", x, y1, res);
Добавлено через 16 минут
Цитата Сообщение от hydro0065 Посмотреть сообщение
// Вывод результатов
            Console.WriteLine("\nАгумент = {0,5:F2}  Функция = {1,5:F2}  Сумма = {2,5:F2}", x, y, s);
F2 - это мало, хотя бы 5 цифр после запятой...
C#
1
Console.WriteLine("\nАгумент = {0,5:F2}  Функция = {1,5:F5}  Сумма = {2,5:F5}", x, y, s);
Пример:
Аргумент = 0,10 Функция = 0,99500 Произведение = 0,99502
Иначе округление до 1.

Добавлено через 1 минуту
Цитата Сообщение от hydro0065 Посмотреть сообщение
Console.WriteLine("\nАгумент = {0,5:F2}  Функция = {8,8:F2}  произведение = {12,13:F2}", x, y, p);
Интересно: А что Вы хотели вывести?
1
0 / 0 / 0
Регистрация: 09.10.2020
Сообщений: 36
11.12.2022, 06:26  [ТС]
А если так?
при р=0 произведение получается отрицательным

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
29
30
31
32
33
34
using System;
using System.Collections.Generic;
using System.Text;
 
namespace LW05_0044_Terehin
{
    class Program0
    {
        static void Main(string[] args)
        {
            double x, y, p;
            long n;
            Console.WriteLine("Введите значение аргумента (|x| < 1)... ");
            x = double.Parse(Console.ReadLine().Replace(".", ","));
            if (Math.Abs(x) >= 1) // Проверка условия
            {
                Console.WriteLine("Не выполнено условие: Math.Abs(x) < 1");
                Console.WriteLine("Введите значение аргумента (|x| < 1)... ");
                x = double.Parse(Console.ReadLine().Replace(".", ","));
            }
            // Вычисление значения функции по аналитической формуле
            y = Math.Cos(x);
            // Вычисление значения функции с помощью произведения
            p = 0;
            for (n = 1; n <= 50; n++)
            {
                p=p*1 - (4 *Math.Pow(x, 2)) / Math.Pow(2 * n - 1,2) * Math.Pow(Math.PI, 2);
            }
            // Вывод результатов
            Console.WriteLine($"Агумент = {x}  Функция = {y}  произведение = {p}");
            Console.ReadKey();
        }
    }
}
Добавлено через 18 минут
я думаю р=1 так будет верно
0
 Аватар для Doomov
1056 / 335 / 119
Регистрация: 28.11.2020
Сообщений: 1,066
11.12.2022, 07:41
Цитата Сообщение от hydro0065 Посмотреть сообщение
p=p*1 - (4 *Math.Pow(x, 2)) / Math.Pow(2 * n - 1,2) * Math.Pow(Math.PI, 2);
Я ужу писал каждый элемент это 1 - дробь
После этого они перемножаются.
Цитата Сообщение от hydro0065 Посмотреть сообщение
я думаю р=1 так будет верно
Где это прописано в условие? То есть точки входа НЕТ.
И еще: Вам для проверки дана функция Cos(x), они практически должны быть равны. Чего у Вас и нет.
0
0 / 0 / 0
Регистрация: 09.10.2020
Сообщений: 36
11.12.2022, 08:38  [ТС]
или так?
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
29
30
31
32
33
34
using System;
using System.Collections.Generic;
using System.Text;
 
namespace LW05_0044_Terehin
{
    class Program0
    {
        static void Main(string[] args)
        {
            double x, y, p;
            long n;
            Console.WriteLine("Введите значение аргумента (|x| < 1)... ");
            x = double.Parse(Console.ReadLine().Replace(".", ","));
            if (Math.Abs(x) >= 1) // Проверка условия
            {
                Console.WriteLine("Не выполнено условие: Math.Abs(x) < 1");
                Console.WriteLine("Введите значение аргумента (|x| < 1)... ");
                x = double.Parse(Console.ReadLine().Replace(".", ","));
            }
            // Вычисление значения функции по аналитической формуле
            y = Math.Cos(x);
            // Вычисление значения функции с помощью произведения
            p = 1;
            for (n = 1; n <= 50; n++)
            {
                p=p* (1.0 - ((4.0 * x * x) / (Math.Pow(2.0 * n - 1, 2) * Math.Pow(Math.PI, 2))));
            }
            // Вывод результатов
            Console.WriteLine($"Агумент = {x}  Функция = {y}  произведение = {p}");
 
        }
    }
}
0
 Аватар для Doomov
1056 / 335 / 119
Регистрация: 28.11.2020
Сообщений: 1,066
11.12.2022, 09:30
Цитата Сообщение от hydro0065 Посмотреть сообщение
long n;
Только задай не long, задай int
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.12.2022, 09:30
Помогаю со студенческими работами здесь

Посмотрите) Вроде правильно все но не работает. Что не так?
Вообщем проблема такая. Должен в базу заносить данные из StringGrid'а, а по факту в базу вносится только значение для &quot;Cena&quot;, а...

Посмотрите, правильно, ли я все сделал
Есть бд, с нее надо выбрать холостых сотрудников-мужчин, которые родились во втором полугодии. Выбираются фамилия, имя, дата рождения,...

Выдает ошибку но вроде все правильно посмотрите!
Задача в которой создается указатель второго порядка. #include &lt;iostream&gt; #include &lt;conio.h&gt; int main() { double...

Посмотрите прогу вроде правильно нужно доработать?
Дан ряд чисел x (x1,x2...,xn) выбрать из этой совокупности целые числа и для них подсчитать M по формуле M=sqrt(\sum_{k=1}^{n} x^2_k ...

Как исправить вот эти ошибки? Вроде все правильно сделал...
/* * test.cpp * * Created on: 05.11.2011 * Author: Sensei */ #include &lt;iostream&gt; using std::cout; using...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru