User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
start [2008/09/08 07:09]
ashortell created
start [2011/05/10 11:24]
kel
Line 1: Line 1:
-Colour +Multiple Choices Algorithm - by Mark Kelly
-RGB+
  
-CYMK+Another in the Fun with Algorithms series 
 + 
 +Stuff Pty Ltd sells stuff. The unit cost of the stuff varies according to the quantity ordered. Customers can order any number of items. ​ Stuff Pty Ltd use this scale: 
 +1-9 items = $100 each 
 +10-19 items = $97 each 
 +20-29 items = $92 each 
 +30-39 items = $88 each 
 +40-49 items = $85 each 
 +50 or more = $82 each 
 + 
 +Task: using pseudocode, create an algorithm to calculate the unit cost of the items at different quantities. Then calculate a total cost with 10% GST added. ​  
 +Convert the pseudocode into code. 
 +Create test data to fully test all aspects of the solution’s functionality. 
 +Note:  Input data need not be validated, and the interface can be very basic. 
 +  
 +Sample VB2010 solution 
 +Public Class Form1 
 +    ' Multiple options algorithm 
 +    ' by M.Kelly 10 May 2011 
 +    ' Version 1.0 
 +    ' To Do Next: nil 
 + 
 +    Private Sub btnCalc_Click(ByVal sender As System.Object,​ ByVal e As System.EventArgs) Handles btnCalc.Click 
 +        Dim Qty As Integer = CInt(txtQty.Text) 
 +        Dim inctax As Single = 0  '​declare and initialise in one hit 
 +        ' deliberately lacks validation of qty 
 +        Select Case Qty 
 +            Case 1 To 9 
 +                lblCostper.Text = 100 
 +            Case 10 To 19 
 +                lblCostper.Text = 97 
 +            Case 20 To 29 
 +                lblCostper.Text = 92 
 +            Case 30 To 39 
 +                lblCostper.Text = 88 
 +            Case 40 To 49 
 +                lblCostper.Text = 85 
 +            Case Else 
 +                lblCostper.Text = 82 
 +        End Select 
 + 
 +        lblSubtotal.Text = Qty * CInt(lblCostper.Text) ​ 'using labels for output 
 + 
 +        '​inctax is here as a sample use of variables for calculations and  
 +        'using labels just for display purposes. 
 +        'Using variables mean less converting back & forth between text and number. 
 + 
 +        inctax = CInt(lblSubtotal.Text) * 1.1           '​add GST   
 +        'The final total is nicely formatted currency just to show how it's done. 
 +        'Nice formatting is not needed in U3O2. 
 +        lblIncTax.Text = Format(inctax,​ "​$#,####​.#​0"​) 
 +    End Sub 
 + 
 +     
 +    Private Sub Button1_Click(ByVal sender As System.Object,​ ByVal e As System.EventArgs) Handles Button1.Click 
 +        End 
 +    End Sub 
 + 
 +End Class 
 + 
 +  
 + 
 +Sample output 
 +Perhaps more decorative that it needs to be for U3O2, but I can’t abide messy interfaces. 
 +  
 +<​can'​t insert image!>​ 
 + 
 +:-( 
 + 
 +---------------------------------------------------------------------------------------------