Квадратное уравнение имеет вид: ах^2 + bx + c = 0. (1)здесь а, b и с – коэффициенты. сначала надо вычислить дискриминант квадратного уравненияd = (b^2 – 4ac) (2)если d > 0, то квадратное уравнение имеет два корня х1 и х2. обозначим с = корень(d). то есть надо вычислить квадратный корень из d. имеем такие решениях1 = (–b + c)/(2a) и x2 = (–b – c)/(2a). (3)если дискриминант d = 0, то c = 0 и оба корня одинаковы х1 = х2 (хотя в школе обычно говорят, что имеется только одно решение) и вычисляются по формулех1 = х2 = –b/(2a). (4). эта формула следует из формулы (3) при с = d = 0.если дискриминант d меньше нуля, то корень из d вычислить нельзя, с будет мнимым числом. вообще говоря, корни есть (2 штуки), но они будут мнимыми числами. хотя в школе учат, что в этом случае корней нет. так и будем считать, что корней нет.алгоритм решения будет следующий но только здесь дискриминант d обозначен малой буквой d
123 I 61 I 30 I 15 I 7 I 3 I 1 I 1 I 1 I 0 I 1 I 1 I 1 I 1 I <----------------------------------------------- ответ; 123 = 1111011 в двоичной с/с Теперь объяснение: 1) Разлинуй так, как показано на схеме. 2) Число 123 : 2 = 61(ост.1) 3) Число 61 идёт по верхней строчке. Остаток 1 идёт в нижнюю строчку. 4) 61 : 2 = 30 (остаток 1). Число 30 - следующее число по верхней строчке. Остаток 1 - следующее по нижней строчке. 5) Делим 30 на 2, Делится без остатка 30 : 2 = 15 (ост.0) 15 идёт по верхней строчке. 0 идёт по нижней строчке 6) Деление цифр верхнего ряда на 2продолжаем до тех пор, пока число не закончится. В нижней строчке у нас будут только единицы и нули. 7) Начинать записывать число в двоичной системе счисления необходимо справа налево, т.е. с конца, как показано стрелочкой. И у нас получится 1111011 ответ: 123 = 1111011 в двоичной с/с. ----------------------------------------------------------------------------------------------------------------- Если что-то не поймёшь, пиши сообщения на мой профиль.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
for var i:=0 to a.IndexMin-1 do a[i]:=0; a.Println;
end.
Пример
n= 13
-10 44 17 13 50 49 -7 -46 -36 14 35 42 26
0 0 0 0 0 0 0 -46 -36 14 35 42 26