Показать сообщение отдельно

  #446  
Старый 28.04.2008, 10:01
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами: 10021597

Репутация: 905


По умолчанию

Omg, вы тут уже несколько страниц решаете простое квадратное уравнение :-d
Garfi, хоть ты и клянешься, что математику хорошо знаешь, эта ссылка (http://www.math.ru/dic/37) + элементарные размышления скажут тебе, что /2*a - неверное переложение формулы на код языка програмирования. Верные - /(2*a), /2/a, /a/2.
Код:
program Sqrt1;

var
  A, B, C, D, X1, X2 : Real;

begin
  Writeln ('Vvedite koificenti kvodratnogo uravnenia ');
  Readln (A, B, C);
  D := B * B - 4 * A * C;
  if A <> 0 then begin
    if D < 0 then
      Writeln ('Kornei net! ')
    else begin
      X1 := (-B + sqrt (D)) / 2 / A;
      X2 := (-B - SQRT (D)) / 2 / A;
      if X1 <> X2 then
        writeln ('X1=', X1 : 8 : 3, ' X2=', X2 : 8 : 3)
      else
        writeln (' Koren ODIN ','X=',X2:8:3)
    end;
  end else
    writeln('Reshenii net');
//Readln;
end.
Смотрите код внимательно, че вы тут написали. Если а не равно нулю, выполнить код, иначе написать "Решений нет"? о_О Если х1 = х2, то корень один? Верно, только не так надо, а сравнивая дискриминант с нулем. Но это мелочь.
Не совсем вижу смысл обрабатывать введенные данные при а = 0, ибо это уже не квадратное уравнение, а линейное, но раз уж просите, то вот код, и без комплексных чисел.
Код:
program Sqrt1;

var
  A, B, C, D, X1, X2 : Real;

begin
  Writeln ('Vvedite koificenti kvodratnogo uravnenia ');
  Readln (A, B, C);
  ///writeln (a : 8 : 3, ' * x^2 ', b : 8 : 3, ' * x ', c : 8 : 3);
  if A <> 0 then begin
    D := B * B - 4 * A * C;
    if D < 0 then
      Writeln ('Kornei net! ')
    else if D > 0 then begin
      X1 := (-B + sqrt (D)) / 2 / A;
      X2 := (-B - SQRT (D)) / 2 / A;
      writeln ('X1=', X1 : 8 : 3, ' X2=', X2 : 8 : 3);
    end
    else
      writeln ('X = ', (-B / 2 / A) : 8 : 3);
  end else
    writeln ('Lineinoe uravnenie. Koren X = ', (-C / B) : 8 : 3);

//Readln;
end.

De-visible:Уравнение - я привел самый простой пример

Последний раз редактировалось De-visible; 29.04.2008 в 00:54..
 
Ответить с цитированием