ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

24.04.2008, 23:28
|
|
Участник форума
Регистрация: 17.05.2007
Сообщений: 220
Провел на форуме: 3013539
Репутация:
441
|
|
Сообщение от krypt3r
Гг, должно быть так
Код:
writeln('x1=',(-b+sqrt(d))/(2*a))
Если дискриминант меньше нуля, это не значит, что корней нет, это значит, что корни комплексные
Учим матчасть
ЗЫ. А хотя какие в школе комплексные числа
ЗЗЫ.
Код:
program equation;
procedure GetCoeff (var a : real; var b : real; var c : real);
begin
write ('Vvedite koefficienty cherez probel: ');
readln (a, b, c);
writeln (a : 0 : 3, 'x^2 + ', b : 0 : 3, 'x + ', c : 0 : 3);
end;
function GetDiscriminant (a, b, c : real) : real;
var
d : real;
begin
d := b * b - 4 * a * c;
GetDiscriminant := d;
end;
var
a, b, c, d, x1, x2 : real;
begin
GetCoeff (a, b, c);
d := GetDiscriminant (a, b, c);
if d > 0 then begin
x1 := (-b - sqrt (d)) / (2 * a);
x2 := (-b + sqrt (d)) / (2 * a);
writeln ('x1 = ', x1 : 0 : 3);
writeln ('x2 = ', x2 : 0 : 3);
end
else if d = 0 then begin
x1 := -b / (2 * a);
writeln ('x = ', x1 : 0 : 3);
end
else begin
x1 := -b / (2 * a);
x2 := sqrt (abs (d)) / (2 * a);
writeln ('x1 = ', x1 : 0 : 3, ' - i * ', x2 : 0 : 3);
writeln ('x2 = ', x1 : 0 : 3, ' + i * ', x2 : 0 : 3);
end;
end.
Да ты конечно крут, но комплексные корни (по крайней мере в универе) кроме как в жордановой форме в каноничском базисе или в нахождении инвариантных пространств оператора больше нигде не нужны...
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|