Другие языки программирования и технологии

Помогите написать алгоритм и программу на фортране

Я никогда программированием не занимался, и вот тебе.. . -сразу пошло жесткое прогание (для меня) . сожалею, что не задумывался об этом раньше, но ПОМОГИТЕ мне написать программу на фортране, которая бы эффективно смогла решать корни квадратного уравнения? или хотя бы точный алгоритм
Известны по крайней мере 6 стандартов фортрана, и куча реализаций. Тебе для какой?

Здесь F90/GFortran:

program q80495438
    real :: a, b, c, d, x1, x2
    complex :: cx1, cx2
   
    print *, "введите коэффициенты квадратного уравнения a, b, c"
    read *, a, b, c

    d = b * b - 4 * a * c

    if (d > 0) then
        x1 = (-b - sqrt(d)) / (2 * a)
        x2 = (-b + sqrt(d)) / (2 * a)
        print *, "два корня: ", x1, x2
    elseif (d == 0) then
        x1 = -b / (2 * a)
        print *, "один корень: ", x1
    else
        cx1 = (-b - sqrt(cmplx(d, 0))) / (2 * a)
        cx2 = (-b + sqrt(cmplx(d, 0))) / (2 * a)
        print *, "комплексные корни: "
        print *, cx1, cx2
    end if
end program q80495438

ЗЫ: следует учесть, что квадратное уравнение может быть вырожденным, к примеру, при a = 0, получается уравнение прямой, но это сделай как-нибудь сам. Вот только не знаю, насколько эффективно данная программа находит корни.

А фортран до сих пор применяется и любим всякими физиками и прочими математиками. Последний стандарт от 2008 года.
Orxan Hasimi
Orxan Hasimi
51 294
Лучший ответ
Фортран, помнится мне, вполне прилично работает с комплексными числами, что существенно упрощает "эффективный алгоритм". Программу, извини, не напишу - последний раз я Фортран живым видел лет 12 назад. А алгоритм решения приблизительно такой (псевдокод) :

read( double a, b, c,)
complex d:=b*b-4*a*c
complex c1:=(-b+sqrt(d))/2/a
complex c2:=(-b-sqrt(d))/2/a
print(c1,c2)
Хороший алгоритм стоит денег, а простым всех научили в школе.
Захар Паршиков
Захар Паршиков
35 996
ЭФФЕКТИВНО корни квадратного уравнения? Это как? Тут, насколько я помню свой третий класс, есть простая формула. Дискриминант и прочее. Насколько я помню свой универ (первый курс) , там чуть все усложняется (добавляется еще одна формула) для универсального решения в комплексной плоскости. И все. Чего эффективного?
И где вы достали такой экзотический язык как фортран?