problem solving with the sequential logic structure lesson 5 mcmanuscop10061

25
Problem Solving with the Sequential Logic Structure Lesson 5 McManus COP1006 1

Upload: amanda-mckinney

Post on 12-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Problem Solving with the Sequential Logic Structure Lesson 5 McManusCOP10061

COP1006 1

Problem Solving with the Sequential Logic Structure

Lesson 5

McManus

Page 2: Problem Solving with the Sequential Logic Structure Lesson 5 McManusCOP10061

COP1006 2

Overview

• Algorithm Instructions• Sequential Logic Structure• Solution Development

McManus

Page 3: Problem Solving with the Sequential Logic Structure Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

COP1006 6

Let’s work a problem…

McManus

Page 7: Problem Solving with the Sequential Logic Structure Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

COP1006 9

Structure Chart of Solution

McManus

Calculate Savings

Get input Calculate

PrintAmount

PrintInterest

CalculateInterest

CalculateAmount

Print

Page 10: Problem Solving with the Sequential Logic Structure Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

COP1006 17

VB Solution – the Form

McManus

Page 18: Problem Solving with the Sequential Logic Structure Lesson 5 McManusCOP10061

COP1006 18

Getting the Input

McManus

1st step

2nd step

3rd step

Page 19: Problem Solving with the Sequential Logic Structure Lesson 5 McManusCOP10061

COP1006 19

Calculating the Solution

McManus

Page 20: Problem Solving with the Sequential Logic Structure Lesson 5 McManusCOP10061

COP1006 20

VB Solution – the Output

McManus

Page 21: Problem Solving with the Sequential Logic Structure Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

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 Lesson 5 McManusCOP10061

COP1006 25

Next?

McManus