Control Structure: Loop (Part 1) Knowledge: Understand the various concepts of loop control structure Skill: Be able to develop a program involving loop control structure 1
TK1913-C Programming2 TK1913-C Programming 2 Loop Structure Condition is tested firstCondition is tested later
TK1913-C Programming3 TK1913-C Programming 3 false true Testing Condition First condition Step x Step y Step a Step n
TK1913-C Programming4 TK1913-C Programming 4 Testing Condition First condition Step x Step y Step a Step n
TK1913-C Programming5 TK1913-C Programming 5 Step a condition Step n Step x false true Step y Testing condition later
TK1913-C Programming6 TK1913-C Programming 6 Step a condition Step n Step x false true Step y Testing condition later
TK1913-C Programming7 TK1913-C Programming 7 How Loops are Controlled Sentinel Controlled Counter Controlled 1, 2, 3, 4, … …, 4, 3, 2, 1 Condition Controlled
TK1913-C Programming8 TK1913-C Programming 8 Counter Controlled Loop counter ← initialValue test counter value Step n Step x false true Update counter
TK1913-C Programming9 TK1913-C Programming 9 Counter Controlled Loop counter = initialValue test counter value Step n Step x false true Update counter counter ← initialValue
TK1913-C Programming10 TK1913-C Programming 10 Example: Can you identify the input and output??? Draw a flowchart for the following problem: Read 5 integer and display the value of their summation. Input : 5 integer n1, n2, n3, n4, n5 Output: The summation of n1, n2,.., n5 Input example: Output example: 20
TK1913-C Programming11 TK1913-C Programming 11 Input n1 Input n2 Input n3 input n4 input n5 output sum sum ← n1+n2+n3+n4+n5 start 2 n1 Assume input example: n2 4 n3 5 n4 6 n5 20 sum end This flowchart does not use loop, hence we need to use 6 different variables
TK1913-C Programming12 TK1913-C Programming 12 Counter- Controlled Loop counter ← 1, sum ← 0 counter < 6 sum ← sum + n false true counter++ output sum input n 1 counter sum 0 1 < 6true 2 n < 6true < 6true < 6true < 6true < 6false Assume input example: This loop is counter-controlled The counter Increases by 1 Uses only 3 variables
TK1913-C Programming13 TK1913-C Programming 13 Decreasing Counter-Controlled Loop counter ← 5, sum ← 0 counter > 0 sum←sum+ x false true counter-- output sum input x
TK1913-C Programming14 TK1913-C Programming 14 Example: Draw a flowchart for this problem; Given an exam marks as input, display the appropriate message based on the rules below: If marks is greater than 49, display “PASS”, otherwise display “FAIL” However, for input outside the range, display “WRONG INPUT” and prompt the user to input again until a valid input is entered
TK1913-C Programming15 TK1913-C Programming 15 Condition-Controlled Loop false true input m m 100 m>49 “PASS” “FAIL” true false “WRONG INPUT” Assume m=110 m WRONG INPUT Assume m= > 49 FAIL Assume m= > 49 PASS Condition-controlled loop with its condition being tested at the end
TK1913-C Programming16 TK1913-C Programming 16 false true input m m 100 m>49 “PASS” “FAIL” true false “WRONG INPUT” input m Condition-controlled loop with its condition being tested first
TK1913-C Programming17 TK1913-C Programming 17 Sentinel-Controlled Loop Draw a flowchart for a problem which: Receive a number of positive integers and display the summation and average of these integers. A negative or zero input indicate the end of input process Can you identify the input and output??? Input: A set of integers ending with a negative integer or a zero Output: Summation and Average of these integers
TK1913-C Programming18 TK1913-C Programming 18 Input Example: Output Example: Sum = 88 Average = Sentinel Value
TK1913-C Programming19 TK1913-C Programming 19 Now… What have you understand?
TK1913-C Programming20 TK1913-C Programming 20 x>0 sum←sum+x false true input x sum←0 input x display sum Try to understand What will happen if this statement is deleted??? ? What happened if these 2 statements exchange places sum←sum+x input x ?