SlideShare a Scribd company logo
Fundamentals of
Computer Programming
Chapter 3
Flow of Control Part II
(Loop Statements)
Chere L. (M.Tech)
Lecturer, SWEG, AASTU
1
Outline
 Introduction to iterative flow control
 Iterative flow controls (Looping statements)
 for loop
 while loop
 do . . . while loop
 Jumping statements
 break, continue, goto
 Program termination statements
 return, exit, abort
2
Chapter 3
Objectives
 Learn how to use iterative flow control
 Learn how to form Boolean expressions and examine
relational and logical operators
 Design and develop program using loop statements
3
Chapter 3
1. Introduction to looping
 The loop Statements allow a set of instructions to be performed
repeatedly until a certain condition is fulfilled.
 Following is the general from of a loop statement in most of
the programming languages
4
Chapter 3
1. Introduction to looping (cont’d)
Part of loop
 Initialization Expression(s)
 initialize(s) the loop
 variables in the beginning of the loop.
 Test Expression
 Decides whether the loop will be executed (if test expression is
true) or not (if test expression is false).
 Update Expression(s)
 update(s) the values of loop variables after every iteration of
the loop.
 The Body-of-the-Loop
 Contains statements to be executed repeatedly.
5
Chapter 3
1. Introduction to looping (cont’d)
Types of loop
 Most programming language provides the following types of loop to
handle looping requirements
Loop Type Description
while loop Repeats a statement or group of statements until a given
condition is true.
It tests the condition before executing the loop body.
for loop Execute a sequence of statements multiple times and
abbreviates the code that manages the loop variable.
do...while loop Like a while statement, except that it tests the
condition at the end of the loop body
nested loops You can use one or more loop inside any another
while, for or do..while loop.
6
Chapter 3
1. Introduction to looping (cont’d)
Category of loops
1) Pretest and Posttest loops
 Pretest loops (while loop & for loop) - the loop condition checked first,
if false, statements in the loop body never executed.
 Posttest loop (do .. while loop) - the loop condition is checked/tested
after the loop body statements are executed.
 Loop body always executed at least once
2) Count-controlled and Event-Controlled loops
 Count-controlled (for loop) – also called fixed count loop
 Repeat a statement or block a specified number of times
 Used when exactly how many loops want to made
 Event-controlled (while and do-while loop) – also called variable condition loop
 Repeat a statement or block until a condition within the loop
body changes that cause the repetition to stop.
7
Chapter 3
1. Introduction to looping (cont’d)
Types of Event-Controlled Loops
 Sentinel controlled
Keep processing data until a special value (sentinel value)
that is not a possible data value is entered to indicate
that processing should stop.
 End-of-file controlled
Keep processing data or executing statement(s) as long as
there is more data in the file.
 Flag controlled
Keep processing data until the value of a flag changes in
the loop body
8
Chapter 3
2. while loop
 Syntax
while (repetition condition) {
statement (s);
}
next statement(s);
 Repetition condition
 It is the condition which controls the loop
 Must evaluated to true/false (i.e. Boolean expression)
 Can be formed by combining two or more relational expression with
logical operators
 The statement is repeated as long as the loop repetition condition is true.
 infinite loop - if the loop repetition condition is always true.
9
Chapter 3
2. while loop (cont’d)
10
Chapter 3
Logic of a while loop
EXAMPLE:
2. while loop (cont’d)
11
Chapter 3
3. for loop
 Syntax
 Condition
 controls the loop and must evaluated to true/false
 Can be formed by combining two or more relational expression with
logical operators
 The statement is repeated as long as the loop repetition condition is true
