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.

Can you please help me out to avoid this error?

thanks in advance

Comments

  • : 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]
  • : : 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
  • : : : 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]
  • : : : : 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
  • : : : : : 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.
  • : : : : : : 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! :)

  • : : : : : : : 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.
    :


    I knew about the ready made function but I needed one made by myself ... sort if assigment. but thank you
  • : : : : : : : : : 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.
    : :
    :
    :
    : I knew about the ready made function but I needed one made by myself ... sort if assigment. but thank you
    :
    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.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories