Presentation is loading. Please wait.

Presentation is loading. Please wait.

PROGRAM DESIGN CONCEPTS AND TECHNIQUES

Similar presentations


Presentation on theme: "PROGRAM DESIGN CONCEPTS AND TECHNIQUES"— Presentation transcript:

1 PROGRAM DESIGN CONCEPTS AND TECHNIQUES
5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 1

2 Objectives Use functions and subprocedures to modularize a program.
Divide a program into modules. Use parameters and return values to pass data between modules. Identify situations appropriate for using value parameters. Identify situations appropriate for using reference parameters. Choose the appropriate scope for a variable. Create a function. Use recursion to solve a programming problem. Describe overall design goals and program requirements. Use a data flow diagram to show how data flows between modules. Use an IPO chart to show how data flows between modules. Write algorithms and pseudocode to describe a program. Use pseudocode to describe a subprogram that uses parameters. 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 2

3 Benefits of Using Modules
Reusing a module Hiding code complexity Allowing multiple programmers to work on a project Ability to test at the module level 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 3

4 Data Flow Diagram Main module OriginalPrice DiscountRate OriginalPrice
Saleprice Saleprice Input data Compute results Output data 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 4

5 IPO Chart Input Processing Output OriginalPrice DiscountRate
Compute SalePrice SalePrice 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 5

6 Parameters and Arguments
Call OutputResults (OriginalPrice, DiscountRate, SalePrice) Subprogram OutputResults (OldPrice, Rate, NewPrice) 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 6

7 Value and Reference Parameters Example
Main Set Num1 = 1 Set Num2 = 2 Call Switch(Num1, Num2) Write Num1, “ “ , Num2 End Program Subprogram Switch(Number1, Number2 As Ref) Set Number1 = 2 Set Number2 = 1 End Subprogram 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 7

8 Variable Scope Main DECLARE Num1 Num1 = 4 Call DoSomething()
Write Num1 Subprogram DoSomething() Declare Num1 Declare Num2 Num1 = 3 Num2 = Num1 * 2 Write Num1, Num2 End Subprogram Subprogram DoSomething2() Declare Num2 Num2 = 2 Write Num1, Num2 End Subprogram 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 8

9 Variable Scope in VB.NET
Module Module1 Dim modLevelVar As Integer = 100 Sub Main() Dim subLevelVar As Integer = 1 If subLevelVar = 1 Then Dim strIfOnly As String = "within if only" System.Console.WriteLine(strIfOnly) End If System.Console.WriteLine(strIfOnly) modLevelVar = subLevelVar End Sub End Module 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 9

10 Variable Scope in Java public class ScopeTest { static void mod1(x)
int i = 5*x; System.out.println("value = " + i); } public static void main(String[] args) int x = 10; int i = x+5; //Here i = 15 if x < i int i = x; //Here i = 10 mod1(i); mod1(i); //Here i still = 15 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 10

11 Functions Main Declare Num As Real Set Num = Cube(10) Write Num
End Program Function Cube(X) As Real Set Cube = X^3 End Function 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 11

12 Recursion Function Power(X, N) As Real If N = 1 Then Set Power = X
Else Set Power = Power(X, N-1) * X End If End Function 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 12

13 Hierarchy Chart for a Grade Management Program
5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 13

14 Data Flow Diagram for a Grade Management Program
5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 14

15 Grades Management Program Pseudocode - Main
Declare Choice As Integer Display a welcome message Repeat Call SelectFromMenu(Choice) If Choice = 1 Then Call CreateGradeSheet End If If(Choice = 2 Or (Choice = 3) or Choice=4) then Call RetrieveGradeSheet(Choice) Until Choice = 0 End Program 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 15

16 Grades Management Program Pseudocode - SelectFromMenu
Subprogram SelectFromMenu(Choice As Ref) Repeat Write “0-Quit the program” Write “1-Create grade sheet” Write “2- Enter test scores” Write “3-Compute test averages” Write “4-Display grade sheet” Input Choice Until (Choice=Int(Choice) And (Choice>=0) And (Choice<=4) End Subprogram 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 16

17 Grades Management Program Pseudocode - CreateGradeSheet
Subprogram CreateGradeSheet Declare Name As String Open “GRADES” For Output As DataFile Write “Enter student name; enter * when done.” Input Name While Name<>”*” Write DataFile, Name, 0,0,0,0 End While Close DataFile End Subprogram 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 17

18 Grades Management Program Pseudocode - RetrieveGradeSheet
Subprogram RetrieveGradeSheet(Choice) Open “GRADES” For Input AS DataFile Declare Names[40], Averages[40], Scores[3,40] Set Count=0 While Not EOF(DataFile) Set Count=Count+1 Read DataFile, Names[Count], Scores[1, Count], Scores[2, Count], Scores[3, Count], Averages[Count] End While Select Case of Choice Case 2: Call EnterTestScores(Count, Names, Scores) Case 3: Call ComputeAverages(Count, Scores, Averages) Case 4: Call DisplayGradeSheet(Count, Names, Scores, Averages) End Case Close DataFile End Subprogram 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 18

19 Grades Management Program Pseudocode - EnterTestScores
Subprogram EnterTestScores(Count, Names, Scores As Ref) Declare TestNum, K As Integer Repeat Write “Enter the test number:” Input TestNum Until (TestNum=1) Or (TestNum=2) Or (TestNum=3) Write “When a name is displayed, enter test score.” For K=1 Step 1 To Count Write Names[K] Input Scores[TestNum, K] End For End Subprogram 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 19

20 Grades Management Program Pseudocode - ComputeAverages
Subprogram ComputeAverages(Count, Scores, Averages As Ref) Declare Sum, K as Integer For K=1 Step 1 To Count Set Sum=Scores[1,K] + Scores[2,K] +Scores[3,K] Set Averages[K] = Sum/3 End For End Subprogram 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 20

21 Grades Management Program Pseudocode - DisplayGradeSheet
Subprogram DisplayGradeSheet(Count, Names, Scores, Averages) Declare K As Integer For K=1 Step 1 To Count Write Names[K], Scores[1,K], Scores[2,K], Scores[3,K], Averages[K] End For End Subprogram 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 21

22 Summary In this unit, students learned:
The benefits of dividing a program into modules. The methods of designing a program, including: Data flow IPO How to pass data between modules: Parameters Return values How to determine variable scope Global Local How to select the best scope for a variable How to use recursion to solve a problem. 5/2/2019© 2006 ITT Educational Services Inc. Structured Programming: Unit 3 Slide 22


Download ppt "PROGRAM DESIGN CONCEPTS AND TECHNIQUES"

Similar presentations


Ads by Google