Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save karabanovbs/7e6cccf1a243131501638be44804fae8 to your computer and use it in GitHub Desktop.
Save karabanovbs/7e6cccf1a243131501638be44804fae8 to your computer and use it in GitHub Desktop.
import 'dart:math';
// 2.5 Функции
// Напишите функцию решения квадратного уравнения, используя вложенные функции. Вычисление дискриминанта, нахождение x1 и x2 выполните во вложенных функциях. Главная функция должна возвращать готовый результат. Функция возвращает ответ в строке (String). Есть три вида результата:
// Уравнение не имеет решения так как его дискриминант меньше нуля;
// Квадратное уравнение имеет единственное решение;
// Квадратное уравнение имеет два разных корня.
void main() {
String quadraticEquation(double a, double b, double c) {
double discriminant(a, b, c) {
return b * b - 4 * a * c;
}
double x1(a, b, d) {
return (-b - sqrt(d)) / (2 * a);
}
double x2(a, b, d) {
return (-b + sqrt(d)) / (2 * a);
}
var d = discriminant(a, b, c);
print('discriminant = $d');
if (d > 0) {
print('x1 = ${x1(a, b, d)}');
print('x2 = ${x2(a, b, d)}');
return 'Квадратное уравнение имеет два разных корня';
}
if (d < 0) {
return 'Уравнение не имеет решения так как его дискриминант меньше нуля';
}
if (d == 0) {
print('x = ${x1(a, b, 0)}');
return 'Квадратное уравнение имеет единственное решение';
}
}
print(quadraticEquation(1, 11, 28));
print('==========================');
print(quadraticEquation(1, 1, 1));
print('==========================');
print(quadraticEquation(1, 2, 1));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment