#### If example

Suppose that a company wants to compute an estimate of the amount of tax an employee needs to pay and write a suitable message. Income below $8,000 is not taxed, income from $8,000 to $20,000 is taxed at 20% income from $20,000 to $35,000 is taxed at 29% and income above $35,000 is taxed at 40%.

    //If example 5
    Local CurrencyVar tax := 0;
    Local CurrencyVar income := {Employee.Salary};
    Local StringVar message := "";
    If income < 8000 Then
    (
       message := "no";
       tax := 0
    )
    Else If income >= 8000 And income < 20000 Then
    (
       message := "lowest";
       tax := (income - 8000)*0.20
    )
    Else If income >= 20000 And income < 35000 Then
    (
       message := "middle";
       tax := (20000 - 8000)*0.20 + (income - 20000)*0.29
    )
    Else
    (
       message := "highest";
       tax := (20000 - 8000)*0.20 + (35000 - 20000)*0.29 +
              (income - 35000)*0.40
    );
    //Use 2 decimal places and the comma as a
    //thousands separator
    Local StringVar taxStr := CStr (tax, 2, ",");
    "You are in the " & message & " tax bracket. " &
    "Your estimated tax is " & taxStr & "."

Note: The use of variables is to simplify the logic of the computation. Also, there are 2 expressions that are executed when one of the conditions are met; one assigns the tax variable, and the other assigns the message variable. It is often useful to have multiple expressions executed as a result of a condition.

Seagate Software, Inc. http://www.seagatesoftware.com Please send comments to: techpubs@seagatesoftware.com