Загрузка данных


using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("=== Вычисление функции F(x) ===");
        Console.WriteLine("F(x) = { -x^2, если x >= 7");
        Console.WriteLine("       { 2^(-x)/(x^2-9), если x <= 7");
        Console.WriteLine();

        // ВХОДНЫЕ ДАННЫЕ
        Console.Write("Введите x: ");
        double x;
        
        // Проверка корректности ввода
        if (!double.TryParse(Console.ReadLine(), out x))
        {
            Console.WriteLine("Ошибка: введите число!");
            return;
        }

        // ВЫХОДНЫЕ ДАННЫЕ (вычисление)
        double result;
        bool error = false;

        // Блок-схема на C#:
        // 1. Проверка x >= 7
        if (x >= 7)
        {
            // Ветка: F = -x^2
            result = -x * x;
        }
        else // x < 7
        {
            // 2. Проверка знаменателя на ноль
            double denominator = x * x - 9;
            
            if (Math.Abs(denominator) < 1e-10) // x = 3 или x = -3
            {
                Console.WriteLine("ОШИБКА: деление на ноль (x = 3 или x = -3)");
                error = true;
                result = 0; // значение не используется
            }
            else
            {
                // Вычисление числителя: 2^(-x)
                double numerator = Math.Pow(2, -x);
                result = numerator / denominator;
            }
        }

        // ВЫВОД РЕЗУЛЬТАТА
        if (!error)
        {
            Console.WriteLine($"\nВход: x = {x}");
            Console.WriteLine($"Выход: F(x) = {result}");
            
            // Дополнительная информация (для наглядности)
            if (x >= 7)
                Console.WriteLine("(использована формула: -x^2)");
            else
                Console.WriteLine("(использована формула: 2^(-x)/(x^2-9))");
        }

        Console.WriteLine("\nНажмите любую клавишу для выхода...");
        Console.ReadKey();
    }
}