Howdy, Stranger!

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

Categories

Dividie by Zero problem

mouthpiecmouthpiec Member Posts: 13
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

  • zibadianzibadian Member Posts: 6,349
    : 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]
  • mouthpiecmouthpiec Member Posts: 13
    : : 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
  • zibadianzibadian Member Posts: 6,349
    : : : 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]
  • mouthpiecmouthpiec Member Posts: 13
    : : : : 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
  • zibadianzibadian Member Posts: 6,349
    : : : : : 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.
  • mouthpiecmouthpiec Member Posts: 13
    : : : : : : 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! :)

  • zibadianzibadian Member Posts: 6,349
    : : : : : : : 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.
  • mouthpiecmouthpiec Member Posts: 13
    : : : : : : : : 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
  • zibadianzibadian Member Posts: 6,349
    : : : : : : : : : 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.