# Dividie by Zero problem

Hi all,

I have the following problem;

I have an equation that sometimes it needs to divide by zero, and when this happens an error occurs.

I am using real numbers.

• : Hi all,
:
: I have the following problem;
:
: I have an equation that sometimes it needs to divide by zero, and when this happens an error occurs.
:
: I am using real numbers.
:
:
:
Here're two ways of handling it:
[code]
if divider = 0 then
begin
ShowMessage('Division by zero');
q := 0;
end else begin
q := number/divider;
end;
[/code]

[code]
try
q := number/divider;
except
ShowMessage('Division by zero');
q := 0;
end;
[/code]
• : : Hi all,
: :
: : I have the following problem;
: :
: : I have an equation that sometimes it needs to divide by zero, and when this happens an error occurs.
: :
: : I am using real numbers.
: :
: :
: :
: Here're two ways of handling it:
: [code]
: if divider = 0 then
: begin
: ShowMessage('Division by zero');
: q := 0;
: end else begin
: q := number/divider;
: end;
: [/code]
:
: [code]
: try
: q := number/divider;
: except
: ShowMessage('Division by zero');
: q := 0;
: end;
: [/code]
:

Thanks for the help, but I think that it will not solve the problem.
The reason is that I need that the division will be worked;
the simple way of the equation is the following;

(a/b)+c

if b = 0 than add 0 + c
• : : : Hi all,
: : :
: : : I have the following problem;
: : :
: : : I have an equation that sometimes it needs to divide by zero, and when this happens an error occurs.
: : :
: : : I am using real numbers.
: : :
: : :
: : : thanks in advance
: : :
: : Here're two ways of handling it:
: : [code]
: : if divider = 0 then
: : begin
: : ShowMessage('Division by zero');
: : q := 0;
: : end else begin
: : q := number/divider;
: : end;
: : [/code]
: :
: : [code]
: : try
: : q := number/divider;
: : except
: : ShowMessage('Division by zero');
: : q := 0;
: : end;
: : [/code]
: :
:
:
:
: Thanks for the help, but I think that it will not solve the problem.
: The reason is that I need that the division will be worked;
: the simple way of the equation is the following;
:
: (a/b)+c
:
: if b = 0 than add 0 + c
:
Yes it will:
[code]
if b = 0 then
else
[/code]

[code]
try
except
end;
[/code]
• : : : : Hi all,
: : : :
: : : : I have the following problem;
: : : :
: : : : I have an equation that sometimes it needs to divide by zero, and when this happens an error occurs.
: : : :
: : : : I am using real numbers.
: : : :
: : : :
: : : : thanks in advance
: : : :
: : : Here're two ways of handling it:
: : : [code]
: : : if divider = 0 then
: : : begin
: : : ShowMessage('Division by zero');
: : : q := 0;
: : : end else begin
: : : q := number/divider;
: : : end;
: : : [/code]
: : :
: : : [code]
: : : try
: : : q := number/divider;
: : : except
: : : ShowMessage('Division by zero');
: : : q := 0;
: : : end;
: : : [/code]
: : :
: :
: :
: :
: : Thanks for the help, but I think that it will not solve the problem.
: : The reason is that I need that the division will be worked;
: : the simple way of the equation is the following;
: :
: : (a/b)+c
: :
: : if b = 0 than add 0 + c
: :
: Yes it will:
: [code]
: if b = 0 then
: else
: [/code]
:
: [code]
: try
: except
: end;
: [/code]
:

my equation is the following:
[code]
TempAns := (((Power(-2,N)) * (Fuctorial (2*N))) /
((1-(2*N)) * (Power(Fuctorial(N),2)) * (4*N))) *
(Power(x,N));
[/code]

