270 likes | 429 Views
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
E N D
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