как написать такую программу без использования Convert.ToDouble на С#?

Здравствуйте,вот условие: мне нужно разработать программу на языке C# вычисления по приведенной формуле F(x) и вывести на экран результат в указанном формате. Исходные данные вводятся с клавиатуры. Сравнить полученное значение с указанным правильным результатом. Мой вопрос: подскажите пожалйста как мне написать код, на каком сайте найти полезный материал чтобы понять как написать данную программму

видел такой код:

using System;

class Program
{
    static void Main(string[] args)
    {
        // Ввод значений x и a с клавиатуры
        Console.WriteLine("Введите значение x:");
        double x = Convert.ToDouble(Console.ReadLine());

        Console.WriteLine("Введите значение a:");
        double a = Convert.ToDouble(Console.ReadLine());

        // Эталонное значение F для сравнения
        double expectedF = 10.736
        // Вычисление F по формуле
        double part1 = Math.Exp(-2 * Math.PI * Math.Sqrt(Math.Pow(x, 2) + 1.2));
        double part2 = 13 * Math.Pow(x, 1.5);
        double part3 = Math.Pow(x * a, 1 / a);
        double part4 = Math.Log(Math.Abs(Math.Tan(x / 2)));

        double F = part1 + part2 + part3 + part4;

        // Вывод результата
        Console.WriteLine($"Результат вычисления F(x): {F}");

        // Сравнение с эталонным значением
        if (Math.Abs(F - expectedF) < 1e-6) // Допустимая погрешность
        {
            Console.WriteLine("Результат совпадает с эталонным значением.");
        }
        else
        {
            Console.WriteLine("Результат отличается от эталонного значения.");
        }
    }
}

Но для меня он сложный можно ли как-то это написать не используя метод конверт,парс и т.д вообще без этих методов?

С учетом всех рекомендций решил убрать сравнение результата с эталонным значением.Ведь на моем фото проверка с неверными значениями мой итоговый результат :

using System;

class Program
{
    static void Main(string[] args)
    {
        // Ввод значений x и a с клавиатуры
        Console.WriteLine("Введите значение x:");
        double x = double.Parse(Console.ReadLine());

        Console.WriteLine("Введите значение a:");
        double a = double.Parse(Console.ReadLine());

        // Вычисление F по формуле
        double part1 = Math.Exp(-2 * Math.PI * Math.Sqrt(Math.Pow(x, 2) + 1.2));
        double part2 = 13 * Math.Pow(x, 1.5);
        double part3 = Math.Pow(x * a, 1 / a);
        double part4 = Math.Log(Math.Abs(Math.Tan(x / 2)));

        double F = part1 + part2 + part3 + part4;

        // Вывод результата
        Console.WriteLine($"Результат вычисления F(x): {F}");
    }
}

это пример кода


Ответы (1 шт):

Автор решения: Qwertiy

Convert.ToDouble - вообще метод с сомнительной полезностью. Единственный случай, когда его надо использовать - это если переменная имеет тип object и ты хочешь чтобы она привелась в double потенциально с конвертацией типа. В остальных случаях есть приведение типа (double)x и парсинг строки double.Parse(s). Очевидно, что в твоём случае нужно второе.

→ Ссылка