thats a square root function, and any part can be zero
• : : : : : Hi all,
: : : : :
: : : : : I have the following problem;
: : : : :
: : : : : I have an equation that sometimes it needs to divide by zero, and when this happens an error occurs.
: : : : :
: : : : : I am using real numbers.
: : : : :
: : : : :
: : : : : thanks in advance
: : : : :
: : : : Here're two ways of handling it:
: : : : [code]
: : : : if divider = 0 then
: : : : begin
: : : : ShowMessage('Division by zero');
: : : : q := 0;
: : : : end else begin
: : : : q := number/divider;
: : : : end;
: : : : [/code]
: : : :
: : : : [code]
: : : : try
: : : : q := number/divider;
: : : : except
: : : : ShowMessage('Division by zero');
: : : : q := 0;
: : : : end;
: : : : [/code]
: : : :
: : :
: : :
: : :
: : : Thanks for the help, but I think that it will not solve the problem.
: : : The reason is that I need that the division will be worked;
: : : the simple way of the equation is the following;
: : :
: : : (a/b)+c
: : :
: : : if b = 0 than add 0 + c
: : :
: : Yes it will:
: : [code]
: : if b = 0 then
: : else
: : [/code]
: :
: : [code]
: : try
: : except
: : end;
: : [/code]
: :
:
:
:
: my equation is the following:
: [code]
: TempAns := (((Power(-2,N)) * (Fuctorial (2*N))) /
: ((1-(2*N)) * (Power(Fuctorial(N),2)) * (4*N))) *
: (Power(x,N));
: [/code]
:
: thats a square root function, and any part can be zero
:
Then the try-except method will be the best idea to solve it:
[code]
try
TempAns := (((Power(-2,N)) * (Fuctorial (2*N))) /
((1-(2*N)) * (Power(Fuctorial(N),2)) * (4*N))) *
(Power(x,N));
except
TempAns := 0;
end;
[/code]
If any error occurs then the answer will be 0. Beware: the Delphi IDE [b]always[/b] shows the error.
• : : : : : : Hi all,
: : : : : :
: : : : : : I have the following problem;
: : : : : :
: : : : : : I have an equation that sometimes it needs to divide by zero, and when this happens an error occurs.
: : : : : :
: : : : : : I am using real numbers.
: : : : : :
: : : : : :
: : : : : : thanks in advance
: : : : : :
: : : : : Here're two ways of handling it:
: : : : : [code]
: : : : : if divider = 0 then
: : : : : begin
: : : : : ShowMessage('Division by zero');
: : : : : q := 0;
: : : : : end else begin
: : : : : q := number/divider;
: : : : : end;
: : : : : [/code]
: : : : :
: : : : : [code]
: : : : : try
: : : : : q := number/divider;
: : : : : except
: : : : : ShowMessage('Division by zero');
: : : : : q := 0;
: : : : : end;
: : : : : [/code]
: : : : :
: : : :
: : : :
: : : :
: : : : Thanks for the help, but I think that it will not solve the problem.
: : : : The reason is that I need that the division will be worked;
: : : : the simple way of the equation is the following;
: : : :
: : : : (a/b)+c
: : : :
: : : : if b = 0 than add 0 + c
: : : :
: : : Yes it will:
: : : [code]
: : : if b = 0 then
: : : answer = c
: : : else
: : : answer = (a/b)+c;
: : : [/code]
: : :
: : : [code]
: : : try
: : : answer = (a/b)+c;
: : : except
: : : answer = c;
: : : end;
: : : [/code]
: : :
: :
: :
: :
: : my equation is the following:
: : [code]
: : TempAns := (((Power(-2,N)) * (Fuctorial (2*N))) /
: : ((1-(2*N)) * (Power(Fuctorial(N),2)) * (4*N))) *
: : (Power(x,N));
: : [/code]
: :
: : thats a square root function, and any part can be zero
: :
: Then the try-except method will be the best idea to solve it:
: [code]
: try
: TempAns := (((Power(-2,N)) * (Fuctorial (2*N))) /
: ((1-(2*N)) * (Power(Fuctorial(N),2)) * (4*N))) *
: (Power(x,N));
: except
: TempAns := 0;
: end;
: [/code]
: If any error occurs then the answer will be 0. Beware: the Delphi IDE [b]always[/b] shows the error.
:

I managed to do the square root function with the following code

[code]
Procedure TForm1.Button1Click(Sender: TObject);
Var
N,a : integer;
Ans,X : extended;

Begin
X := StrtoInt(Edit1.Text);
a := StrToInt(Edit2.Text);

Ans := 1;
For N := 1 to a do Ans := (Ans + (X/Ans))*0.5;
Label1.Caption := FloatToStr(Ans);

