Приветствуем всех читателей и подписчиков канала! 👋
Сегодня в уроке рассмотрим как создать пользовательскую функцию, которая решает квадратные уравнения вида ax^2 + bx + c = 0 и возвращает решение в виде одного значения (если решение уравнения одно) или массива из двух значений (если решений уравнения два).
📢 Скачать исходник с примером вы можете в конце статьи 🔽
🔔 Представляем код, который является пользовательской функцией в Excel для решения квадратных уравнений вида ax^2 + bx + c = 0.
⏩ Алгоритм решения уравнения
⏩ Описание кода
- Первая строка объявляет функцию с названием QuadraticSolver и тремя аргументами (a, b, с), которые должны быть типа Double (вещественные числа).
- Объявляются 3 переменные типа Double: discriminant, х1 и х2.
- Выражение discriminant = b * b - 4 * a * c - вычисляет дискриминант квадратного уравнения (далее - D).
- Блок условий:
- Если D < 0, то решение не имеет действительных корней. В этом случае будет возвращена строка "Нет корней": QuadraticSolver = "Нет корней".
- Если D = 0, то решение имеет 1 действительный корень.
Мы вычисляем этот корень по формуле: x1 = -b / (2 * a) и возвращаем его в качестве результата функции: QuadraticSolver = x1
В последнем блоке, если D> 0, то решение имеет 2 действительных корня, вычисляемые по формулам:
- для 1-го: х1 = (-b + Sqr(discriminant)) / (2 * a)
- для 2-го: х2 = (-b - Sqr(discriminant)) / (2 * a)
Затем функция возвращает массив, содержащий 2 (два) решения, используя функцию Array(х1, х2): QuadraticSolver = Array(x1, x2)
5. Код функции заканчивается словом "End Function" указывающим на ее завершение.
🔲 Подводя итог:
Рассмотренная функция принимает 3 аргумента (a, b и c), являющиеся коэффициентами квадратного уравнения, возвращая 1 или 2 корня в зависимости от значения дискриминанта.