CS 240 COMPUTER PROGRAMMING 1 1 Flowcharts ALGORITHM

  • Slides: 36
Download presentation
CS 240 COMPUTER PROGRAMMING 1 1 Flowcharts

CS 240 COMPUTER PROGRAMMING 1 1 Flowcharts

ALGORITHM An informal definition of an algorithm is: a step-by-step method for solving a

ALGORITHM An informal definition of an algorithm is: a step-by-step method for solving a problem or doing a task. 2

ALGORITHM A step-by-step problem-solving procedure An algorithm is a sequence of unambiguous instructions for

ALGORITHM A step-by-step problem-solving procedure An algorithm is a sequence of unambiguous instructions for solving a problem. The number of steps of an algorithm will be countable and finite. It is a sequence of instructions (or set of instructions) to make a program more readable; a process used to answer a question. 3

HOW TO UNDERSTAND THE PROBLEM? Define the problem Analyze the problem Develop an algorithm/method

HOW TO UNDERSTAND THE PROBLEM? Define the problem Analyze the problem Develop an algorithm/method of solution Write a computer program corresponding to the algorithm Test and debug the program Document the program (how it works and how to use it) 4

TOOLS There are two commonly used tools to help to document program logic (the

TOOLS There are two commonly used tools to help to document program logic (the algorithm) Flowcharts Pseudo code 5

FLOWCHART Definition The production flowchart is a visual representation of the sequence of the

FLOWCHART Definition The production flowchart is a visual representation of the sequence of the program. It shows what comes first, second, third, etc A flowchart indicates: The steps to be taken in order to solve a problem. The order or the sequence of these steps. 6

FLOWCHART RULES 1. Use only one start and one stop per flowchart, --that is,

FLOWCHART RULES 1. Use only one start and one stop per flowchart, --that is, one way in and one way out of the flowchart. 2. The logic flow of the solution is displayed from top to bottom and from left to right. 3. Use the appropriate symbol for each type of operation. 4. Use arrows when moving to another part of the flowchart rather than lines. 5. Do not leave dead-ends--that is, a part of a question unanswered. 7

SYMBOLS Symbol Description TERMINAL - To start or end a flowchart INPUT / OUTPUT

SYMBOLS Symbol Description TERMINAL - To start or end a flowchart INPUT / OUTPUT - Used with Read, Input, Print and other I/O commands. PROCESSING - Used for operations done inside the computer. Such as calculations, storing and moving of data. DECISION - Used to ask a question in programming. Questions are Yes/No format (Used with the If Statement). DIRECTION FLOW - Used to connect symbols and to represent the direction of flow. Lines should not cross each other. Arrowheads should be placed at the end close to the symbol. 8 Connector - or joining of two parts of program

1. SIMPLE SEQUENTIAL FLOWCHART Example 1 Construct a flow chart that prints "Hello, World"?

1. SIMPLE SEQUENTIAL FLOWCHART Example 1 Construct a flow chart that prints "Hello, World"? 9

1. SIMPLE SEQUENTIAL FLOWCHART Algorithm Step 1 - Start Step 2 - Print "Hello,

1. SIMPLE SEQUENTIAL FLOWCHART Algorithm Step 1 - Start Step 2 - Print "Hello, World" Step 3 - Stop 10

1. SIMPLE SEQUENTIAL FLOWCHART Flowchart Start Print “Hello, World” Stop 11

1. SIMPLE SEQUENTIAL FLOWCHART Flowchart Start Print “Hello, World” Stop 11

1. SIMPLE SEQUENTIAL FLOWCHART Example 2 Construct a flow chart that finds the sum

1. SIMPLE SEQUENTIAL FLOWCHART Example 2 Construct a flow chart that finds the sum of two numbers. 12

1. SIMPLE SEQUENTIAL FLOWCHART Variables Algorithm A: First Number Step 1 - Start B:

1. SIMPLE SEQUENTIAL FLOWCHART Variables Algorithm A: First Number Step 1 - Start B: Second Number Step 2 - Read A C: Sum (A+B) Step 3 - Read B Step 4 - Calculate C = A+B Step 5 - Print C Step 6 - Stop 13

1. SIMPLE SEQUENTIAL FLOWCHART Flowchart Start Read A Read B C= A+B Print C

1. SIMPLE SEQUENTIAL FLOWCHART Flowchart Start Read A Read B C= A+B Print C 14 Stop

1. SIMPLE SEQUENTIAL FLOWCHART Example 3 Construct a flow chart that finds the sum,

1. SIMPLE SEQUENTIAL FLOWCHART Example 3 Construct a flow chart that finds the sum, average and product of three numbers. 15

1. SIMPLE SEQUENTIAL FLOWCHART Variables Algorithm X: First Number Step 1 - Start Y:

1. SIMPLE SEQUENTIAL FLOWCHART Variables Algorithm X: First Number Step 1 - Start Y: Second Number Step 2 - Read X, Y, Z Z: Third Number Step 3 - Calculate S = X+Y+Z S: Sum (X+Y+Z) Step 4 - Calculate A = S/3 A: Average (S/3) P: Product (X*Y*Z) Step 5 - Calculate P = X*Y*Z Step 6 - Print S, A, P 16 Step 7 - Stop

1. SIMPLE SEQUENTIAL FLOWCHART Flowchart Start Read X, Y, Z S= X+Y+Z A=S/3 P=X*Y*Z

1. SIMPLE SEQUENTIAL FLOWCHART Flowchart Start Read X, Y, Z S= X+Y+Z A=S/3 P=X*Y*Z Print S, A, P Stop 17

1. SIMPLE SEQUENTIAL FLOWCHART Example 4 Construct a flow chart that finds the difference

1. SIMPLE SEQUENTIAL FLOWCHART Example 4 Construct a flow chart that finds the difference and the division of two numbers and display the result 18

1. SIMPLE SEQUENTIAL FLOWCHART Variables Algorithm N 1 : First Number Step 1 -

1. SIMPLE SEQUENTIAL FLOWCHART Variables Algorithm N 1 : First Number Step 1 - Start N 2 : Second Number Step 2 - Read N 1, N 2 D: Difference Step 3 - Calculate D = N 1 -N 2 V: Division Step 4 - Calculate V = N 1/N 2 Step 5 - Print D, V Step 6 - Stop 19

1. SIMPLE SEQUENTIAL FLOWCHART Flowchart Start Read N 1, N 2 D= N 1

1. SIMPLE SEQUENTIAL FLOWCHART Flowchart Start Read N 1, N 2 D= N 1 –N 2 V=N 1/N 2 Print D, V Stop 20

1. SIMPLE SEQUENTIAL FLOWCHART Example 5 Exercise Construct a flow chart that finds the

1. SIMPLE SEQUENTIAL FLOWCHART Example 5 Exercise Construct a flow chart that finds the circle area and circumference of a circle where R (radius) is given 21

1. SIMPLE SEQUENTIAL FLOWCHART Variables Algorithm R : Radius Step 1 - Start PI:

1. SIMPLE SEQUENTIAL FLOWCHART Variables Algorithm R : Radius Step 1 - Start PI: PI = 3. 14 Step 2 - Read R A: Area Step 3 - Calculate A = PI*(R)2 C: Circumference Step 4 - Calculate C = 2*PI*R Step 5 - Print R, A, C Step 6 - Stop 22

2. BRANCHED FLOWCHARTS Example 1 Construct a flow chart for the following function F(x)

2. BRANCHED FLOWCHARTS Example 1 Construct a flow chart for the following function F(x) = { X -X X>=0 X<0 23

2. BRANCHED FLOWCHARTS Variables Algorithm X : Number Step 1 - Start F: function

2. BRANCHED FLOWCHARTS Variables Algorithm X : Number Step 1 - Start F: function of X Step 2 - Read X Step 3 - if X >=0 then F =X Step 4 - if X <0 then F =-X Step 5 - Print F Step 6 - Stop 24

2. BRANCHED FLOWCHARTS Start Flowchart Read X NO X>=0 YES F=X F=-X Print F

2. BRANCHED FLOWCHARTS Start Flowchart Read X NO X>=0 YES F=X F=-X Print F Stop 25

2. BRANCHED FLOWCHARTS Example 2 Trace the following flowchart and write the output of

2. BRANCHED FLOWCHARTS Example 2 Trace the following flowchart and write the output of it. 1. When X = 20 2. When X = -10 26

2. BRANCHED FLOWCHARTS Start Flowchart Read X 0> W=2*X-1 >0 X? =0 W=X+1 W=SIN(X)+5

2. BRANCHED FLOWCHARTS Start Flowchart Read X 0> W=2*X-1 >0 X? =0 W=X+1 W=SIN(X)+5 Print X, W 27 Stop

2. BRANCHED FLOWCHARTS Result When X=20 When X=-10 X= 20 W= 21 X= -10

2. BRANCHED FLOWCHARTS Result When X=20 When X=-10 X= 20 W= 21 X= -10 W= -21 28

2. BRANCHED FLOWCHARTS Example 3 Exercise Draw a flowchart that shows the traffic light

2. BRANCHED FLOWCHARTS Example 3 Exercise Draw a flowchart that shows the traffic light processing 29

2. BRANCHED FLOWCHARTS Variables C : Traffic light color Algorithm Step 1 - Start

2. BRANCHED FLOWCHARTS Variables C : Traffic light color Algorithm Step 1 - Start Step 2 - Read C Step 3 - make a Decision (what is c) Step 4 - if C is RED then Print STOP Step 5 - if C is YELLOW then Print WAIT Step 6 - if C is GREEN then Print PASS Step 7 - Stop 30

3. LOOP FLOWCHARTS Example 1 Trace the following flowchart and write the output of

3. LOOP FLOWCHARTS Example 1 Trace the following flowchart and write the output of it. 31

3. LOOP FLOWCHARTS Flowchart Start N=1 Print N F While N<=7 T N=N+3 Stop

3. LOOP FLOWCHARTS Flowchart Start N=1 Print N F While N<=7 T N=N+3 Stop 32

3. LOOP FLOWCHARTS Result N Loop 1 1 4 2 7 3 33

3. LOOP FLOWCHARTS Result N Loop 1 1 4 2 7 3 33

3. LOOP FLOWCHARTS Example 2 Trace the following flowchart and write the output of

3. LOOP FLOWCHARTS Example 2 Trace the following flowchart and write the output of it. 34

3. LOOP FLOWCHARTS Flowchart Start i=0 Sum=0 While i<10 T F avg=Sum/10 Read X

3. LOOP FLOWCHARTS Flowchart Start i=0 Sum=0 While i<10 T F avg=Sum/10 Read X Print avg Sum= X + Sum Increment i Stop 35

3. LOOP FLOWCHARTS Result Loop Read X Sum i 1 2 3 3 4

3. LOOP FLOWCHARTS Result Loop Read X Sum i 1 2 3 3 4 1 3 7 8 1 2 3 4 10 18 4 5 7 25 5 6 5 30 6 7 3 33 7 8 8 41 8 9 10 4 5 45 50 9 10 Avg =50/10 =5 36