Приветствую всех сегодня рассмотрим пример решения квадратного уравнения. Их часто задают в университетах, а так же в школах старших классов. Для начала посмотрим на условия задания: Написать программу вычисления корней квадратного уравнения вида ax2+bx+c = 0. Значения a, b и c вводить в режиме диалога. Предусмотреть проверку существования корней уравнения и выдать соответствующие сообщения. Для решения задачи использовать метод-процедуру. Зная задание приступим его решению.
Рассмотрим код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
//изучаем C# на nookery.ru static void Main(string[] args) { // Ввод данных уравнения - значения a, b и c // После ввода данных мы обрезаем лишние пробелы по краям методом Trim() // и преобразовываем тип string во float Console.Write("Введите значение a = "); float a = float.Parse(Console.ReadLine().Trim()); Console.Write("Введите значение b = "); float b = float.Parse(Console.ReadLine().Trim()); Console.Write("Введите значение c = "); float c = float.Parse(Console.ReadLine().Trim()); // Вычисление дискриминанта float d = b * b - 4 * a * c; // При дискриминанте меньшим 0 - выводим ошибку if (d < 0) { Console.Write("Дискриминант d < 0<!— hu —>. Решение квадратного уравнения невозможно."); } else { // Объявляем корни уравнения float x1, x2; // При дискриминанте равным 0 оба корня равны if (d == 0) { x1 = x2 = -(b / 2 * a); } else { // Извлекаем корень из дискриминанта float sqrtD = (float)System.Math.Sqrt(d); // Высчитываем корни уравнения x1 = (-b + sqrtD) / (2 * a); x2 = (-b - sqrtD) / (2 * a); } // Выводим результат Console.Write("d = " + d.ToString() + " x1 = " + x1.ToString() + " x2 = " + x2.ToString()); } // Ждем нажатия клавиши, чтобы завершить выполнение программы Console.ReadLine(); } |
Код приведенный выше для решения квадратного уравнения, за комментирован с достаточно полным разъяснением, при написании программы не должно возникнуть никаких проблем.