Описать класс, представляющий нелинейное уравнение - C#

Узнай цену своей работы

Формулировка задачи:

Описать класс, представляющий нелинейное уравнение вида ах - cos(x) = 0. Опи¬сать метод, вычисляющий решение этого уравнения на заданном интервале ме¬тодом деления пополам (см. раздел «Цикл с параметром for») и выбрасывающий исключение в случае отсутствия корня. Описать свойства для получения состоя¬ния объекта.Написать программу, демонстрирующую все разработанные элементы класса. Код:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace PracticTimurTwo
  7. {
  8. class Fun
  9. {
  10. public double arg;
  11. public void Arg()
  12. {
  13. }
  14. public void Arg(double arg)
  15. {
  16. this.arg = arg;
  17. }
  18. const double e = 0.001;
  19. public void Bin(double a, double b)
  20. {
  21. while (Math.Abs(b - a) > e)
  22. {
  23. double c = (a + b) / 2;
  24. if ((Math.Cos(a)/arg)*(Math.Cos(c)/arg) < 0) b = c;
  25. else a = c;
  26. }
  27. Console.Write("x = {0}", Math.Abs(b - a));
  28. }
  29. }
  30.  
  31. class Program
  32. {
  33. static void Main(string[] args)
  34. {
  35. try
  36. {
  37. Console.WriteLine("Исходное уравнение: ax - cos(x) = 0");
  38. Fun f = new Fun();
  39. Console.Write("Введите аргумент а: ");
  40. f.arg = double.Parse(Console.ReadLine());
  41. f.Bin(10, 100);
  42. Console.ReadKey();
  43. }
  44. catch
  45. {
  46. Console.WriteLine("Error!!!");
  47. }
  48. }
  49. }
  50. }
Не могу понять что выводить на экран и соответствует ли программа условию... Помогите плиз

Решение задачи: «Описать класс, представляющий нелинейное уравнение»

textual
Листинг программы
  1. using System;
  2.  
  3. namespace App3
  4. {
  5.     class CNonLinearEquation
  6.     {
  7.         public double arg;
  8.    
  9.         public CNonLinearEquation (double A) { this.arg = A;}
  10.  
  11.         // точность вычислен
  12.         const double e = 10e-5;
  13.        
  14.         private double f( double x) { return arg * x - Math.Cos(x); }
  15.  
  16.         public void Solve(double a, double b)
  17.            
  18.         {
  19.             if (f(a) * f(b) > 0)
  20.                 Console.WriteLine("Корней нет");
  21.             else {
  22.                
  23.                 double c = (a + b) / 2;
  24.  
  25.            
  26.                 while (Math.Abs(b - a) >= e) {
  27.  
  28.                     if (f(a) * f(c) < 0)
  29.                         b = c;
  30.                     else
  31.                         a = c;
  32.                
  33.                      c = (a + b) / 2;
  34.                 }
  35.            
  36.                 Console.WriteLine("x = {0}", c);
  37.             }
  38.  
  39.            
  40.         }
  41.     }
  42.    
  43.    
  44.     class Program
  45.     {
  46.         public static void Main(string[] args)
  47.         {
  48.            
  49.             Console.WriteLine("Исходное уравнение: ax - cos(x) = 0");
  50.            
  51.             Console.Write("Введите аргумент а: ");
  52.             double catch_a = Double.Parse(Console.ReadLine()); // 1
  53.            
  54.             Console.Write("Введите начало интервала: ");
  55.             double catch_S = Double.Parse(Console.ReadLine()); // 6
  56.            
  57.             Console.Write("Введите конец интервала: ");
  58.             double catch_E = Double.Parse(Console.ReadLine()); // 10
  59.            
  60.             CNonLinearEquation eq = new CNonLinearEquation(catch_a);
  61.            
  62.             eq.Solve(catch_S,catch_E); // Корней нет
  63.            
  64.                        
  65.             eq.arg = 5;
  66.             eq.Solve(-1,1.0);
  67.                
  68.             Console.Write("Press any key to continue . . . ");
  69.             Console.ReadKey(true);
  70.         }
  71.     }
  72. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы