Programming Fundamentals1 Chapter 4 SELECTION STRUCTURES.

Slides:



Advertisements
Similar presentations
Chapter 4: Making Decisions.
Advertisements

Chapter 4 Control Structures I. Objectives ► Examine relational and logical operators ► Explore how to form and evaluate logical (Boolean) expressions.
True or false A variable of type char can hold the value 301. ( F )
Slide 1 Summary Two basic concepts: variables and assignments Some C++ practical issues: division rule, operator precedence  Sequential structure of a.
1 Objectives You should be able to describe: Relational Expressions The if-else Statement Nested if Statements The switch Statement Common Programming.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 4: Control Structures I (Selection)
Chapter 4 Making Decisions
C++ for Engineers and Scientists Third Edition
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 4 Making.
Quiz 1 Exam 1 Next Week. Nested if Statements if (myGrade >= 80) if (myGrade >= 90) cout
Computer Science 1620 Selection Structures. Write a program that accepts the speed of a vehicle, and determines whether that person is speeding assume.
Section 3 - Selection and Repetition Constructs. Control Structures 1. Sequence 2. Selection 3. Repetition.
Presented by Joaquin Vila Prepared by Sally Scott ACS 168 Problem Solving Using the Computer Week 12 Boolean Expressions, Switches, For-Loops Chapter 7.
A First Book of ANSI C Fourth Edition Chapter 4 Selection.
Control Structures I (Selection)
EGR 2261 Unit 4 Control Structures I: Selection  Read Malik, Chapter 4.  Homework #4 and Lab #4 due next week.  Quiz next week.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 4: Control Structures I (Selection)
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 4: Control Structures I (Selection)
1 Chapter 4: Selection Structures. In this chapter, you will learn about: – Selection criteria – The if-else statement – Nested if statements – The switch.
Chapter 4: Control Structures I (Selection). Objectives In this chapter, you will: – Learn about control structures – Examine relational operators – Discover.
More on Input Output Input Stream : A sequence of characters from an input device (like the keyboard) to the computer (the program running). Output Stream.
Dr. Yang, QingXiong (with slides borrowed from Dr. Yuen, Joe) LT3: Conditional Statements CS2311 Computer Programming.
Chapter 4: Control Structures I (Selection). Objectives In this chapter, you will: – Learn about control structures – Examine relational and logical operators.
CPS120: Introduction to Computer Science Decision Making in Programs.
Selection Structures (if & switch statements) (CS1123)
2 Objectives You should be able to describe: Relational Expressions Relational Expressions The if-else Statement The if-else Statement Nested if Statements.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 4: Control Structures I (Selection)
CPS120: Introduction to Computer Science Decision Making in Programs.
A First Book of ANSI C Fourth Edition Chapter 4 Selection.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 4 Making Decisions.
Chapter 05 (Part III) Control Statements: Part II.
Liang, Introduction to Programming with C++, Second Edition, (c) 2010 Pearson Education, Inc. All rights reserved Chapter 3 Selections.
1 Compound Assignment C++ has a large set of operators for applying an operation to an object and then storing the result back into the object Examples.
Chapter 7 Selection Dept of Computer Engineering Khon Kaen University.
Liang, Introduction to C++ Programming, (c) 2007 Pearson Education, Inc. All rights reserved X1 Chapter 3 Control Statements.
Programming 1 DCT 1033 Control Structures I (Selection) if selection statement If..else double selection statement Switch multiple selection statement.
Chapter 4 Selection: the if-else and switch-case instructions.
COS120 Software Development Using C++ AUBG Fall semester 2010 Ref book: Problem Solving, Abstraction and Design Using C++ Authors: Frank Friedman, Elliot.
PEG200/Saidatul Rahah 1.  Selection Criteria › if..else statement › relational operators › logical operators  The if-then-else Statement  Nested if.
Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators.
Programming Fundamentals1 Chapter 4 SELECTION STRUCTURES.
Chapter 4: Control Structures I (Selection). Objectives In this chapter, you will: – Learn about control structures – Examine relational and logical operators.
IT CS 200: C ONDITION Lect. Napat Amphaiphan. T HE ABILITY TO CONTROL THE FLOW OF YOUR PROGRAM, LETTING IT MAKE DECISIONS ON WHAT CODE TO EXECUTE 2.
1 Programming in C++ Dale/Weems/Headington Chapter 9 Additional Control Structures (Switch, Do..While, For statements)
A First Book of C++ Chapter 4 Selection. Objectives In this chapter, you will learn about: –Relational Expressions –The if-else Statement –Nested if Statements.
Chapter 7 Conditional Statements. 7.1 Conditional Expressions Conditions - compare the values of variables, constants and literals using one or more relational.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved. Chapter 4: Making Decisions 1.
CPS120: Introduction to Computer Science Decision Making in Programs.
STRUCTURED PROGRAMMING Selection Statements. Content 2  Control structures  Types of selection statements  if single-selection statement  if..else.
Lecture 6 – Selection FTMK, UTeM – Sem /2014.
C++ Programming Control Structures I (Selection).
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 2: Control Structures (Selection & Repetition)
Chapter 7 Conditional Statements. 7.1 Conditional Expressions Condition – any expression that evaluates to true/false value Relational operators are BINARY.
 By the end of this section you should be able to: ◦ Differentiate between sequence, selection, and repetition structure. ◦ Differentiae between single,
