Introduction

In this introductory lesson on F#, we will use a conditional statement to validate a condition and perform some simple calculations.

Practical LearningPractical Learning: Creating the Application

  1. Start Microsoft Visual Studio
  2. In the Visual Studio 2022 dialog box, click Create a New Project
  3. In the Create a New Project dialog box, in the Languages combo box, select F#.
    In the list of projects templates, select Console App (it should be selected already)
  4. Click Next
  5. In the Configure Your New Project dialog box, change the Project Name to PayrollEvaluation1 and set the Location of your choice
  6. Click Next
  7. In the Additional Information dialog box, in the Framework combo box, select the highest version (.NET 9.0 (Standard Term Support).
    Click Create
  8. Change the document as follows:
    printfn "Payroll Evaluation"
    printfn "-------------------------------------------------------"
    printfn "Enter the following pieces of information"
    printfn "-------------------------------------------------------"
    printfn "Employee Information"
    printfn "-------------------------------------------------------"
    printf "First Name:      ";
    let firstName : string = stdin.ReadLine()
    printf "Last Name:       "
    let lastName : string = stdin.ReadLine()
    printf "Hourly Salary:   "
    let hSalary = float(stdin.ReadLine())
    printfn "-------------------------------------------------------"
    printfn "Time worked"
    printfn "-------------------------------------------------------"
    
    printf "Monday:          "
    let monday : double = float(stdin.ReadLine())
    
    printf "Tuesday:         "
    let tuesday : double = float(stdin.ReadLine())
    
    printf "Wednesday:       "
    let wednesday : double = float(stdin.ReadLine())
    
    printf "Thursday:        "
    let thursday : double = float(stdin.ReadLine())
    
    printf "Friday:          "
    let friday : double = float(stdin.ReadLine())
    
    let timeWorked = monday + tuesday + wednesday + thursday + friday
    
    let mutable regTime  = timeWorked
    let mutable overtime = 0.00
    let mutable regPay   = hSalary * timeWorked
    let mutable overPay  = 0.00
            
    if timeWorked        > 40.00 then
        regTime          <- 40.00
        overtime         <- timeWorked - 40.00
        regPay           <- hSalary * 40.00
        overPay          <- hSalary * 1.50 * overtime
    
    let netPay = regPay + overPay;
    
    printfn "======================================================="
    printfn "Payroll Evaluation"
    printfn "======================================================="
    printfn "Employee Information"
    printfn "-------------------------------------------------------"
    printfn "Full Name:     %s %s" firstName lastName
    printfn "Hourly Salary: %0.2f" hSalary
    printfn "======================================================="
    printfn "Time Worked Summary"
    printfn "--------+---------+-----------+----------+-------------"
    printfn " Monday | Tuesday | Wednesday | Thursday | Friday"
    printfn "--------+---------+-----------+----------+-------------"
    printfn "%6.2f  | %6.2f  | %7.2f   | %7.2f  | %6.2f"
            monday tuesday wednesday thursday friday
    printfn "========+=========+===========+==========+============="
    printfn "                                 Pay Summary"
    printfn "-------------------------------------------------------"
    printfn "                                 Time      Pay"
    printfn "-------------------------------------------------------"
    printfn "                     Regular:%8.2f %9.2f" regTime regPay
    printfn "-------------------------------------------------------"
    printfn "                     Overtime:%7.2f %9.2f" overtime overPay
    printfn "======================================================="
    printfn "                     Net Pay:%18.2f" netPay
    printfn "======================================================="
  9. To execute the project, on the main menu, click Debug -> Start Without Debugging
  10. When requested, type each of the following values and press Enter each time:
    First Name: Michael
    Last Name: Carlock
    Hourly Salary: 31.67
    Monday 7
    Tuesday: 8
    Wednesday: 6.5
    Thursday: 8.5
    Friday: 7.5
    Payroll Evaluation
    -------------------------------------------------------
    Enter the following pieces of information
    -------------------------------------------------------
    Employee Information
    -------------------------------------------------------
    First Name:      Michael
    Last Name:       Carlock
    Hourly Salary:   31.67
    -------------------------------------------------------
    Time worked
    -------------------------------------------------------
    Monday:          7
    Tuesday:         8
    Wednesday:       6.5
    Thursday:        8.5
    Friday:          7.5
    =======================================================
    Payroll Evaluation
    =======================================================
    Employee Information
    -------------------------------------------------------
    Full Name:     Michael Carlock
    Hourly Salary: 31.67
    =======================================================
    Time Worked Summary
    --------+---------+-----------+----------+-------------
     Monday | Tuesday | Wednesday | Thursday | Friday
    --------+---------+-----------+----------+-------------
      7.00  |   8.00  |    6.50   |    8.50  |   7.50
    ========+=========+===========+==========+=============
                                     Pay Summary
    -------------------------------------------------------
                                     Time      Pay
    -------------------------------------------------------
                         Regular:   37.50   1187.62
    -------------------------------------------------------
                         Overtime:   0.00      0.00
    =======================================================
                         Net Pay:           1187.62
    =======================================================
    
    Press any key to close this window . . .
  11. Press C to close the window and return to your programming environment

Using an Opposite Conditional Statement

In the previous section, we use a Greater Than operator to check a condition. That operator has an opposite, which is the Less Than Or Equal operator. We will uase apply as an example.

Practical LearningPractical Learning: Using an Opposite Conditional Statement

  1. Change the document as follows:
    printfn "Payroll Evaluation"
    printfn "-------------------------------------------------------"
    printfn "Enter the following pieces of information"
    printfn "-------------------------------------------------------"
    printfn "Employee Information"
    printfn "-------------------------------------------------------"
    printf "First Name:      ";
    let firstName : string = stdin.ReadLine()
    printf "Last Name:       "
    let lastName : string = stdin.ReadLine()
    printf "Hourly Salary:   "
    let hSalary = float(stdin.ReadLine())
    printfn "-------------------------------------------------------"
    printfn "Time worked"
    printfn "-------------------------------------------------------"
    
    printf "Monday:          "
    let monday : double = float(stdin.ReadLine())
    
    printf "Tuesday:         "
    let tuesday : double = float(stdin.ReadLine())
    
    printf "Wednesday:       "
    let wednesday : double = float(stdin.ReadLine())
    
    printf "Thursday:        "
    let thursday : double = float(stdin.ReadLine())
    
    printf "Friday:          "
    let friday : double = float(stdin.ReadLine())
    
    let timeWorked = monday + tuesday + wednesday + thursday + friday
    
    let mutable regTime  = 40.00
    let mutable overtime = timeWorked - 40.00
    let mutable regPay   = hSalary * 40.00
    let mutable overPay  = hSalary * 1.50 * overtime
            
    if timeWorked        <= 40.00 then
        regTime          <- timeWorked
        overtime         <- 0.00
        regPay           <- hSalary * timeWorked
        overPay          <- 0.00
    
    let netPay = regPay + overPay;
    
    printfn "======================================================="
    printfn "Payroll Evaluation"
    printfn "======================================================="
    printfn "Employee Information"
    printfn "-------------------------------------------------------"
    printfn "Full Name:     %s %s" firstName lastName
    printfn "Hourly Salary: %0.2f" hSalary
    printfn "======================================================="
    printfn "Time Worked Summary"
    printfn "--------+---------+-----------+----------+-------------"
    printfn " Monday | Tuesday | Wednesday | Thursday | Friday"
    printfn "--------+---------+-----------+----------+-------------"
    printfn "%6.2f  | %6.2f  | %7.2f   | %7.2f  | %6.2f"
            monday tuesday wednesday thursday friday
    printfn "========+=========+===========+==========+============="
    printfn "                                 Pay Summary"
    printfn "-------------------------------------------------------"
    printfn "                                 Time      Pay"
    printfn "-------------------------------------------------------"
    printfn "                     Regular:%8.2f %9.2f" regTime regPay
    printfn "-------------------------------------------------------"
    printfn "                     Overtime:%7.2f %9.2f" overtime overPay
    printfn "======================================================="
    printfn "                     Net Pay:%18.2f" netPay
    printfn "======================================================="
  2. To execute the project again, on the main menu, click Debug -> Start Without Debugging
  3. When requested, type each of the following values and press Enter each time:
    First Name: Catherine
    Last Name: Busbey
    Hourly Salary: 24.37
    Monday 9.50
    Tuesday: 8
    Wednesday: 10.50
    Thursday: 9
    Friday: 10.50
    Payroll Evaluation
    -------------------------------------------------------
    Enter the following pieces of information
    -------------------------------------------------------
    Employee Information
    -------------------------------------------------------
    First Name:      Catherine
    Last Name:       Busbey
    Hourly Salary:   24.37
    -------------------------------------------------------
    Time worked
    -------------------------------------------------------
    Monday:          9.5
    Tuesday:         8
    Wednesday:       10.5
    Thursday:        9
    Friday:          10.5
    =======================================================
    Payroll Evaluation
    =======================================================
    Employee Information
    -------------------------------------------------------
    Full Name:     Catherine Busbey
    Hourly Salary: 24.37
    =======================================================
    Time Worked Summary
    --------+---------+-----------+----------+-------------
     Monday | Tuesday | Wednesday | Thursday | Friday
    --------+---------+-----------+----------+-------------
      9.50  |   8.00  |   10.50   |    9.00  |  10.50
    ========+=========+===========+==========+=============
                                     Pay Summary
    -------------------------------------------------------
                                     Time      Pay
    -------------------------------------------------------
                         Regular:   40.00    974.80
    -------------------------------------------------------
                         Overtime:   7.50    274.16
    =======================================================
                         Net Pay:           1248.96
    =======================================================
    
    Press any key to close this window . . .
  4. Press T to close the window and return to your programming environment

Home Copyright © 2001-2025, FunctionX Saturday 21 December 2024, 18:38 Home