Problem Solving with the Sequential Logic Structure
Problem Solving with the Sequential Logic Structure. Lesson 5. Overview. Algorithm Instructions Sequential Logic Structure Solution Development. Flowchart Symbols. Terminal Starts, Stops, Ends Input/Output Input data, Output information Assign Apply values to variables Process
Problem Solving with the Sequential Logic Structure
E N D
Presentation Transcript
Problem Solving with the Sequential Logic Structure Lesson 5 COP1006
Overview • Algorithm Instructions • Sequential Logic Structure • Solution Development COP1006
Flowchart Symbols • Terminal • Starts, Stops, Ends • Input/Output • Input data, Output information • Assign • Apply values to variables • Process • Execute instructions Terminal Input/Output Assign Process COP1006
Sequential Logic Structure • The oldest logic structure • The most used logic structure • The easiest structure to understand • Is one statement after another statement, after another statement, after another statement, etc. COP1006
Examples Print Name Print Address Print City Print State Print Zip Print Pay • Enter Name • Enter Address • Enter City • Enter State • Enter Zip • Enter Hours • Enter Wage • Pay = Hours * Wage COP1006
Let’s work a problem… COP1006
The Problem… • Sadie invests $5,000 in a savings account that yields 5% (.05) annual interest. • Assuming that all interest is left on deposit along with the original deposited amount • What will be the equation to calculate the amount that will be in the account at the end of 10 years? • How much will the interest be at the end of the 10 years? COP1006
The Solution • First: Research banking algorithms • We wind up with Two Equations: • First…the Tough one • Amount = Principal * ((1 + Interest Rate) ^ Time) • Principal – amount to be invested • Interest Rate – yearly percentage rate • Time – investment period in years • Amount – principal + interest earned • Next…the Easy one • Interest = Amount – Principal • Interest – the actual amount of Interest COP1006
Structure Chart of Solution Calculate Savings Get input Print Calculate Calculate Amount CalculateInterest PrintInterest PrintAmount COP1006
Pseudocode Solution • Get Principal Amount • Get Yearly Interest Rate • Get Time Intervals • Calculate Amount of Principal + Interest • Amount = Principal * ((1 + Rate) ^ Time) • Calculate Amount of Interest • Interest = Amount - Principal • Print Amount of Ending Principal + Interest • Print Amount of Interest COP1006
Coding the Problem In Visual Basic Note: Up to this point it didn’t matter what language we use… COP1006
Data Dictionary COP1006
VB Solution – Declare Variables Internal Documentation taking the form of Comments ' Input Values by User Dim Principal As Decimal Dim InterestRate As Double Dim Time As Short ' Output Values Dim Amount As Single Dim Interest As Single COP1006
VB Solution – Get Input Private Sub cmdGetInput_Click() Principal = CDec(InputBox("In Dollar amount " & _ “ (5000)", "Please Enter Principal Amount")) InterestRate = CDbl(InputBox(" Ex. 5% " & _ “ would be entered as .05", "Please " & _ “ Enter Annual Interest Rate")) Time = CShort(InputBox("An Integer " & _ “ with no decimals", "Please Enter Length " & _ “ of Time in Years")) End Sub COP1006
VB Solution – Calculate Result Private Sub cmdCalculate_Click() ' Calculates Principal + Interest over time Amount = Principal * ((1 + InterestRate) ^ Time) ' Calculates amount of total Interest at end of ' time period Interest = Amount - Principal End Sub COP1006
VB Solution – Produce Output Private Sub cmdPrintResult_Click() lstOutput.Items.Add(" The Amount of Principal + " & _ “Interest Paid on") lstOutput.Items.Add(" the Principal Amount of " & _ VB6.Format(Principal, "Currency") & " for ") lstOutput.Items.Add(Time & " years is") lstOutput.Items.Add(" " & _ VB6.Format(Amount, "Currency")) lstOutput.Items.Add(" and the Amount of Interest is") lstOutput.Items.Add(" " & _ VB6.Format(Interest, "Currency")) End Sub COP1006
VB Solution – the Form COP1006
Getting the Input 1st step 2nd step 3rd step COP1006
Calculating the Solution COP1006
VB Solution – the Output COP1006
Documentation • Internal Documentation • Takes the form of comments within the program • Helped by using Mnemonic terms • Creates self-documenting code • External Documentation • Takes the form of • User Manuals • Help Screens • System Documentation COP1006
Testing the Solution • Input Variables to be tested • Principal • any numeric value greater than 0 • InterestRate • any numeric value greater than 0 and less than 1 • Time • any integer greater than 0 • Note: We didn’t do any Error checking in this problem. COP1006
Testing the Solution • Output Variables • Would expect to see the Amount a positive number greater than the Principal amount • Would expect to see the Interest greater than zero. • Why are these statements important? COP1006
Summary • Analyze the problem • Being able to restate the problem is one indicator that you understand the problem • Develop the structure chart • Develop the algorithms • Develop the data dictionary • Develop the code • Test the solution COP1006
Next? Problem Solving with Decisions COP1006