2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Дискриминант в Delphi (console)
Сообщение02.07.2009, 10:31 
Аватара пользователя


30/05/09
121
Киев
Написал я только-что такую простую (элементарную) програму на нахождение корней квадратного уравнения в Delphi (досовское приложение).
program DisriminantConsole;

{$APPTYPE CONSOLE}

uses
SysUtils, System, math;

var
a, b, c : double;
D:double;
x1, x2 : double;
zapros : char;

procedure Fundamental;
begin
write('a= '); read(a);
write('b= '); read(b);
write('c= '); read(c);
D:=sqr(b) - 4*a*c;
WriteLn('D=',D);
if (D<0) then
Write('D<0. T.e. uravnenie ne imeet corneiv olasti veshrstvennih chisel');

if (D>0) then
begin
x1:=( -b-sqrt(D) )/(2*a);
x2:=( -b+sqrt(D) )/(2*a);
WriteLn('x1= ',x1);
WriteLn('x2= ',x2);
end;
if (D=0) then
begin
x1:=-b/(2*a);
WriteLn('x1=x2=',x1);
end;
WriteLn;
ReadLn;
end;


begin
repeat
Fundamental;
write('Eshe raz? (Y/N)'); read(zapros);
WriteLn(zapros);
until (zapros<>'y');
write('Press '); read(a);
end.

И, представляете, при a=0, b=-10, c=100 она закрывается! Где ошибка? Компиллятор Borland Delphi 7.

 Профиль  
                  
 
 Re: Дискриминант в Delphi (console)
Сообщение02.07.2009, 10:45 
Заслуженный участник


28/04/09
1933
При $a=0$ уравнение уже не будет квадратным и применять для него формулу корней квадратного уравнения нельзя. У Вас происходит деление на ноль в строчке
Код:
x1:=( -b-sqrt(D) )/(2*a);

...и программа аварийно завершает работу.
P.S. Кстати, консольное Win32-приложение и DOS-программа - это все-таки совершенно разные вещи...

 Профиль  
                  
 
 Re: Дискриминант в Delphi (console)
Сообщение02.07.2009, 18:35 
Аватара пользователя


30/05/09
121
Киев
Точно. Опять моя невнимательность. Спасибо.

 Профиль  
                  
 
 Re: Дискриминант в Delphi (console)
Сообщение08.07.2009, 12:28 
Заблокирован
Аватара пользователя


13/01/09

335
Alhimik писал(а):
Написал я только-что такую простую (элементарную) програму на нахождение корней квадратного уравнения...

Численное решение квадратного уравнения - дело тонкое.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group