problem solving with the sequential logic structure
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/1.jpg)
COP1006 1
Problem Solving with the Sequential Logic Structure
Lesson 5
McManus
![Page 2: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/2.jpg)
COP1006 2
Overview
• Algorithm Instructions• Sequential Logic Structure• Solution Development
McManus
![Page 3: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/3.jpg)
COP1006 3
Flowchart Symbols
• Terminal– Starts, Stops, Ends
• Input/Output– Input data, Output information
• Assign– Apply values to variables
• Process– Execute instructions
McManus
Terminal
Input/Output
Assign
Process
![Page 4: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/4.jpg)
COP1006 4
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.
McManus
![Page 5: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/5.jpg)
COP1006 5
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
McManus
![Page 6: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/6.jpg)
COP1006 6
Let’s work a problem…
McManus
![Page 7: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/7.jpg)
COP1006 7
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?
McManus
![Page 8: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/8.jpg)
COP1006 8
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
McManus
![Page 9: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/9.jpg)
COP1006 9
Structure Chart of Solution
McManus
Calculate Savings
Get input Calculate
PrintAmount
PrintInterest
CalculateInterest
CalculateAmount
![Page 10: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/10.jpg)
COP1006 10
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
McManus
![Page 11: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/11.jpg)
COP1006 11
Coding the Problem
In Visual Basic
Note: Up to this point it didn’t matter what language we use…
McManus
![Page 12: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/12.jpg)
COP1006 12
Data Dictionary
Variable Name Data Type Module Defined Domain Scope
Principal Decimal GetInputCalculate
0 < n < 1 million Global
InterestRate Double GetInputCalculate
0 < n < 1 to 14+ digits
Global
Time Short GetInputCalculate
0 < n < 32,767 Global
Amount Single CalculatePrintResult
0 < n < 1 million Global
Interest Single CalculatePrintResult
0 < n < 1 million Global
McManus
![Page 13: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/13.jpg)
COP1006 13
VB Solution – Declare Variables
' Input Values by UserDim Principal As DecimalDim InterestRate As DoubleDim Time As Short
' Output ValuesDim Amount As SingleDim Interest As Single
McManus
Internal Documentation
taking the form of Comments
![Page 14: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/14.jpg)
COP1006 14
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 SubMcManus
![Page 15: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/15.jpg)
COP1006 15
VB Solution – Calculate Result
Private Sub cmdCalculate_Click()
' Calculates Principal + Interest over timeAmount = Principal * ((1 + InterestRate) ^ Time)
' Calculates amount of total Interest at end of' time period
Interest = Amount - Principal
End Sub
McManus
![Page 16: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/16.jpg)
COP1006 16
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
McManus
![Page 17: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/17.jpg)
COP1006 17
VB Solution – the Form
McManus
![Page 18: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/18.jpg)
COP1006 18
Getting the Input
McManus
1st step
2nd step
3rd step
![Page 19: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/19.jpg)
COP1006 19
Calculating the Solution
McManus
![Page 20: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/20.jpg)
COP1006 20
VB Solution – the Output
McManus
![Page 21: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/21.jpg)
COP1006 21
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
McManus
![Page 22: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/22.jpg)
COP1006 22
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.
McManus
![Page 23: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/23.jpg)
COP1006 23
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?
McManus
![Page 24: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/24.jpg)
COP1006 24
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
McManus
![Page 25: Problem Solving with the Sequential Logic Structure](https://reader035.vdocuments.mx/reader035/viewer/2022062305/56814f3d550346895dbce2e6/html5/thumbnails/25.jpg)
COP1006 25
Next?
McManus