1 Conditionals In many cases we want our program to make a decision about whether a piece of code should be executed or not, based on the truth of a condition.

Slides:



Advertisements
Similar presentations
Making Choices in C if/else statement logical operators break and continue statements switch statement the conditional operator.
Advertisements

1 Chapter Five Selection and Repetition. 2 Objectives How to make decisions using the if statement How to make decisions using the if-else statement How.
CS0004: Introduction to Programming Repetition – Do Loops.
LOOP / REPETITION while loop. for loop do/while loop We assume that loops are not meant to be infinite. That is, there should always be a way out of the.
1 Lecture 11:Control Structures II (Repetition) (cont.) Introduction to Computer Science Spring 2006.
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 5 Looping.
COMP 14 Introduction to Programming Miguel A. Otaduy May 21, 2004.
Iteration This week we will learn how to use iteration in C++ Iteration is the repetition of a statement or block of statements in a program. C++ has three.
Chapter 6 - Repetition. Introduction u Many applications require certain operations to be carried out more than once. Such situations require repetition.
Switch structure Switch structure selects one from several alternatives depending on the value of the controlling expression. The controlling expression.
Chapter 5: Control Structures II (Repetition)
Logical Operators Java provides two binary logical operators (&& and ||) that are used to combine boolean expressions. Java also provides one unary (!)
Repetition Statements repeat block of code until a condition is satisfied also called loops Java supports 3 kinds of loops: while statement – repeats a.
1 Conditionals In many cases we want our program to make a decision about whether a piece of code should be executed or not, based on the truth of a condition.
1 Loops Loops repeat (iterate) a block of statements for a number of times. A terminating condition tells a loop when to stop iterating (e.g. terminate.
Control Structures Control structures control the flow of program execution. 3 types of control structures: sequence, selection.
Section 3 - Selection and Repetition Constructs. Control Structures 1. Sequence 2. Selection 3. Repetition.
Control Structures - Repetition Chapter 5 2 Chapter Topics Why Is Repetition Needed The Repetition Structure Counter Controlled Loops Sentinel Controlled.
Chapter 5: Control Structures II (Repetition)
Chapter 4: Decision Making with Control Structures and Statements JavaScript - Introductory.
COMPUTER PROGRAMMING. Control Structures A program is usually not limited to a linear sequence of instructions. During its process it may repeat code.
Jaeki Song ISQS6337 JAVA Lecture 04 Control Structure - Selection, and Repetition -
Lecture 8: Choosing the Correct Loop. do … while Repetition Statement Similar to the while statement Condition for repetition only tested after the body.
Control Structures Week Introduction -Representation of the theory and principles of structured programming. Demonstration of for, while,do…whil.
Additional Control Structures. Chapter 9 Topics Switch Statement for Multi-way Branching Do-While Statement for Looping For Statement for Looping Using.
1 Chapter 9 Additional Control Structures Dale/Weems.
1 Additional Control Structures. 2 Chapter 9 Topics  Switch Statement for Multi-way Branching  Do-While Statement for Looping  For Statement for Looping.
1 Do-While Statement Is a looping control structure in which the loop condition is tested after each iteration of the loop. SYNTAX do { Statement } while.
Chapter 4 Loops Write code that prints out the numbers Very often, we want to repeat a (group of) statement(s). In C++, we have 3 major ways of.
Chapter 7 Additional Control Structures. 2 2 void GetYesOrNo (/* out */ char& response) // Inputs a character from the user // Postcondition: response.
C++ for Engineers and Scientists, Third Edition1 Objectives In this chapter, you will learn about: Basic loop structures while loops Interactive while.
Control Structures II (Repetition). Objectives In this chapter you will: Learn about repetition (looping) control structures Explore how to construct.
Chapter 8 Repetition Statements. Introduction Iteration - process of looping or the repetition of one or more statements Loop body - the statement, or.
COMPUTER PROGRAMMING. Iteration structures (loops) There may be a situation when you need to execute a block of code several number of times. In general,
Program Flow Control - Looping Addis Ababa Institute of Technology Yared Semu April 2012.
Chapter 5: Structured Programming
L OO P S While writing a program, there may be a situation when you need to perform some action over and over again. In such situation you would need.
Chapter 5: Structured Programming
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 5 Looping.
Using Java MINISTRY OF EDUCATION & HIGHER EDUCATION COLLEGE OF SCIENCE AND TECHNOLOGY KHANYOUNIS- PALESTINE Lecture 9 & 10 Repetition Statements.
Chapter 15 JavaScript: Part III The Web Warrior Guide to Web Design Technologies.
Introduction to Loops Iteration Repetition Counting Loops Also known as.
Loops cause a section of a program to be repeated a certain number of times. The repetition continues while a condition remains true. When a condition.
Repetition Statements (Loops) The do while Loop The last iteration structure in C++ is the do while loop. A do while loop repeats a statement or.
1 do-while Statement 2 Do-While Statement Is a looping control structure in which the loop condition is tested after each iteration of the loop. SYNTAX.
1 Standard Version of Starting Out with C++, 4th Brief Edition Chapter 5 Looping.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5: Looping.
Copyright © 2012 Pearson Education, Inc. Chapter 5: Loops.
Repetition Repetition allows you to repeat an operation or a series of operations many times. This is called looping and is one of the basic structured.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 5 Looping.
1 1 Additional Control Structures Chapter 9 2 New and Improved... Ways to branch Ways to write loops Understanding the break and continue statements.
1 Programming in C++ Dale/Weems/Headington Chapter 9 Additional Control Structures (Switch, Do..While, For statements)
Iteration & Loop Statements 1 Iteration or Loop Statements Dept. of Computer Engineering Faculty of Engineering, Kasetsart University Bangkok, Thailand.
Chapter 6 - Repetition. while Loop u Simplest loop u Two parts: test expression and loop body u Pre-tested loop –Execute loop body if test true –Bypass.
Repetition Statements (Loops). 2 Introduction to Loops We all know that much of the work a computer does is repeated many times. When a program repeats.
Chapter Looping 5. The Increment and Decrement Operators 5.1.
COMP Loop Statements Yi Hong May 21, 2015.
LECTURE # 8 : REPETITION STATEMENTS By Mr. Ali Edan.
Chapter Looping 5. The Increment and Decrement Operators 5.1.
Lecture 7 – Repetition (Loop) FTMK, UTeM – Sem /2014.
CC213 Programming Applications Week #2 2 Control Structures Control structures –control the flow of execution in a program or function. Three basic control.
ECE122 Feb 10, Unary Operator An operator that takes only a single operand Plus: + Minus: – Cast: (type). E.g. (double)
Chapter 7 Control Structures. Java has very flexible three looping mechanisms. You can use one of the following three loops:  while Loop  do...while.
Conditional Statements A conditional statement lets us choose which statement will be executed next Conditional statements give us the power to make basic.
PHP Condtions and Loops Prepared by Dr. Maher Abuhamdeh.
REPETITION CONTROL STRUCTURE
Selection (also known as Branching) Jumail Bin Taliba by
CiS 260: App Dev I Chapter 4: Control Structures II.
JavaScript: Control Statements.
PROGRAM FLOWCHART Iteration Statements.
Presentation transcript:

1 Conditionals In many cases we want our program to make a decision about whether a piece of code should be executed or not, based on the truth of a condition. For this we use conditionals if statements switch statements

2 Conditionals Example: IF score is higher than 50 THEN grade is PASS ELSE grade is FAIL In C++ this corresponds to one statement with 3 parts: if (score > 50) { grade = PASS; } else { grade = FAIL; }

3 Conditionals if (score > 50) { grade = PASS; } else { grade = FAIL; } Part 1 : the condition. An expression that evaluates to TRUE or FALSE

4 Conditionals if (score > 50) { grade = PASS; } else { grade = FAIL; } Part 2 : the TRUE part. A block of statements that are executed if the condition evaluates to TRUE

5 Conditionals if (score > 50) { grade = PASS; } else { grade = FAIL; } Part 3 : the FALSE part. A block of statements that are executed if the condition evaluates to FALSE

6 Conditionals Sometimes, we do not need a FALSE part: In that case, if the condition is FALSE, execution will continue at the statement following the if-statement. if (gas_tank_state == EMPTY) { fill_up_tank(); }

7 Conditionals If the TRUE or the FALSE part consists of only one statement, the curly braces may be omitted. The following statements are equivalent: if (score > 50) { grade = PASS; } else { grade = FAIL; } if (score > 50) grade = PASS; else grade = FAIL;

8 Conditionals We often use cascading if-statements: if (score > 90) lettergrade = 'A'; else if (score > 75) lettergrade = 'B'; else if (score > 60) lettergrade = 'C'; else if (score > 50) lettergrade = 'D'; else lettergrade = 'F';

9 Conditionals Cascading if-statements may sometimes be replaced with a switch statement: if (lettergrade == 'A') cout << "Very good!"; else if (lettergrade == 'B') cout << "Good!"; else if (lettergrade == 'C') cout << "Adequate"; else cout << "Work harder!"; switch (lettergrade) { case 'A': cout << "Very good!"; break; case 'B': cout << "Good!"; break; case 'C': cout << "Adequate"; break; default: cout << "Work harder!"; break; }

10 Conditionals switch (expression) { case value1: statements; break; case value2 : statements; break;... default : statements; break; } In English: Check the value of expression. Is it equal to value1 ? If yes, execute the statements and break out of the switch. If no, Is it equal to value2 ? etc. If it's not equal to any of the above, execute the default statements and then break out of the switch

11 Conditionals switch (expression) { case value1: statements; break; case value2 : statements; break;... default : statements; break; } -- expression should evaluate to either an int or a char -- NEVER omit break; (see next slide for an example of what may happen) -- ALWAYS have a default to cover the case when none of the above values match

12 Conditionals switch (lettergrade) { case 'A': case 'B': case 'C': case 'D': cout << "You passed!"; break; case 'F' : cout << "You failed!"; break; default: cout << "You received a " << lettergrade; } This is equivalent to: if (lettergrade == 'A' || lettergrade == 'B' || lettergrade == 'C' || lettergrade == 'D') cout << "You passed!"; else if (lettergrade == 'F') cout << "You failed!"; else cout << "You received a " << lettergrade;

13 Conditionals int x = -1; int y; switch ( x ) { case -1: y = 10; case 1 : y = 20; default : y = 30; } cout << y; This piece of code prints 30 on the screen x is -1, so the first case applies. y is assigned the value 10. Since there is no break statement, execution continues to the next case and eventually y becomes 30 which is not what we intended. This event is called fall-through.

14 Loops Loops repeat (iterate) a block of statements for a number of times. A terminating condition tells a loop when to stop iterating (e.g. terminate after 10 iterations or terminate when the user types NO) Careful! If there is no terminating condition, then your program will never finish

15 Loops Pre-Test Loop check condition if false, exit the loop if true, execute statements, iterate: check condition if false, exit the loop if true, execute statements, iterate: etc. The block of statements may not be executed at all (if condition is immediately false) The condition must be updated is( condition )true? { block of statements; } yes no star t finish initialize condition

16 Loops Pre-Test Loop count-driven : uses a "counter" to determine how many times it iterates Example: every time the loop iterates, a counter variable is incremented by one. When the counter reaches a specific value, the condition becomes false and the loop terminates. event-driven : uses an "event" to determine how many times it iterates Example: at each iteration the user is asked whether to continue. As long as the user types "yes" the loop iterates. When the user types "no" the condition becomes false and the loop terminates.

17 for loops Pre-test, mainly count-driven Syntax: Example: for (init; condition; update) { statements; } /* Frog lifetime*/ int days; for (days =155; days > 0; days--) { work_all_day(); sleep_all_night(); } die_quietly();

18 while loops Pre-test, mainly event-driven Syntax: Example (event): while (condition) { statements; } /* Frog Feeding */ while ( am_hungry() == TRUE && see_fly() == TRUE ) { flick_tongue(); clamp_mouth(); swallow_fly(); }

19 while loops Pre-test, mainly event-driven Syntax: Example (counter): while (condition) { statements; } /* Frog lifetime*/ int days; days = 155; /* initialize */ while ( days > 0 ) { /* condition */ work_all_day(); sleep_all_night(); days--; /* update */ } die_quietly();

20 Loops Post-Test Loop execute statements check condition if false, exit the loop if true, iterate: execute statements check condition if false, exit the loop if true, iterate: etc. The block of statements is always executed at least once The condition must be updated is( condition )true? { block of statements; } yes no finish star t initialize condition

21 Loops Post-test loops The block of statements is ALWAYS executed at least once! Often used for data validation (e.g. if the user types a wrong selection, keep asking for a correct one) A post-test loop may be count- or event-driven.

22 do-while loop Post-test, mainly event driven Syntax: Example: do { statements; } while (condition) /* Frog mating*/ do { have_mate = look_for_lady_frog(); } while ( have_mate == FALSE )

23 Loops In some cases, we may need to break put of a loop prematurely. To do that, we use a break statement. Example: int days; float food,fat;... for( days = 155; days > 0; days--) { work_all_day(); if ( food+fat < 0.01) break; sleep_all_night(); } die_quietly();

24 Loops In some cases, we may want to only execute part of the body during an iteration. To do that, we use a continue statement. Example: /* Frog feeding v2.0 */ while ( am_hungry() == TRUE && see_fly() == TRUE ) { flick_tongue(); if (!caught_fly()) continue; clamp_mouth(); swallow_fly(); }

25 break vs. continue vs. return continue it is used in loops it means : skip the remaining statements in the loop body and iterate again break it is used in loops and switch statements it means : skip the remaining statements in this block, break out of the block. When used in loops, it causes the loop to terminate return it may be used anywhere in a function. it means : terminate the function.