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

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

26.03.2012, 22:45. Показов 3918. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
f(x,t)=(1+√(x^(2 )-2xt))/(1+√(1+〖sin〗^2 x)+0,3〖cos〗^2 xt)

Вот что написал но он при подсчете пишет постоянно NaN

C#
1
2
3
4
5
6
7
8
9
10
11
12
 Double x = 0;
            Double t = 0;
            Double f = 0;
            Console.Write("x=");
            x=Convert.ToDouble(Console.ReadLine());
            Console.Write("t=");
            t=Convert.ToDouble(Console.ReadLine());
            
            
            f=(1+Math.Sqrt(Math.Pow(x,2)-2*x*t))/1+Math.Sqrt(1+Math.Pow(Math.Sin(x),2))+(0.3*Math.Pow(Math.Cos(x),2)*t);
            Console.WriteLine("f=" + f);
            Console.ReadLine();
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.03.2012, 22:45
Ответы с готовыми решениями:

Вычислить значение выражения
помогите записать на языке С# :

Вычислить значение выражения
Такой код? 4. Вычислить s = 1! + 2! + ... + 6! const int n = 6; int s = 1, sum=0; for (int i = 2; i <= n; i++) { s = s *...

Вычислить значение выражения
Значения должны получиться одинаковыми, но у меня не получается... И покажите, может, лучший метод записи, по-вашему. double x, y, z1,...

11
 Аватар для Sanyaslinkz
44 / 44 / 3
Регистрация: 12.03.2011
Сообщений: 100
26.03.2012, 23:16
C#
1
f = (1+(Math.Sqrt(x*x - 2*x*t)))/(1+Math.Sqrt(1+(Math.Sin(x)*Math.Sin(x))+0.3*(Math.Cos(x)*Math.Cos(x))*x*t));
п.с учитывай , что ты работаешь с Sin & Cos -> x & t от -1 до 1

ошибка у тебя вылазет здесь (1+(Math.Sqrt(x*x - 2*x*t))) т.к при подсчете получается отрицательное число ,а корень из него брать нельзя...вот я попробывал х=-0.5 а Т=0.5 - подсчитать получилось
0
0 / 0 / 0
Регистрация: 04.03.2012
Сообщений: 11
26.03.2012, 23:26  [ТС]
а как тогда написать чтобы он писал что нельзя корень из отрицательного числа высчитать?с помощью условий или как?
0
 Аватар для Sanyaslinkz
44 / 44 / 3
Регистрация: 12.03.2011
Сообщений: 100
26.03.2012, 23:28
ну можно примитивно...сделать f f1 f2
f1- первая часть
f2 -вторая
и
C#
1
2
3
4
if (f1>=0)
f=f1/f2;
else 
Console.WriteLine("корень взять нельзя");
1
Амурчанка
 Аватар для tantemka
136 / 136 / 44
Регистрация: 07.11.2011
Сообщений: 279
27.03.2012, 00:13
Цитата Сообщение от Sanyaslinkz Посмотреть сообщение
Sin & Cos -> x & t от -1 до 1
На сколько память не изменяет, аргумент cos и sin может принимать абсолютно любое значение, а вот значение самих функций уже лежит от -1 до 1
0
 Аватар для Prorok
112 / 112 / 22
Регистрация: 26.12.2008
Сообщений: 166
27.03.2012, 00:18
Цитата Сообщение от tantemka Посмотреть сообщение
На сколько память не изменяет, аргумент cos и sin может принимать абсолютно любое значение, а вот значение самих функций уже лежит от -1 до 1
NаN из-за Math.Sqrt
1
0 / 0 / 0
Регистрация: 04.03.2012
Сообщений: 11
27.03.2012, 12:08  [ТС]
Вот что написал подскажите как правильно это все расставить в программе

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Double x = 0;
            Double t = 0;
            Double f = 0;
            Console.Write("x=");
            x=Convert.ToDouble(Console.ReadLine());
            Console.Write("t=");
            t=Convert.ToDouble(Console.ReadLine());
            if (Math.Sqrt(Math.Pow(x, 2) - 2 * x * t)>=0)
            if (Math.Sqrt(1 + Math.Pow(Math.Sin(x), 2))>=0)
            if (Math.Sin(x)>=-1)
            if (Math.Sin(x)<=1)
            if (Math.Cos(x)>=-1)
            if (Math.Cos(x)<=1)
            f=  1 + Math.Sqrt(Math.Pow(x, 2) - 2 * x * t)/1 + Math.Sqrt(1 + Math.Pow(Math.Sin(x), 2)) + (0.3 * Math.Pow(Math.Cos(x), 2) * t);
            Console.WriteLine("f=" + f);
            else Console.WriteLine("no");
            Console.ReadLine();
0
Амурчанка
 Аватар для tantemka
136 / 136 / 44
Регистрация: 07.11.2011
Сообщений: 279
27.03.2012, 13:12
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
            Console.Write("x= ");
            double x = Convert.ToDouble(Console.ReadLine());
            Console.Write("t= ");
            double t = Convert.ToDouble(Console.ReadLine());
            double num = Math.Sqrt(x * x - 2 * x * t);
            double f;
            if (num >= 0)
            {
                f = (1 + num) / 1 + Math.Sqrt(1 + Math.Pow(Math.Sin(x), 2)) + (0.3 * Math.Pow(Math.Cos(x), 2) * t);
                Console.WriteLine("f= " + f);
            }
            else Console.WriteLine("Введите другие значения х и t");
            Console.ReadKey(true);
Зачем проверять
C#
1
2
3
4
5
            if (Math.Sqrt(1 + Math.Pow(Math.Sin(x), 2))>=0)
            if (Math.Sin(x)>=-1)
            if (Math.Sin(x)<=1)
            if (Math.Cos(x)>=-1)
            if (Math.Cos(x)<=1)

В вашей функции только под первым корнем может быть ошибка
И еще, в функции не очень понятно последнее слагаемое: cos2(x)*t или cos2(x*t)
1
0 / 0 / 0
Регистрация: 04.03.2012
Сообщений: 11
27.03.2012, 16:03  [ТС]
вот еще с одной разобраться не могу подскажите пожалуйста ошибку
f(x,t)=(1/(1+x^2 )-2xt)/(t^3 x+√(1+〖sin〗^2 x+xt〖cos〗^2 xt))
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Double x = 0;
            Double t = 0;
            Double f = 0;
            Console.Write("x=");
            x = Convert.ToDouble(Console.ReadLine());
            Console.Write("t=");
            t = Convert.ToDouble(Console.ReadLine());
            if ((Math.Pow(t, 3) * x + Math.Sqrt(1 + Math.Pow(Math.Sin(x), 2) + x * t * Math.Pow(Math.Cos(x * t), 2))== 0))
            {
                Console.WriteLine("no");
            }
 
            else f = ((1 / 1 + x * x) - 2 * x * t) / (Math.Pow(t, 3) * x + Math.Sqrt(1 + Math.Pow(Math.Sin(x), 2) + x * t * Math.Pow(Math.Cos(x * t), 2)));
            Console.WriteLine("f=" + f);
            Console.ReadLine();
0
Амурчанка
 Аватар для tantemka
136 / 136 / 44
Регистрация: 07.11.2011
Сообщений: 279
27.03.2012, 16:47
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            Console.Write("x= ");
            double x = Convert.ToDouble(Console.ReadLine());
            Console.Write("t= ");
            double t = Convert.ToDouble(Console.ReadLine());
            double koren = 1 + Math.Pow(Math.Sin(x), 2) + x * t * Math.Pow(Math.Cos(x * t), 2); // переменная для проверки подкоренного выражения
            double zn = Math.Pow(t, 3) * x + Math.Sqrt(koren);// переменная для проверки равенства нулю знаменателя
            double f;
            if (koren < 0 || zn == 0)
                Console.WriteLine("Введите другие значения х и t");
            else
            {
                f = (1 / (1 + x * x) - 2 * x * t) / zn;
                Console.WriteLine("f= " + f);
            }
            Console.ReadKey(true);
Здесь так же главное проверить подкоренное выражение, хотя весь знаменатель проверяется на равенство нулю
1
0 / 0 / 0
Регистрация: 04.03.2012
Сообщений: 11
27.03.2012, 17:01  [ТС]
tantemka, А что значит ReadKey(true) в конце?Спасибо большое за помощь
0
Амурчанка
 Аватар для tantemka
136 / 136 / 44
Регистрация: 07.11.2011
Сообщений: 279
27.03.2012, 18:29
ReadKey() указывает, что программа ожидает нажатие на любой клавиши. Если взять ReadKey(), то нажатая клавиша отобразится в окне консоли (буква, цифра, спец символ), если брать ReadKey(true), то той буковки или циферки видно не будет.
ReadKey()
ReadKey(boolean)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.03.2012, 18:29
Помогаю со студенческими работами здесь

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

Вычислить значение выражения
Сдать нужно в понедельник. Не понимаю, как вычислить значение этого выражения: S=sin(x+cos(2x-sin(3x+cos(4x+sin(5x-cos(6x+...)...). ...

Вычислить значение выражения
Вычислить (1+sin0.1)(1+sin0.2)...(1+sin10) Пожалуйста, помогите в написании программы и блок-схемы. Очень прошу

Вычислить значение выражения
начинаю изучать C#. Как решать примеры такого типа? F=\frac{\left|sin\, x^3-ln\, \frac{a}{4} \right|}{e^{2z-5a-ln(x-a)}}\; , \;...

Вычислить значение выражения
Дано действительное число y. Получить: \frac{1.7*t(0.25)+2*t(1+y)}{6-t(y^2-1)} где ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru