Алгоритм нахождения корней квадратного уравнения:
1) Есть квадратное уравнение вида ax^2+bx+c=0, требуется найти такие x, чтобы уравнение становилось истинным;
2) Находим дискриминант уравнения по формуле D=b^2-4ac;
3) Если дискриминант меньше нуля (D<0), то действительных корней у данного уравнения не существует.
4) В ином случае уравнение имеет два решения x1=[-b-sqrt(d)]/2a, x2=[-b+sqrt(d)]/2a.
Вот программа на С++:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
cout << "Input a, b, c: ";
double a, b, c;
cin >> a >> b >> c;
double D = b * b - 4 * a * c;
if (D < 0)
cout << "No solutions." << endl;
else
{
double x1 = (-b - sqrt(D)) / (2 * a);
cout << "x1 = " << x1 << endl;
double x2 = (-b + sqrt(D)) / (2 * a);
cout << "x2 = " << x2 << endl;
}
return 0;
}
Новое, что мы узнали здесь, это оператор if. С помощью оператора if компьютер делает выбор, какой кусок кода ему выполнять.
В общем случае оператор if имеет два варианта. Первый вариант:
if (условие) действие
Если условие истинно, то компьютер выполнит действие, в противном случае действие сделано не будет. Если нужно совершить несколько действий, то их нужно заключить в фигурные скобки.
Второй вариант, вариант с альтернативой:
if (условие)
действие1;
else
действие2;
Если условие истинно, то компьютер выполнит действие1, в противном случае будет выполнено действие2. Если нужно совершить несколько действий, то их нужно заключить в фигурные скобки.