LECTURE # 7 : STRUCTURED PROGRAMMING Selection Statements Tr.Hadeel.
Selection (if-then-else) Programming Has 3 Types of Control: Sequential (normal): Control of Execution Proceeds One after the Other Selection (if-then-else):
C++ for Engineers and Scientists Second Edition Chapter 4 Selection Structures.
A First Book of C++ Chapter 4 Selection.
Branching statements.
Chapter 3 Selection Statements
CNG 140 C Programming (Lecture set 3)
Chapter 3 Control Statements
Control Structures Combine individual statements into a single logical unit with one entry point and one exit point. Used to regulate the flow of execution.
Chapter 3 Control Statements Lecturer: Mrs Rohani Hassan
Chapter 4: Making Decisions.
Chapter 7 Conditional Statements
Chapter 4 Selection.
Summary Two basic concepts: variables and assignments Basic types:
Chapter 4: Control Structures I (Selection)
Presentation transcript:

Programming Fundamentals1 Chapter 4 SELECTION STRUCTURES

Programming Fundamentals 2 Chapter 2 Selection criteria The if-else statement Nested if statement The switch statement Conditional expressions

Programming Fundamentals 3 Overview The flow of control means the order in which a program’s statements are executed. Unless directed otherwise, the normal flow of control for all programs is sequential. Selection, repetition and function invocation structures permit the flow of control to be altered in a defined way. In this chapter, you learn to use selection structures in C++

Overview To solve a problem  Actions  Order Example  Get up  Take a shower  Have breakfast  Go to work  Go to bed

Overview Example  Get up  Take a shower  Have breakfast  Go to work  If (not rain) Go to cinema  Go to bed

Selection Structures

One-way selection (if) Two-way selection (if-else ) Nested selection

Programming Fundamentals 8 One-way Selection A useful modification of the if-else statement involves omitting the else part of the statement. In this case, the if statement takes a shortened format: if (conditional expression) { statements; }

Programming Fundamentals 9 Example The following program displays “Passed” for the grades that is greater than 5. #include int main() { int grade; cout << "\nPlease enter a grade: "; cin >> grade; if (grade >= 5) cout << “Passed"; return 0; }

Programming Fundamentals 10 SELECTION CRITERIA Comparison Operators Comparison operators are used to compare two operands for equality or to determine if one numeric value is greater than another. A Boolean value of true or false is returned after two operands are compared. C++ uses a nonzero value to represent a true and a zero value to represent a false value.