End;
[/code]

like this I solved the problem of the the Divide by Zero

• : : : : : : : Hi all,
: : : : : : :
: : : : : : : I have the following problem;
: : : : : : :
: : : : : : : I have an equation that sometimes it needs to divide by zero, and when this happens an error occurs.
: : : : : : :
: : : : : : : I am using real numbers.
: : : : : : :
: : : : : : : Can you please help me out to avoid this error?
: : : : : : :
: : : : : : : thanks in advance
: : : : : : :
: : : : : : Here're two ways of handling it:
: : : : : : [code]
: : : : : : if divider = 0 then
: : : : : : begin
: : : : : : ShowMessage('Division by zero');
: : : : : : q := 0;
: : : : : : end else begin
: : : : : : q := number/divider;
: : : : : : end;
: : : : : : [/code]
: : : : : :
: : : : : : [code]
: : : : : : try
: : : : : : q := number/divider;
: : : : : : except
: : : : : : ShowMessage('Division by zero');
: : : : : : q := 0;
: : : : : : end;
: : : : : : [/code]
: : : : : :
: : : : :
: : : : :
: : : : :
: : : : : Thanks for the help, but I think that it will not solve the problem.
: : : : : The reason is that I need that the division will be worked;
: : : : : the simple way of the equation is the following;
: : : : :
: : : : : (a/b)+c
: : : : :
: : : : : if b = 0 than add 0 + c
: : : : :
: : : : Yes it will:
: : : : [code]
: : : : if b = 0 then
: : : : answer = c
: : : : else
: : : : answer = (a/b)+c;
: : : : [/code]
: : : :
: : : : [code]
: : : : try
: : : : answer = (a/b)+c;
: : : : except
: : : : answer = c;
: : : : end;
: : : : [/code]
: : : :
: : :
: : :
: : :
: : : my equation is the following:
: : : [code]
: : : TempAns := (((Power(-2,N)) * (Fuctorial (2*N))) /
: : : ((1-(2*N)) * (Power(Fuctorial(N),2)) * (4*N))) *
: : : (Power(x,N));
: : : [/code]
: : :
: : : thats a square root function, and any part can be zero
: : :
: : Then the try-except method will be the best idea to solve it:
: : [code]
: : try
: : TempAns := (((Power(-2,N)) * (Fuctorial (2*N))) /
: : ((1-(2*N)) * (Power(Fuctorial(N),2)) * (4*N))) *
: : (Power(x,N));
: : except
: : TempAns := 0;
: : end;
: : [/code]
: : If any error occurs then the answer will be 0. Beware: the Delphi IDE [b]always[/b] shows the error.
: :
:
: I managed to do the square root function with the following code
:
: [code]
: Procedure TForm1.Button1Click(Sender: TObject);
: Var
: N,a : integer;
: Ans,X : extended;
:
: Begin
: X := StrtoInt(Edit1.Text);
: a := StrToInt(Edit2.Text);
:
: Ans := 1;
: For N := 1 to a do Ans := (Ans + (X/Ans))*0.5;
: Label1.Caption := FloatToStr(Ans);
:
: End;
: [/code]
:
: like this I solved the problem of the the Divide by Zero
:
:
:
If you run this code outside the IDE you won't also see no error:
[code]
Procedure TForm1.Button1Click(Sender: TObject);
Var
N,a : integer;
Ans,X : extended;
Begin
try
X := StrtoInt(Edit1.Text);
a := StrToInt(Edit2.Text);
Ans := Sqrt(X);
except
Ans := 1;
end;
Label1.Caption := FloatToStr(Ans);
end;
[/code]
This also removes errors if you enter something like "abracadabra" as X or a. Any error will result in an answer of 1.
• : : : : : : : : Hi all,
: : : : : : : :
: : : : : : : : I have the following problem;
: : : : : : : :
: : : : : : : : I have an equation that sometimes it needs to divide by zero, and when this happens an error occurs.
: : : : : : : :
: : : : : : : : I am using real numbers.
: : : : : : : :
: : : : : : : : Can you please help me out to avoid this error?
: : : : : : : :
: : : : : : : : thanks in advance
: : : : : : : :
: : : : : : : Here're two ways of handling it:
: : : : : : : [code]
: : : : : : : if divider = 0 then
: : : : : : : begin
: : : : : : : ShowMessage('Division by zero');
: : : : : : : q := 0;
: : : : : : : end else begin
: : : : : : : q := number/divider;
: : : : : : : end;
: : : : : : : [/code]
: : : : : : :
: : : : : : : [code]
: : : : : : : try
: : : : : : : q := number/divider;
: : : : : : : except
: : : : : : : ShowMessage('Division by zero');
: : : : : : : q := 0;
: : : : : : : end;
: : : : : : : [/code]
: : : : : : :
: : : : : :
: : : : : :
: : : : : :
: : : : : : Thanks for the help, but I think that it will not solve the problem.
: : : : : : The reason is that I need that the division will be worked;
: : : : : : the simple way of the equation is the following;
: : : : : :
: : : : : : (a/b)+c
: : : : : :
: : : : : : if b = 0 than add 0 + c
: : : : : :
: : : : : Yes it will:
: : : : : [code]
: : : : : if b = 0 then
: : : : : answer = c
: : : : : else
: : : : : answer = (a/b)+c;
: : : : : [/code]
: : : : :
: : : : : [code]
: : : : : try
: : : : : answer = (a/b)+c;
: : : : : except
: : : : : answer = c;
: : : : : end;
: : : : : [/code]
: : : : :
: : : :
: : : :
: : : :
: : : : my equation is the following:
: : : : [code]
: : : : TempAns := (((Power(-2,N)) * (Fuctorial (2*N))) /
: : : : ((1-(2*N)) * (Power(Fuctorial(N),2)) * (4*N))) *
: : : : (Power(x,N));
: : : : [/code]
: : : :
: : : : thats a square root function, and any part can be zero
: : : :
: : : Then the try-except method will be the best idea to solve it:
: : : [code]
: : : try
: : : TempAns := (((Power(-2,N)) * (Fuctorial (2*N))) /
: : : ((1-(2*N)) * (Power(Fuctorial(N),2)) * (4*N))) *
: : : (Power(x,N));
: : : except
: : : TempAns := 0;
: : : end;
: : : [/code]
: : : If any error occurs then the answer will be 0. Beware: the Delphi IDE [b]always[/b] shows the error.
: : :
: :
: : I managed to do the square root function with the following code
: :
: : [code]
: : Procedure TForm1.Button1Click(Sender: TObject);
: : Var
: : N,a : integer;
: : Ans,X : extended;
: :
: : Begin
: : X := StrtoInt(Edit1.Text);
: : a := StrToInt(Edit2.Text);
: :
: : Ans := 1;
: : For N := 1 to a do Ans := (Ans + (X/Ans))*0.5;
: : Label1.Caption := FloatToStr(Ans);
: :
: : End;
: : [/code]
: :
: : like this I solved the problem of the the Divide by Zero
: :
: : thanks for your help!
: :
: :
: If you run this code outside the IDE you won't also see no error:
: [code]
: Procedure TForm1.Button1Click(Sender: TObject);
: Var
: N,a : integer;
: Ans,X : extended;
: Begin
: try
: X := StrtoInt(Edit1.Text);
: a := StrToInt(Edit2.Text);
: Ans := Sqrt(X);
: except
: Ans := 1;
: end;
: Label1.Caption := FloatToStr(Ans);
: end;
: [/code]
: This also removes errors if you enter something like "abracadabra" as X or a. Any error will result in an answer of 1.
:

