Добавлю от себя чуть-чуть
1. Алгоритма уравнения не существует! Ведь алгоритм - это последовательность действий, приводящая к определённому результату, поэтому правильней будет алгоритм решения или алгоритм нахождения корней.
2. В условии не уточнено - всех корней или только действительных, если всех - то случай D<0 тоже нужно корректно обрабатывать.
3. Если заранее не известно, квадратное ли уравнение задано, то есть на входе просто тройка чисел(a,b,c), алгоритм должен обязательно анализировать на a=0, b=0, c=0.
4. В качестве ответа на вопрос задачи подойдёт и любой численный алгоритм нахождения корней уравнения, например, дихотомию(деление отрезка, содержащего корень, пополам).
При этом, замечу, только численные алгоритмы дают решения даже для уравнений, степени выше 2.
Вот как, оказывается, интересно и сколько вопросов и вариантов может быть при анадизе даже такой простенькой задачки.
Поделитесь своими знаниями, ответьте на вопрос:
Ученик нарисовал три изображения цветка. данные изображения хранятся в оперативной памяти. изображение одного цветка требует 10 КБ памяти. размер каждой ячейки ОЗУ равен 10 КБ. всего 8 ячеек в ОЗУ определите какой объём памяти оперативно запоминающего устройства остался свободным ответ укажите в битахА) 60В) 409600С)400000?
// PascalABC.NET 3.0,сборка 1076
begin
var n:=ReadInteger('Длина последовательности: ');
var a:=ArrRandom(n,-50,50);
Writeln('Исходная последовательность');
a.Println;
Writeln('Сумма элементов: ',a.Sum);
Write('Кол-во четных, кратных пяти: ');
Writeln(a.Where(x-> x mod 10 = 0).Count)
end.
Тестовое решение:
Длина последовательности: 20
Исходная последовательность
-4 21 -21 -23 14 -39 -12 1 -7 4 17 -45 30 -48 -19 -12 27 -46 -37 15
Сумма элементов: -184
Кол-во четных, кратных пяти: 1