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 COP1000
Overview • Algorithm Instructions • Sequential Logic Structure • Solution Development COP1000
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 COP1000
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. COP1000
Examples • Enter Name • Enter Address • Enter City • Enter State • Enter Zip • Enter Hours • Enter Wage • Pay = Hours * Wage • Print Name • Print Address • Print City • Print State • Print Zip • Print Pay COP1000
Let’s work a problem… COP1000
The Problem… • Elliott 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? COP1000
The Solution • First: Research banking algorithms • We wind up with Two Equations: • First…the Tough one • Amount = Principal * ((1 + Interest Rate) ^ Time) • Principal (original amount put into savings) • 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) COP1000
Structure Chart of Solution Calculate Savings Get Principal,Interest Rate& Time PrintOutput CalculateModule Calculate Amount CalculateInterest PrintInterest PrintAmount COP1000
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 COP1000
Coding the Problem In Visual Basic Note: Up to this point it didn’t matter what language we use… COP1000
Data Dictionary COP1000
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 COP1000
VB Solution – Get Input Private Sub txtPrincipal_TextChanged( _ ByValsender As System.Object, _ ByVale As System.EventArgs) _ Handles txtPrincipal.TextChanged 'Accesses user input from Principal textbox 'converts user input (text) to numeric format Principal = Val(txtPrincipal.Text) End Sub COP1000
VB Solution – Get Input Private Sub txtInterest_TextChanged( _ ByValsender As System.Object, _ ByVale As System.EventArgs) _ Handles txtInterestRate.TextChanged 'Accesses user input from Interest textbox 'converts user input (text) to numeric format InterestRate = Val(txtInterestRate.Text) End Sub COP1000
VB Solution – Get Input Private Sub txtTime_TextChanged( _ ByValsender As System.Object, _ ByVale As System.EventArgs) _ Handles txtTime.TextChanged 'Accesses user input from Time textbox 'converts user input (text) to numeric format Time = Val(txtTime.Text) End Sub COP1000
VB Solution – Calculate Result Private Sub cmdCalculate_Click( _ ByValeventSender As System.Object, _ ByValeventArgs As System.EventArgs) _ Handles 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 COP1000
VB Solution – Produce Output Private Sub cmdPrintResult_Click(ByValeventSender As System.Object, _ ByValeventArgs As System.EventArgs) Handles cmdPrintResult.Click 'displays the output to the user 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 COP1000
VB Solution – the Form COP1000
Getting the Input COP1000
Calculating the Solution COP1000
VB Solution – the Output COP1000
Documentation • Internal Documentation • For Programmers • Takes the form of comments within the program • Helped by using Mnemonic terms • Creates self-documenting code • External Documentation • For Users and System Administrators • Takes the form of • User Manuals • Help Screens • System Documentation COP1000
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. COP1000
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? COP1000
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 COP1000
Next? Problem Solving with Decisions COP1000