• : : : : : : : : : Hi all,
: : : : : : : : :
: : : : : : : : : I have the following problem;
: : : : : : : : :
: : : : : : : : : I have an equation that sometimes it needs to divide by zero, and when this happens an error occurs.
: : : : : : : : :
: : : : : : : : : I am using real numbers.
: : : : : : : : :
: : : : : : : : : Can you please help me out to avoid this error?
: : : : : : : : :
: : : : : : : : : thanks in advance
: : : : : : : : :
: : : : : : : : Here're two ways of handling it:
: : : : : : : : [code]
: : : : : : : : if divider = 0 then
: : : : : : : : begin
: : : : : : : : ShowMessage('Division by zero');
: : : : : : : : q := 0;
: : : : : : : : end else begin
: : : : : : : : q := number/divider;
: : : : : : : : end;
: : : : : : : : [/code]
: : : : : : : :
: : : : : : : : [code]
: : : : : : : : try
: : : : : : : : q := number/divider;
: : : : : : : : except
: : : : : : : : ShowMessage('Division by zero');
: : : : : : : : q := 0;
: : : : : : : : end;
: : : : : : : : [/code]
: : : : : : : :
: : : : : : :
: : : : : : :
: : : : : : :
: : : : : : : Thanks for the help, but I think that it will not solve the problem.
: : : : : : : The reason is that I need that the division will be worked;
: : : : : : : the simple way of the equation is the following;
: : : : : : :
: : : : : : : (a/b)+c
: : : : : : :
: : : : : : : if b = 0 than add 0 + c
: : : : : : :
: : : : : : Yes it will:
: : : : : : [code]
: : : : : : if b = 0 then
: : : : : : answer = c
: : : : : : else
: : : : : : answer = (a/b)+c;
: : : : : : [/code]
: : : : : :
: : : : : : [code]
: : : : : : try
: : : : : : answer = (a/b)+c;
: : : : : : except
: : : : : : answer = c;
: : : : : : end;
: : : : : : [/code]
: : : : : :
: : : : :
: : : : :
: : : : :
: : : : : my equation is the following:
: : : : : [code]
: : : : : TempAns := (((Power(-2,N)) * (Fuctorial (2*N))) /
: : : : : ((1-(2*N)) * (Power(Fuctorial(N),2)) * (4*N))) *
: : : : : (Power(x,N));
: : : : : [/code]
: : : : :
: : : : : thats a square root function, and any part can be zero
: : : : :
: : : : Then the try-except method will be the best idea to solve it:
: : : : [code]
: : : : try
: : : : TempAns := (((Power(-2,N)) * (Fuctorial (2*N))) /
: : : : ((1-(2*N)) * (Power(Fuctorial(N),2)) * (4*N))) *
: : : : (Power(x,N));
: : : : except
: : : : TempAns := 0;
: : : : end;
: : : : [/code]
: : : : If any error occurs then the answer will be 0. Beware: the Delphi IDE [b]always[/b] shows the error.
: : : :
: : :
: : : I managed to do the square root function with the following code
: : :
: : : [code]
: : : Procedure TForm1.Button1Click(Sender: TObject);
: : : Var
: : : N,a : integer;
: : : Ans,X : extended;
: : :
: : : Begin
: : : X := StrtoInt(Edit1.Text);
: : : a := StrToInt(Edit2.Text);
: : :
: : : Ans := 1;
: : : For N := 1 to a do Ans := (Ans + (X/Ans))*0.5;
: : : Label1.Caption := FloatToStr(Ans);
: : :
: : : End;
: : : [/code]
: : :
: : : like this I solved the problem of the the Divide by Zero
: : :
: : : thanks for your help!
: : :
: : :
: : If you run this code outside the IDE you won't also see no error:
: : [code]
: : Procedure TForm1.Button1Click(Sender: TObject);
: : Var
: : N,a : integer;
: : Ans,X : extended;
: : Begin
: : try
: : X := StrtoInt(Edit1.Text);
: : a := StrToInt(Edit2.Text);
: : Ans := Sqrt(X);
: : except
: : Ans := 1;
: : end;
: : Label1.Caption := FloatToStr(Ans);
: : end;
: : [/code]
: : This also removes errors if you enter something like "abracadabra" as X or a. Any error will result in an answer of 1.
: :
:
:
:
Here's an improvement on your code:
[code]
Var
Ans, X, a : extended;
Begin
try
X := StrToFloat(Edit1.Text);
a := StrToFloat(Edit2.Text);
Ans := 1;
while (Ans*Ans > X-a) and (Ans*Ans < X+a) do
begin
Ans := (Ans + (X/Ans))*0.5;
end;
except
end;
[/code]
This will continue the calculation until the square of ans lies in Xa. If a = 0 then the loop might continue indefinitely.