Programming Fundamentals 11 OperatorDescriptionExamples = =equala ==‘y’ !=not equalm!= 5 >greater thana*b > 7 < less than b < 6 <=less than or equal b <= a >=greater than or equalc >= 6

Comparison Operators char key = ‘m’; int i = 5, j = 7, k = 12; double x = 22.5; Expression Equivalent Exp Values i + 2 == k-1(i + 2) = = ( k –1)false ‘a’ +1 == ‘b’(‘a’ +1) = = ‘b’true 25 >= x >= (x + 1.0)true key –1 > 20(key –1) > 20false

Comparison Operators key = ‘m’

Programming Fundamentals 14 Logical operators Logical operators are used for creating more complex conditions. Like comparison operators, a Boolean value of true or false is returned after the logical operation is executed. OperatorDescription &&AND ||OR !NOT Example: (age > 40) && (term < 10) (age > 40) || (term < 10) !(age > 40) ( i==j) || (a < b) || complete

Example The following program displays an error message for the grades that is less than 0 or more than 100. #include int main() { int grade; cout << "\nPlease enter a grade: "; cin >> grade; if(grade 100) cout << " The grade is not valid\n"; return 0; }

Programming Fundamentals 16 Operator precedence The relational and logical operators have a hierarchy of execution similar to the arithmetic operators. LevelOperatorAssociativity ! unary Right to left 2.* / %Left to right 3.+ -Left to right 4. >=Left to right 5.= = !=Left to right 6.&&Left to right 7.||Left to right 8.= += -= *= /=Right to left

Programming Fundamentals 17 Order of evaluation The following compound condition is evaluated as: (6*3 = = 36/2) || (13<3*3 + 4) && !(6-2 < 5) (18 = = 18) || (13 < 9 + 4) && !(4 < 5) 1 || (13 < 13) && ! 1 1 || 0 && 0 1 || 0 1

Programming Fundamentals 18 The bool Data Type As specified by the ANSO/ISO standard, C++ has a built-in Boolean data type, bool, containing the two values true and false. The actual values represented by the bool values, true and false, are the integer values 1 and 0, respectively. Example #include int main() { bool t1, t2; t1 = true; t2 = false; cout << “The value of t1 is “<< t1 << “\n and the value of t2 is “<< t2 << endl; return 0; }

int a = 5; char c = ‘K’; float f = 1.3 if ( a )  statement if (a = 1)  Statement inta = 2, b; a = a * (b = 5); //a = 10

THE if-else STATEMENT IF the grades greater or equal 5  Display “Passed” ELSE  Display “Failed”

THE if-else STATEMENT #include int main() { int grade; cout << "\nPlease enter a grade: "; cin >> grade; if (grade >= 5) cout << “Passed"; else cout << “Failed”; return 0; }

Programming Fundamentals 22 THE if-else STATEMENT The if-else statement directs the computer to select a sequence of one or more statements based on the result of a comparison. The syntax: if (conditional expression) { statement 1; } else { statement 2; }

Programming Fundamentals 23 Example We construct a C++ program for determining income taxes. Assume that these taxes are assessed at 2% of taxable incomes less than or equal to $20,000. For taxable income greater than $20,000, taxes are 2.5% of the income that exceeds $20,000 plus a fixed amount of $400.

Programming Fundamentals 24 Example #include const float LOWRATE = 0.02; // lower tax rate const float HIGHRATE = 0.025; // higher tax rate const float CUTOFF = ; // cut off for low rate const float FIXEDAMT = 400; int main() { float taxable, taxes; cout << "Please type in the taxable income: "; cin >> taxable; if (taxable <= CUTOFF) taxes = LOWRATE * taxable; else taxes = HIGHRATE * (taxable - CUTOFF) + FIXEDAMT;

