Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
5 / 5 / 1
Регистрация: 02.05.2015
Сообщений: 131
1
.NET 4.x

Помогите найти ошибку в расчете формул

25.03.2016, 09:37. Просмотров 912. Ответов 5
Метки нет (Все метки)


Разработать собственный класс, содержащий методы для нахождения значений z1 и z2.
z1=2sin^2(3*pi-2*alfa)cos^2(5*pi + 2*alfa), z2=1/4-1/4sin(5/2*pi-8*alfa). Результаты должны совпадать, если решение выполнено правильно. Вот мое решение, объясните что я сделала не так, ибо у меня ответы не совпадают.
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
35
 public class Calculate
    {
        double alfa; 
        public Calculate(double alfa)
        {
           this.alfa = alfa;
        }           
 
        public double z1
        {
            get { return 2 * Math.Pow(Math.Sin(3 * Math.PI - 2 * alfa), 2) * Math.Pow(Math.Cos(5 * Math.PI + 2 * alfa), 2); }
        }
 
        public double z2
        {
            get { return 1 / 4 - (1 / 4) * Math.Sin((5 / 2) * Math.PI - 8 * alfa); }
        }
 
        public override string ToString()
        {
            return String.Format("Z1={0:0.00}  Z2={1:0.00}", z1, z2);
        }
    }
 
    class Program
    {    
        static void Main(string[] args)
        {
            Console.Write("Введите альфа: ");
            double alfa = Convert.ToDouble(Console.ReadLine());
            Calculate z = new Calculate(alfa);
            Console.WriteLine(z.ToString());
            Console.ReadLine();
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2016, 09:37
Ответы с готовыми решениями:

Помогите найти ошибку в расчете математической функции
Помогите найти ошибку, ответ не равен получается. using System; using...

Помогите исправить ошибку в расчете оценок
Такая проблема, дали самостоятельную, поковырялся, да в чем проблема не пойму, помогите исправить...

Помогите найти ошибку?
Мне нужно что бы по нажатию кнопки значение суммарной яркости заносилось в текстбокс. Но почему то...

Помогите найти ошибку
Нажимаю кнопку выполняется код: private void button2_Click(object sender, EventArgs e) {...

5
905 / 791 / 328
Регистрация: 08.02.2014
Сообщений: 2,387
25.03.2016, 09:42 2
Лучший ответ Сообщение было отмечено Адэля как решение

Решение

Цитата Сообщение от Адэля Посмотреть сообщение
Результаты должны совпадать
т.е при 1 и том же альфа, z1 будет равен z2?

При делении целого числа на целое число без явного указания что это тип double будет результат интом, так что нужно указать что делим мы даблы:
C#
1
2
3
4
public double z2
        {
            get { return 1D / 4D - (1D / 4D) * Math.Sin((5D / 2D) * Math.PI - 8 * alfa); }
        }
и если я правильно понял что z1=z2 то это всё
1
5 / 5 / 1
Регистрация: 02.05.2015
Сообщений: 131
25.03.2016, 09:45  [ТС] 3
да, при одном и том же альфа результаты должны совпадать
0
905 / 791 / 328
Регистрация: 08.02.2014
Сообщений: 2,387
25.03.2016, 09:48 4
Адэля, дополнил пост выше решением проблемы
0
18 / 18 / 14
Регистрация: 02.01.2015
Сообщений: 78
25.03.2016, 10:10 6
Лучший ответ Сообщение было отмечено Адэля как решение

Решение

Результаты совпадают, но не на 100%. Сравните с помощью кода ниже (минимальные границы для alpha можете выставить сами).
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
class Program
{
    static void Main()
    {
        for (double alpha = -20; alpha <= 20; alpha++) //от -20 до 20
        {
            double z1 = 2 * Math.Pow(Math.Sin(3 * Math.PI - 2 * alpha), 2) * Math.Pow(Math.Cos(5 * Math.PI + 2 * alpha), 2);
            double z2 = (1 - Math.Sin(5 * Math.PI / 2 - 8 * alpha)) / 4;
            Console.WriteLine("{0}\n{1}\n{2}\n", alpha, z1, z2);
        }
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2016, 10:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Помогите найти ошибку в коде
всем привет помогите найти ошибку в коде а чет сам не как ВОД КОД; using System; using...

Помогите плиз найти ошибку.
Я реализовал метод поиска минимума функции по методу дихотомии.Но при запуске программы происходит...

Помогите найти ошибку в коде
Не могу понять где ошибка в коде и почему не строится нормально матрица. class Program { ...

помогите найти ошибку в activeform
int w ; w = Form2.ActiveForm.Left(); private void timer1_Tick(object sender,...

Помогите найти ошибку в коде со StreamWriter
помогите, пожалуйста, найти ошибку в 6-ой строчке куска кода private void btSave_Click(object...

Помогите найти ошибку в классе Circle
Задание: Описать класс “Окружность”, методами которого представить перегрузку конструкторов. В...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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