Вычислить значения функции по формулам - C#

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

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

Задание на фото. Как видно, x нач. = 0, x конечн. = 3, шаг = 0.1, y = 12. Найти q для каждого x. Вот моя программа, но она работает некорректно. Например, при x = 1 очевидно, что q = 11, а не -0.5. Мне кажется, что дело в типе данных double. Помогите исправить код, пожалуйста.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication6
{
    public class Tabel
    {
        public double a { get; set; }
        public double b { get; set; }
        public override string ToString()
        {
            return String.Format("{0:0.00}\t\t|\t     {1:0.00}", a, b);
        }
    }
 
    class Program
    {
 
        static void Main(string[] args)
        {
 
            double x;
            Console.WriteLine("\n\n  x\t\t\t     q   \n");
 
            x = 0;
            double q;
            for (x = 0.1; x <= 3; x=x+0.1) { 
                if (x < 1)
                    q = Math.Pow(x, (12.0 / x)) - Math.Pow(Math.Sqrt(12.0/ x), 1.0/3);
                else if (x > 1) q = (1.0 / 12) - x;
                else q = 12.0 - x;
 
                List<Tabel> Tabl = new List<Tabel>() {
            new Tabel(){a = x, b = q},
            };
                foreach (Tabel c in Tabl)
                    Console.WriteLine(c);
                
            }
 
            Console.ReadKey();
        }
    }
}

Решение задачи: «Вычислить значения функции по формулам»

textual
Листинг программы
Math.Pow(Math.Sqrt(12.0/ x), 1.0/3)

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


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

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

14   голосов , оценка 4.286 из 5
Похожие ответы