for ( initialization ; condition ; increment )
{
statement;
}
The initialization is
executed once before the
loopbegins
The statement is executed
until the condition becomes
false
The increment portion is executed at
the end of each iteration
12
Chapter 3
3. for loop (cont’d)
13
Chapter 3
statement
true
condition
evaluated
false
increment
initialization
Logic of a for loop
EXAMPLE:
3. for loop (cont’d)
14
Chapter 3
3. for loop (cont’d)
The for loop Variations
a) Multiple initialization and update expressions
A for loop may contain multiple initialization and/or multiple
update expressions.
These multiple expressions must be separated by commas.
Example:
b) Other for loop forms
for ( ;n < 10; ) if we wanted to specify no initialization and no update expression
for (; n<10; n++)
if we wanted to include an update expression but no initialization
(maybe because the variable was already initialized before).
for (;;)
for(j=25; ;--j)
infinite loop:- Removing either all the expressions or missing condition
or using condition that never get false gives us an infinite loop
15
Chapter 3
3. for loop (cont’d)
Prefix or postfix increment/decrement
 Reason being that when used alone, prefix operators are faster
executed than postfix
16
Chapter 3
3. for loop (cont’d)
Empty loop
 If a loop does not contain any statement in its loop-body, it is said
to be an empty loop:
for(j=25; (j);--j) //(j) tests for non zero value of j.
 If we put a semicolon after for’s parenthesis it repeats only for
counting the control variable.
 And if we put a block of statements after such a loop, it is not a
part of for loop.
17
Chapter 3
4. do . . . while loop
 Syntax
do {
statement (s);
} while (repetition condition)
next statement(s);
 It is similar to while loop except it is posttest loop
 The statement is first executed.
 If the loop repetition condition is true, the statement is repeated.
 Otherwise, the loop is exited.
 The repetition condition should be Boolean expression
 Used when your program need to be executed at least one iteration
18
Chapter 3
4. do . . . while loop (cont’d)
19
Chapter 3
Logic of a do . . while loop
EXAMPLE:
4. do . . . while loop (cont’d)
20
Chapter 3
 Nested loops consist of an outer loop with one or more inner loops
5. Nested loop
21
Chapter 3
The above loop will run for 100*50 iterations
EXAMPLE:
5. Nested loop (cont’d)
22
Chapter 3
6. Jumping Statements
(a) The goto statement
 It can transfer the program control anywhere in the program.
 The target destination is marked by a label.
 The target label and goto must appear in the same statement.
 The syntax:
23
Chapter 3
goto label;
………
………
label:
6. Jumping Statements (cont’d)
(b) The break statement
 Enables a program to skip over part of the code.
 It terminates the smallest enclosing while, do-while and for
loop statements.
It skips the rest of the loop and jumps over to the
statement following the loop.
 The figures on the next slide explains the working of a break
statement :
 Aslo use along with switch as discussed under the selection
control section
 Syntax:
break;
24
Chapter 3
6. Jumping Statements (cont’d)
How break statement works with loops
25
Chapter 3
while(condition)
{
statement1;
if(val>2000)
break;
:
statement2;
}
statement3;
for(initialization; condition; update)
{
statement1;
if(val>2000)
break;
:
statement2;
}
statement3;
Note:
• The break statement can be used in similar fashion with do…while loop also
Example of break statement
6. Jumping Statements (cont’d)
26
Chapter 3
6. Jumping Statements (cont’d)
(c) The continue statement
 Enables a program to skip over part of the code.
 works somewhat like the break statement.
 For the for loop, continue causes the conditional test and
increment portions of the loop to execute.
 For the while and do...while loops, program control
passes to the conditional tests.
 Syntax:
