Вычислить значения функции по формулам - 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)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д