Programming Fundamentals 25 // set output format cout << setiosflags(ios::fixed) << setiosflags(ios::showpoint) << setprecision(2); cout << "Taxes are $ " << taxes << endl; return 0; } The results of the above program: Please type in the taxable income: Taxes are $ 200 and Please type in the taxable income: Taxes are $ 650

Programming Fundamentals 26 Block Scope All statements within a compound statement constitute a single block of code, and any variable declared within such a block only is valid within the block. The location within a program where a variable can be used formally referred to as the scope of the variable.

Programming Fundamentals 27 Example: { // start of outer block int a = 25; int b = 17; cout << “The value of a is “ << a << “ and b is “ << b << endl; { // start of inner block float a = 46.25; int c = 10; cout << “ a is now “ << a << “b is now “ << b << “ and c is “ << c << endl; } cout << “ a is now “ << a << “b is now “ << b << endl; } // end of outer block The output is The value of a is 25 and b is 17 a is now b is now 17 and c is 10 a is now 25 b is now 17

Programming Fundamentals 28 NESTED if STATEMENT  The inclusion of one or more if statement within an existing if statement is called a nested if statement.  The if-else Chain When an if statement is included in the else part of an existing if statement, we have an if-else chain. if (Expression 1){ Statement(s) 1 }else if (Expression 2){ Statement(s) 2 }else{ Statement(s) 3 }

Programming Fundamentals 29 Example // This program can solve quadratic equation #include int main() { double a, b, c, del, x1, x2; cout << “Enter the coefficients of the equation: “<< endl; cin >> a >> b >> c; del = b*b – 4.0*a*c; if (del == 0.0) { x1 = x2 = -b/(2*a); cout << "x1 = “ << x1 << setw(20) << “x2 = “ << x2 << endl; }

Programming Fundamentals 30 else if (del > 0.0) { x1 = (-b + sqrt(del))/(2*a); x2 = (-b – sqrt(del))/(2*a); cout << "x1 = “ << x1 << setw(20) << “x2 = “ << x2 << endl; } else cout << "There is no solution\n"; return 0; } The output of the above program: Enter the coefficients of the equation: x1 = -2.0 x2 = -3.0

Programming Fundamentals 31 Example The following program calculates the monthly income of a computer salesperson using the following commission schedule: Monthly SalesIncome Greater than or equal to $50,000$375 plus 16% of sales < $50,000 but greater than or equal to $40,000 $350 plus 14% of sales < $40,000 but greater than or equal to $30,000 $325 plus 12% of sales < $30,000 but greater than or equal to $20,000 $300 plus 9% of sales < $20,000 but greater than or equal to $10,000 $250 plus 5% of sales < $10,000 $200 plus 3% of sales

Programming Fundamentals 32 #include int main() { float monthlySales, income; cout << "\nEnter the value of monthly sales: "; cin >> monthlySales; if (monthlySales >= ) income = * monthlySales; else if (monthlySales >= ) income = * monthlySales; else if (monthlySales >= ) income = * monthlySales; else if (monthlySales >= ) income = * monthlySales; else if (monthlySales >= ) income = * monthlySales; else income = * monthlySales;

Programming Fundamentals 33 // set output format cout << setiosflags(ios::fixed) << setiosflags(ios::showpoint) << setprecision(2); cout << "The income is $" << income << endl; return 0; } The output of the program: Enter the value of monthly sales: The income is $

if ( x > 5 ) if ( y > 5 ) cout 5" ; else cout << "x is <= 5";  if ( x > 5 ) { if ( y > 5 ) Console.WriteLine( "x and y are > 5" ); else Console.WriteLine( "x is <= 5" ); }

Programming Fundamentals 35 THE switch STATEMENT The switch statement controls program flow by executing a set of statements depending on the value of an expression. The syntax for the switch statement: switch(expression){ case label1: statement(s) 1; break; case label2; statement(s) 2; break; default: statement(s) 3; } Note: The value of expression must be an integer data type, which includes the char, int, long int, and short data types.

Programming Fundamentals 36 Execution of the switch statement The expression in the switch statement must evaluate to an integer result. The switch expression’s value is compared to each of these case values in the order in which these values are listed until a match is found. When a match occurs, execution begins with the statement following the match. If the value of the expression does not match any of the case values, no statement is executed unless the keyword default is encountered. If the value of the expression does not match any of the case values, program execution begins with the statement following the word default.

Programming Fundamentals 37 break statements in the switch statement The break statement is used to identify the end of a particular case and causes an immediate exit from the switch statement. If the break statements are omitted, all cases following the matching case value, including the default case, are executed.

Programming Fundamentals 38 Example #include int main() { int iCity; cout << "Enter a number to find the state where a city is located. "<< endl; cout << “1. Boston” << endl; cout << "2. Chicago" << endl; cout << "3. Los Angeles” << endl; cout << "4. Miami” << endl; cout << "5. Providence” << endl; cin >> iCity; switch (iCity) { case 1: cout << "Boston is in Massachusetts " << endl; break; case 2: cout << "Chicago is in Illinois " << endl; break;

Programming Fundamentals 39 case 3: cout << "Los Angeles is in California " << endl; break; case 4: cout << "Miami is in Florida " << endl; break; case 5: cout << "Providence is in Rhode Island " << endl; break; default: cout << “You didn’t select one of the five cities” << endl; } // end of switch return 0; }

Programming Fundamentals 40 The output of the above program: Enter a number to find the state where a city is located. 1. Boston 2. Chicago 3. Los Angeles 4. Miami 5. Providence 3 Los Angeles is in California

Programming Fundamentals 41 When writing a switch statement, you can use multiple case values to refer to the same set of statements; the default label is optional. switch(number) { case 1: cout << “Have a Good Morning\n”; break; case 2: cout << “Have a Happy Day\n”; break; case 3: case 4: case 5: cout << “Have a Nice Evening\n”; }

Programming Fundamentals 42 CONDITIONAL EXPRESSIONS A conditional expression uses the conditional operator, ?:, and provides an alternative way of expressing a simple if-else statement. The syntax of a conditional expression: expression1 ? expression2 : expression3 If the value of expression1 is nonzero (true), expresson2 is evaluated; otherwise, expression3 is evaluated. The value for the complete conditional expression is the value of either expression2 or expression3 depending on which expression was evaluated.

Programming Fundamentals 43 Example: The if statement: if (hours > 40) rate = 0.45; else rate = 0.02; can be replaced with the following one-line statement: rate = (hours > 40) ? 0.45 : 0.02;

Programming Fundamentals 44 THE enum SPECIFIER The enum specifier creates an enumerated data type, which is simply a user-defined list of values that is given its own data type name. Such data types are identified by the reserved word enum followed by an optional user-selected name for the data type and a listing of acceptable values for the data type. Example: enum day { mon, tue, wed, thr, fri, sat, sun} enum color {red, green, yellow};

Programming Fundamentals 45 Any variable declared to be of type color can take only a value of red or green or yellow. Any variable declared to be of type day can take only a value among seven given values. The statement enum day a, b,c; declares the variables a, b, and c to be of type day.

Programming Fundamentals 46 Internally, the acceptable values of each enumerated data type are ordered and assigned sequential integer values beginning with 0. Example: For the values of the type color, the correspondences created by C++ compiler are that red is equivalent to 0, green is equivalent to 1, and yellow is equivalent to 2. The equivalent numbers are required when inputting values or displaying values.

Programming Fundamentals 47 Example #include int main(){ enum color{red, green, yellow}; enum color crayon = red; cout << “\nThe color is “ << crayon << endl; cout > crayon; if (crayon == red) cout << “The crayon is red.” << endl; else if (crayon == green) cout << “The crayon is green.” << endl; else if (crayon== yellow) cout << “The crayon is yellow.” << endl; else cout << “The color is not defined. \n” << endl; return 0; } The output of the above program: The color is 0 Enter a value: 2 The crayon is yellow.