continue;
27
Chapter 3
Example of continue statement
6. Jumping Statements (cont’d)
28
Chapter 3
As you can see on the output
below the program jumps
printing 3 & 6 which are
factor of 3
Examples (break and continue
6. Jumping Statements (cont’d)
29
Chapter 3
7. Terminating Program
(a) The return statement
 As you seen in the main() function it terminate the program
and return control back to the Operating System
 Syntax: return returnValue;
(b) The exit() function
 Used to terminate the program normally and return the
control to the Operating System.
 Syntax: exit(int exitCode);
 Avaliable in <cstdlib> library (ported from C's "stdlib.h")
(c) The abort() function
 The same as exit() function but except it used to terminate the
program abnormally.
 Syntax: abort(int exitCode);
30
Chapter 3
7. Terminating Program
Example
31
Chapter 3
if (errorCount > 10)
{
cout << "too many errors" << endl;
exit(-1); // Terminate the program
// also you can use abort(-1); instead to
terminate the program abnormally
}
if (errorCount > 10)
{
cout << "too many errors" << endl;
return 1;
}
Exercises (MCQ)
(1) The statement i++; is equivalent to
(a) i = i + i; (b) i = i + 1; (c) i = i - 1; (d) i --;
(2) What's wrong? for (int k = 2, k <=12, k++)
(a) the increment should always be ++k
(b) the variable must always be the letter i when using a for loop
(c) there should be a semicolon at the end of the statement
(c) the commas should be semicolons
(3) A looping process that checks the test condition at the end of loop?
(a) for while (b) do-while (c) while (d) none
(4) A looping process is best used when the number of iterations is
known
(a) for while (b) do-while (c) while (d) all are require
32
Chapter 3
Exercises (MCQ)
(5) A continue statement causes execution to skip to
(a) The return 0; statement
(b) The first statement after the loop
(c) The statement following the continue statement
(d) The next iteration of the loop
(6) A break statement causes execution to skip to
(a) The return 0; statement
(b) The first statement after the loop
(c) The statement following the continue statement
(d) The next iteration of the loop
(e) The statement outside the loop
33
Chapter 3
Reading Resources/Materials
Chapter 7 & 8:
 Diane Zak; An Introduction to Programming with C++ [8th
Edition], 2016 Cengage Learning
Chapter 5:
 Gary J. Bronson; C++ For Engineers and Scientists [3rd
edition], Course Technology, Cengage Learning, 2010
Chapter 2 (section 2.4):
 Walter Savitch; Problem Solving With C++ [10th edition],
University of California, San Diego, 2018
Chapter 4 & 5:
 P. Deitel , H. Deitel; C++ how to program [10th edition],
Global Edition (2017) 34
Chapter 3
Thank You
For Your Attention!!
35
Chapter 3
Ad

More Related Content

Similar to Chapter 3 - Flow of Control Part II.pdf (20)

Programming in Arduino (Part 2)
Programming in Arduino  (Part 2)Programming in Arduino  (Part 2)
Programming in Arduino (Part 2)
Niket Chandrawanshi
 
Managing input and output operations & Decision making and branching and looping
Managing input and output operations & Decision making and branching and loopingManaging input and output operations & Decision making and branching and looping
Managing input and output operations & Decision making and branching and looping
letheyabala
 
Cse lecture-7-c loop
Cse lecture-7-c loopCse lecture-7-c loop
Cse lecture-7-c loop
FarshidKhan
 
Repetition Control and IO ErrorsPlease note that the mate.docx
Repetition Control and IO ErrorsPlease note that the mate.docxRepetition Control and IO ErrorsPlease note that the mate.docx
Repetition Control and IO ErrorsPlease note that the mate.docx
sodhi3
 
Chapter 9 - Loops in C++
Chapter 9 - Loops in C++Chapter 9 - Loops in C++
Chapter 9 - Loops in C++
Deepak Singh
 
2nd year computer science chapter 12 notes
2nd year computer science chapter 12 notes2nd year computer science chapter 12 notes
2nd year computer science chapter 12 notes
muhammadFaheem656405
 
C language 2
C language 2C language 2
C language 2
Arafat Bin Reza
 
Comp ppt (1)
Comp ppt (1)Comp ppt (1)
Comp ppt (1)
Sriman Sawarthia
 
Cpp loop types
Cpp loop typesCpp loop types
Cpp loop types
Rj Baculo
 
loops and iteration.docx
loops and iteration.docxloops and iteration.docx
loops and iteration.docx
JavvajiVenkat
 
itretion.docx
itretion.docxitretion.docx
itretion.docx
JavvajiVenkat
 
Loops in C.pptx
Loops in C.pptxLoops in C.pptx
Loops in C.pptx
nagalakshmig4
 
Ch3 repetition
Ch3 repetitionCh3 repetition
Ch3 repetition
Hattori Sidek
 
Introduction& Overview-to-C++_programming.pptx
Introduction& Overview-to-C++_programming.pptxIntroduction& Overview-to-C++_programming.pptx
Introduction& Overview-to-C++_programming.pptx
divyadhanwani67
 
Introduction to C++ programming language
Introduction to C++ programming languageIntroduction to C++ programming language
Introduction to C++ programming language
divyadhanwani67
 
C Programming Language Part 6
C Programming Language Part 6C Programming Language Part 6
C Programming Language Part 6
Rumman Ansari
 
Loop-1.pptx
Loop-1.pptxLoop-1.pptx
Loop-1.pptx
MuhammadArsalan896347
 
Programming Fundamentals in C++ structures
Programming Fundamentals in  C++ structuresProgramming Fundamentals in  C++ structures
Programming Fundamentals in C++ structures
ayshasafdarwaada
 
Ch05
Ch05Ch05
Ch05
Arriz San Juan
 
CS305PC_C++_UNIT 2.pdf jntuh third semester
CS305PC_C++_UNIT 2.pdf jntuh third semesterCS305PC_C++_UNIT 2.pdf jntuh third semester
CS305PC_C++_UNIT 2.pdf jntuh third semester
VeeraswamyDasari2
 
Managing input and output operations & Decision making and branching and looping
Managing input and output operations & Decision making and branching and loopingManaging input and output operations & Decision making and branching and looping
Managing input and output operations & Decision making and branching and looping
letheyabala
 
Cse lecture-7-c loop
Cse lecture-7-c loopCse lecture-7-c loop
Cse lecture-7-c loop
FarshidKhan
 
Repetition Control and IO ErrorsPlease note that the mate.docx
Repetition Control and IO ErrorsPlease note that the mate.docxRepetition Control and IO ErrorsPlease note that the mate.docx
Repetition Control and IO ErrorsPlease note that the mate.docx
sodhi3
 
Chapter 9 - Loops in C++
Chapter 9 - Loops in C++Chapter 9 - Loops in C++
Chapter 9 - Loops in C++
Deepak Singh
 
2nd year computer science chapter 12 notes
2nd year computer science chapter 12 notes2nd year computer science chapter 12 notes
2nd year computer science chapter 12 notes
muhammadFaheem656405
 
Cpp loop types
Cpp loop typesCpp loop types
Cpp loop types
Rj Baculo
 
loops and iteration.docx
loops and iteration.docxloops and iteration.docx
loops and iteration.docx
JavvajiVenkat
 
Introduction& Overview-to-C++_programming.pptx
Introduction& Overview-to-C++_programming.pptxIntroduction& Overview-to-C++_programming.pptx
Introduction& Overview-to-C++_programming.pptx
divyadhanwani67
 
Introduction to C++ programming language
Introduction to C++ programming languageIntroduction to C++ programming language
Introduction to C++ programming language
divyadhanwani67
 
C Programming Language Part 6
C Programming Language Part 6C Programming Language Part 6
C Programming Language Part 6
Rumman Ansari
 
Programming Fundamentals in C++ structures
Programming Fundamentals in  C++ structuresProgramming Fundamentals in  C++ structures
Programming Fundamentals in C++ structures
ayshasafdarwaada
 
CS305PC_C++_UNIT 2.pdf jntuh third semester
CS305PC_C++_UNIT 2.pdf jntuh third semesterCS305PC_C++_UNIT 2.pdf jntuh third semester
CS305PC_C++_UNIT 2.pdf jntuh third semester
VeeraswamyDasari2
 

More from KirubelWondwoson1 (6)

00 C++ For Engineers and Scientists.pdf
00 C++ For Engineers and Scientists.pdf00 C++ For Engineers and Scientists.pdf
00 C++ For Engineers and Scientists.pdf
KirubelWondwoson1
 
Chapter 4 (Part I) - Array and Strings.pdf
Chapter 4 (Part I) - Array and Strings.pdfChapter 4 (Part I) - Array and Strings.pdf
Chapter 4 (Part I) - Array and Strings.pdf
KirubelWondwoson1
 
Chapter 1 - Basic concepts of programming.pdf
Chapter 1 - Basic concepts of programming.pdfChapter 1 - Basic concepts of programming.pdf
Chapter 1 - Basic concepts of programming.pdf
KirubelWondwoson1
 
Chapter 5 - Modular Programming.pdf
Chapter 5 - Modular Programming.pdfChapter 5 - Modular Programming.pdf
Chapter 5 - Modular Programming.pdf
KirubelWondwoson1
 
Chapter 4 (Part II) - Array and Strings.pdf
Chapter 4 (Part II) - Array and Strings.pdfChapter 4 (Part II) - Array and Strings.pdf
Chapter 4 (Part II) - Array and Strings.pdf
KirubelWondwoson1
 
Chapter 2 - Flow of Control Part I.pdf
Chapter 2 -  Flow of Control Part I.pdfChapter 2 -  Flow of Control Part I.pdf
Chapter 2 - Flow of Control Part I.pdf
KirubelWondwoson1
 
00 C++ For Engineers and Scientists.pdf
00 C++ For Engineers and Scientists.pdf00 C++ For Engineers and Scientists.pdf
00 C++ For Engineers and Scientists.pdf
KirubelWondwoson1
 
Chapter 4 (Part I) - Array and Strings.pdf
Chapter 4 (Part I) - Array and Strings.pdfChapter 4 (Part I) - Array and Strings.pdf
Chapter 4 (Part I) - Array and Strings.pdf
KirubelWondwoson1
 
Chapter 1 - Basic concepts of programming.pdf
Chapter 1 - Basic concepts of programming.pdfChapter 1 - Basic concepts of programming.pdf
Chapter 1 - Basic concepts of programming.pdf
KirubelWondwoson1
 
Chapter 5 - Modular Programming.pdf
Chapter 5 - Modular Programming.pdfChapter 5 - Modular Programming.pdf
Chapter 5 - Modular Programming.pdf
KirubelWondwoson1
 
Chapter 4 (Part II) - Array and Strings.pdf
Chapter 4 (Part II) - Array and Strings.pdfChapter 4 (Part II) - Array and Strings.pdf
Chapter 4 (Part II) - Array and Strings.pdf
KirubelWondwoson1
 
Chapter 2 - Flow of Control Part I.pdf
Chapter 2 -  Flow of Control Part I.pdfChapter 2 -  Flow of Control Part I.pdf
Chapter 2 - Flow of Control Part I.pdf
KirubelWondwoson1
 
Ad

Recently uploaded (20)

Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
Biophysics Chapter 3 Methods of Studying Macromolecules.pdf
Biophysics Chapter 3 Methods of Studying Macromolecules.pdfBiophysics Chapter 3 Methods of Studying Macromolecules.pdf
Biophysics Chapter 3 Methods of Studying Macromolecules.pdf
PKLI-Institute of Nursing and Allied Health Sciences Lahore , Pakistan.
 
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulsepulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
sushreesangita003
 
The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...
Sandeep Swamy
 
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Library Association of Ireland
 
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdfExploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Sandeep Swamy
 
Odoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo SlidesOdoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo Slides
Celine George
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
Sinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_NameSinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_Name
keshanf79
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
Metamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative JourneyMetamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative Journey
Arshad Shaikh
 
Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025
Mebane Rash
 
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - WorksheetCBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
Sritoma Majumder
 
Handling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptxHandling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptx
AuthorAIDNationalRes
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
Quality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdfQuality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdf
Dr. Bindiya Chauhan
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam SuccessUltimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Mark Soia
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
Introduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe EngineeringIntroduction to Vibe Coding and Vibe Engineering
Introduction to Vibe Coding and Vibe Engineering
Damian T. Gordon
 
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulsepulse  ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
pulse ppt.pptx Types of pulse , characteristics of pulse , Alteration of pulse
sushreesangita003
 
The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...
Sandeep Swamy
 
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Niamh Lucey, Mary Dunne. Health Sciences Libraries Group (LAI). Lighting the ...
Library Association of Ireland
 
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdfExploring-Substances-Acidic-Basic-and-Neutral.pdf
Exploring-Substances-Acidic-Basic-and-Neutral.pdf
Sandeep Swamy
 
Odoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo SlidesOdoo Inventory Rules and Routes v17 - Odoo Slides
Odoo Inventory Rules and Routes v17 - Odoo Slides
Celine George
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
Sinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_NameSinhala_Male_Names.pdf Sinhala_Male_Name
Sinhala_Male_Names.pdf Sinhala_Male_Name
keshanf79
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
apa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdfapa-style-referencing-visual-guide-2025.pdf
apa-style-referencing-visual-guide-2025.pdf
Ishika Ghosh
 
Metamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative JourneyMetamorphosis: Life's Transformative Journey
Metamorphosis: Life's Transformative Journey
Arshad Shaikh
 
Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025Stein, Hunt, Green letter to Congress April 2025
Stein, Hunt, Green letter to Congress April 2025
Mebane Rash
 
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - WorksheetCBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
Sritoma Majumder
 
Handling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptxHandling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptx
AuthorAIDNationalRes
 
Geography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjectsGeography Sem II Unit 1C Correlation of Geography with other school subjects
Geography Sem II Unit 1C Correlation of Geography with other school subjects
ProfDrShaikhImran
 
Quality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdfQuality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdf
Dr. Bindiya Chauhan
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam SuccessUltimate VMware 2V0-11.25 Exam Dumps for Exam Success
Ultimate VMware 2V0-11.25 Exam Dumps for Exam Success
Mark Soia
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
Ad

Chapter 3 - Flow of Control Part II.pdf

  • 1. Fundamentals of Computer Programming Chapter 3 Flow of Control Part II (Loop Statements) Chere L. (M.Tech) Lecturer, SWEG, AASTU 1
  • 2. Outline  Introduction to iterative flow control  Iterative flow controls (Looping statements)  for loop  while loop  do . . . while loop  Jumping statements  break, continue, goto  Program termination statements  return, exit, abort 2 Chapter 3
  • 3. Objectives  Learn how to use iterative flow control  Learn how to form Boolean expressions and examine relational and logical operators  Design and develop program using loop statements 3 Chapter 3
  • 4. 1. Introduction to looping  The loop Statements allow a set of instructions to be performed repeatedly until a certain condition is fulfilled.  Following is the general from of a loop statement in most of the programming languages 4 Chapter 3
  • 5. 1. Introduction to looping (cont’d) Part of loop  Initialization Expression(s)  initialize(s) the loop  variables in the beginning of the loop.  Test Expression  Decides whether the loop will be executed (if test expression is true) or not (if test expression is false).  Update Expression(s)  update(s) the values of loop variables after every iteration of the loop.  The Body-of-the-Loop  Contains statements to be executed repeatedly. 5 Chapter 3
  • 6. 1. Introduction to looping (cont’d) Types of loop  Most programming language provides the following types of loop to handle looping requirements Loop Type Description while loop Repeats a statement or group of statements until a given condition is true. It tests the condition before executing the loop body. for loop Execute a sequence of statements multiple times and abbreviates the code that manages the loop variable. do...while loop Like a while statement, except that it tests the condition at the end of the loop body nested loops You can use one or more loop inside any another while, for or do..while loop. 6 Chapter 3
  • 7. 1. Introduction to looping (cont’d) Category of loops 1) Pretest and Posttest loops  Pretest loops (while loop & for loop) - the loop condition checked first, if false, statements in the loop body never executed.  Posttest loop (do .. while loop) - the loop condition is checked/tested after the loop body statements are executed.  Loop body always executed at least once 2) Count-controlled and Event-Controlled loops  Count-controlled (for loop) – also called fixed count loop  Repeat a statement or block a specified number of times  Used when exactly how many loops want to made  Event-controlled (while and do-while loop) – also called variable condition loop  Repeat a statement or block until a condition within the loop body changes that cause the repetition to stop. 7 Chapter 3
  • 8. 1. Introduction to looping (cont’d) Types of Event-Controlled Loops  Sentinel controlled Keep processing data until a special value (sentinel value) that is not a possible data value is entered to indicate that processing should stop.  End-of-file controlled Keep processing data or executing statement(s) as long as there is more data in the file.  Flag controlled Keep processing data until the value of a flag changes in the loop body 8 Chapter 3
  • 9. 2. while loop  Syntax while (repetition condition) { statement (s); } next statement(s);  Repetition condition  It is the condition which controls the loop  Must evaluated to true/false (i.e. Boolean expression)  Can be formed by combining two or more relational expression with logical operators  The statement is repeated as long as the loop repetition condition is true.  infinite loop - if the loop repetition condition is always true. 9 Chapter 3
  • 10. 2. while loop (cont’d) 10 Chapter 3 Logic of a while loop
  • 11. EXAMPLE: 2. while loop (cont’d) 11 Chapter 3
  • 12. 3. for loop  Syntax  Condition  controls the loop and must evaluated to true/false  Can be formed by combining two or more relational expression with logical operators  The statement is repeated as long as the loop repetition condition is true for ( initialization ; condition ; increment ) { statement; } The initialization is executed once before the loopbegins The statement is executed until the condition becomes false The increment portion is executed at the end of each iteration 12 Chapter 3
  • 13. 3. for loop (cont’d) 13 Chapter 3 statement true condition evaluated false increment initialization Logic of a for loop
  • 14. EXAMPLE: 3. for loop (cont’d) 14 Chapter 3
  • 15. 3. for loop (cont’d) The for loop Variations a) Multiple initialization and update expressions A for loop may contain multiple initialization and/or multiple update expressions. These multiple expressions must be separated by commas. Example: b) Other for loop forms for ( ;n < 10; ) if we wanted to specify no initialization and no update expression for (; n<10; n++) if we wanted to include an update expression but no initialization (maybe because the variable was already initialized before). for (;;) for(j=25; ;--j) infinite loop:- Removing either all the expressions or missing condition or using condition that never get false gives us an infinite loop 15 Chapter 3
  • 16. 3. for loop (cont’d) Prefix or postfix increment/decrement  Reason being that when used alone, prefix operators are faster executed than postfix 16 Chapter 3
  • 17. 3. for loop (cont’d) Empty loop  If a loop does not contain any statement in its loop-body, it is said to be an empty loop: for(j=25; (j);--j) //(j) tests for non zero value of j.  If we put a semicolon after for’s parenthesis it repeats only for counting the control variable.  And if we put a block of statements after such a loop, it is not a part of for loop. 17 Chapter 3
  • 18. 4. do . . . while loop  Syntax do { statement (s); } while (repetition condition) next statement(s);  It is similar to while loop except it is posttest loop  The statement is first executed.  If the loop repetition condition is true, the statement is repeated.  Otherwise, the loop is exited.  The repetition condition should be Boolean expression  Used when your program need to be executed at least one iteration 18 Chapter 3
  • 19. 4. do . . . while loop (cont’d) 19 Chapter 3 Logic of a do . . while loop
  • 20. EXAMPLE: 4. do . . . while loop (cont’d) 20 Chapter 3
  • 21.  Nested loops consist of an outer loop with one or more inner loops 5. Nested loop 21 Chapter 3 The above loop will run for 100*50 iterations
  • 22. EXAMPLE: 5. Nested loop (cont’d) 22 Chapter 3
  • 23. 6. Jumping Statements (a) The goto statement  It can transfer the program control anywhere in the program.  The target destination is marked by a label.  The target label and goto must appear in the same statement.  The syntax: 23 Chapter 3 goto label; ……… ……… label:
  • 24. 6. Jumping Statements (cont’d) (b) The break statement  Enables a program to skip over part of the code.  It terminates the smallest enclosing while, do-while and for loop statements. It skips the rest of the loop and jumps over to the statement following the loop.  The figures on the next slide explains the working of a break statement :  Aslo use along with switch as discussed under the selection control section  Syntax: break; 24 Chapter 3
  • 25. 6. Jumping Statements (cont’d) How break statement works with loops 25 Chapter 3 while(condition) { statement1; if(val>2000) break; : statement2; } statement3; for(initialization; condition; update) { statement1; if(val>2000) break; : statement2; } statement3; Note: • The break statement can be used in similar fashion with do…while loop also
  • 26. Example of break statement 6. Jumping Statements (cont’d) 26 Chapter 3
  • 27. 6. Jumping Statements (cont’d) (c) The continue statement  Enables a program to skip over part of the code.  works somewhat like the break statement.  For the for loop, continue causes the conditional test and increment portions of the loop to execute.  For the while and do...while loops, program control passes to the conditional tests.  Syntax: continue; 27 Chapter 3
  • 28. Example of continue statement 6. Jumping Statements (cont’d) 28 Chapter 3 As you can see on the output below the program jumps printing 3 & 6 which are factor of 3
  • 29. Examples (break and continue 6. Jumping Statements (cont’d) 29 Chapter 3
  • 30. 7. Terminating Program (a) The return statement  As you seen in the main() function it terminate the program and return control back to the Operating System  Syntax: return returnValue; (b) The exit() function  Used to terminate the program normally and return the control to the Operating System.  Syntax: exit(int exitCode);  Avaliable in <cstdlib> library (ported from C's "stdlib.h") (c) The abort() function  The same as exit() function but except it used to terminate the program abnormally.  Syntax: abort(int exitCode); 30 Chapter 3
  • 31. 7. Terminating Program Example 31 Chapter 3 if (errorCount > 10) { cout << "too many errors" << endl; exit(-1); // Terminate the program // also you can use abort(-1); instead to terminate the program abnormally } if (errorCount > 10) { cout << "too many errors" << endl; return 1; }
  • 32. Exercises (MCQ) (1) The statement i++; is equivalent to (a) i = i + i; (b) i = i + 1; (c) i = i - 1; (d) i --; (2) What's wrong? for (int k = 2, k <=12, k++) (a) the increment should always be ++k (b) the variable must always be the letter i when using a for loop (c) there should be a semicolon at the end of the statement (c) the commas should be semicolons (3) A looping process that checks the test condition at the end of loop? (a) for while (b) do-while (c) while (d) none (4) A looping process is best used when the number of iterations is known (a) for while (b) do-while (c) while (d) all are require 32 Chapter 3
  • 33. Exercises (MCQ) (5) A continue statement causes execution to skip to (a) The return 0; statement (b) The first statement after the loop (c) The statement following the continue statement (d) The next iteration of the loop (6) A break statement causes execution to skip to (a) The return 0; statement (b) The first statement after the loop (c) The statement following the continue statement (d) The next iteration of the loop (e) The statement outside the loop 33 Chapter 3
  • 34. Reading Resources/Materials Chapter 7 & 8:  Diane Zak; An Introduction to Programming with C++ [8th Edition], 2016 Cengage Learning Chapter 5:  Gary J. Bronson; C++ For Engineers and Scientists [3rd edition], Course Technology, Cengage Learning, 2010 Chapter 2 (section 2.4):  Walter Savitch; Problem Solving With C++ [10th edition], University of California, San Diego, 2018 Chapter 4 & 5:  P. Deitel , H. Deitel; C++ how to program [10th edition], Global Edition (2017) 34 Chapter 3
  • 35. Thank You For Your Attention!! 35 Chapter 3