Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.

Slides:



Advertisements
Similar presentations
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.
Advertisements

Chapter 2 Section 8 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 4- 1.
Copyright © 2012 Pearson Education, Inc. Chapter 4: Making Decisions.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Control Statements II.
Using Control Structures. Goals Understand the three basic forms of control structures Understand how to create and manage conditionals Understand how.
Microsoft Visual Basic 2008: Reloaded Fourth Edition
Chapter 4: The Selection Structure
Programming Logic and Design Fourth Edition, Introductory
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 4 Decision Structures and Boolean Logic.
Decision Structures and Boolean Logic
Computer Science Selection Structures.
Chapter 3 Making Decisions
CPS120: Introduction to Computer Science Decision Making in Programs.
Chapter 4 Selection Structures: Making Decisions.
1 Lecture 5: Selection Structures. Outline 2  Control Structures  Conditions  Relational Operators  Logical Operators  if statements  Two-Alternatives.
Copyright © 2012 Pearson Education, Inc. Chapter 4: Making Decisions.
Flow of Control Part 1: Selection
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley STARTING OUT WITH Python Python First Edition by Tony Gaddis Chapter 4 Decision.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Making Decisions Chapter 5.  Thus far we have created classes and performed basic mathematical operations  Consider our ComputeArea.java program to.
1 Boolean Expressions to Make Comparisons Boolean expression –Represents only one of two states –Expression evaluates to either true or false Expressions.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 4: Making Decisions.
Conditional Structures UNIVERSITY OF THE PUNJAB (GUJRANWALA CAMPUS) ADNAN BABAR MT14028 CR
Visual Basic 2010 How to Program © by Pearson Education, Inc. All Rights Reserved.1.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved. Chapter 4: Making Decisions.
CSCI N201: Programming Concepts Copyright ©2005  Department of Computer & Information Science Working with Selection Structures.
Assignment statement: Assigns a value to a variable Variable must appear on the left side, value on the right side of the assignment operator Right side.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Visual Basic 2010 How to Program © by Pearson Education, Inc. All Rights Reserved.1.
Java Programming Fifth Edition Chapter 5 Making Decisions.
Chapter 5: Making Decisions. Objectives Plan decision-making logic Make decisions with the if and if…else structures Use multiple statements in if and.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Fluency with Information Technology Third Edition by Lawrence Snyder Chapter.
CPS120: Introduction to Computer Science Decision Making in Programs.
An Object-Oriented Approach to Programming Logic and Design Chapter 5 Making Decisions.
Using Control Structures. Goals Understand the three basic forms of control structures Understand how to create and manage conditionals Understand how.
Decision Statements, Short- Circuit Evaluation, Errors.
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.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 5 Making Decisions.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
An Introduction to Programming with C++ Sixth Edition Chapter 5 The Selection Structure.
4 - Conditional Control Structures CHAPTER 4. Introduction A Program is usually not limited to a linear sequence of instructions. In real life, a programme.
Copyright © 2014 Pearson Addison-Wesley. All rights reserved. 4 Simple Flow of Control.
Control Structures I Chapter 3
Assignment statement:
Topics The if Statement The if-else Statement Comparing Strings
Chapter 4: Making Decisions.
An Introduction to Programming with C++ Fifth Edition
Topics The if Statement The if-else Statement Comparing Strings
Selection CIS 40 – Introduction to Programming in Python
Chapter 3: Introduction to Problem Solving and Control Statements
Objectives After studying this chapter, you should be able to:
Java Programming Control Structures Part 1
Chapter 5: Control Structure
Chapter 4 Select…Case Multiple-Selection Statement & Logical Operators
Chapter 3: Selection Structures: Making Decisions
Boolean Expressions to Make Comparisons
Relational Operators.
Using Decision Structures
Chapter 3: Selection Structures: Making Decisions
Chapter 3: Selection Structures: Making Decisions
Chapter 3: Selection Structures: Making Decisions
Chapter 3: Selection Structures: Making Decisions
Decision Making Using the IF and EVALUATE Statements
Presentation transcript:

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 3: Selection Structures: Making Decisions

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley An Introduction to Selection Structures Single-alternative ( If-Then ) –A single block of statements to be executed or skipped Dual-alternative ( If-Then-Else ) – Two blocks of statements, one of which is to be executed, while the other one is to be skipped Multiple-alternative –More than two blocks of statements, only one of which is to be executed and the rest skipped

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-3 Single Alternative If something is true Then Do something ( any number of statements) End If If Age >= 18 Set Eligibility = “Yes” Do other things… End If

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-4 Dual Alternative If something is true Then Do something Else Do something else End If If Age >= 18 Set Eligibility = ‘Yes’ Else Set Eligibility = ‘No’ End If

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-5 Guidelines An Else condition does not have to exist. Sometimes we only want to do something if something is true and do nothing if it is not true. Do not manufacture alternative conditions. In an If statement, the body of the If is executed if, and only if, the test condition is true. Otherwise, no action is taken. Be sure to indent for readability. Do not use the word Then after an Else. Do use the word Then after an Else If.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-6 Relational Operators Relational operators are the symbols used in the condition to be evaluated in If statements: = equal to <> not equal to < less than > greater than <= less than or equal to >= greater than or equal to

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-7 Example The If statement: If A > B Then Write A,”is greater than”, B End If Can be read: If it is true that the value of the variable A is greater than the value of the variable B, then write “A is greater than B” to the screen.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-8 More Examples Given: A = 23, B = 16 Then: A > B is true A < B is false A >= B is true A <= B is false A <> B is true A = B is false

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-9 Comparison vs. Assignment Operators The equals sign (=) in this text may have two different meanings. The difference is very significant. As an assignment operator, the equals sign sets the value of an expression on the right side to the variable on the left side. As a comparison operator, the equals sign asks the question, “Is the value of the variable on the left side the same as the value of the expression, number, or variable on the right side?” Many programming languages distinguish between these two operators as follows: a single equals sign ( = ) signifies the assignment operator a double equals sign ( == ) signifies the comparison operator This is demonstrated in the examples that follow in the next slides.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-10 The Assignment Operator Given: A = 14, B = 27 In programming code, the assignment statement: A = B sets the value of B to the variable A. In other words, after this statement is executed, both A = 17 and B = 17. In this case, the equals sign is used as an assignment operator.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-11 The Comparison Operator Given: A = 14, B = 27 Using the relational operators, the statement: A == B is a comparison. This statement asks the question, “Is the value of A the same as the value of B ?” In this case, since A and B have different values, the answer is “no” and the statement would result in a value of False. In this text, we often use the one symbol ( = ) to represent both assignment and comparison operators and rely on the context to make the meaning clear.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-12 Using Relational Operators on Strings Two strings are equal if they contain exactly the same characters in the same order. Otherwise they are not equal. If two strings consist of letters, alphabetical order determines the effect of the operators. Examples: “a” “a b c” “boy” > “apple”“String” <> “string”

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-13 Logical Operators Logical operators are used to connect simple conditions into a more complex condition called a compound condition. The simple conditions each contain one relational operator. Using compound conditions reduces the amount of code that must be written.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-14 Example This code is equivalent to Input X If X < 5 Then Write “OK” End If If X > 10 Then Write “OK” End If this code. But this code is shorter! Input X If (X 10) Then Write “OK” End If

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-15 Hints In a compound condition, it is necessary to use complete simple conditions. This is correct: If (X 10) Then … This is not correct: If ( X 10) Then …

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-16 The AND Operator A compound condition consisting of two simple conditions joined by an AND is true only if both simple conditions are true. It is false if even one of the conditions is false. The statement: If (X > 5) AND (X < 10) Then … is true only if X is 6, 7, 8, or 9. It has to be both greater than 5 and less than 10 at the same time.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-17 The OR Operator A compound condition consisting of two simple conditions joined by an OR is true if even one of the simple conditions is true. It is false only if both are false. For example: If (Response =“Y”) OR (Response =“y”) Then … This is true if Response is uppercase or lower case y. For the above condition to be false, Response would have to be something other than either ‘Y’ or ‘y’.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-18 The NOT Operator AND and OR affect 2 simple conditions. NOT affects only one condition. If you need to negate more than one simple condition, you will need more than one NOT. A condition with the NOT operator is true only if the condition is false. NOT ( A < B ) is true only if B is greater than or equal to A. If ( X > 100) AND NOT ( X = Y) Then… is true only if X is greater than 100 but not equal to the value of Y.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-19 Truth Tables for OR, AND, and NOT Operators XYX OR YX AND YNOT X true false truefalsetruefalse true falsetrue false true

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-20 Hierarchy of Operations TypeOperatorOrder Performed Arithmetic operations are performed first, in order shown ( ) ^ * / % st parentheses 2 nd exponentiation 3 rd : multiplication, division, modulus 4 th : addition, subtraction Relational operations are performed second = <> >= All relational operators have equal precedence Logical operations are performed last, in the order shown NOT AND OR 1 st : NOT 2 nd : AND 3 rd : OR

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Selecting from Several Alternatives Sometimes, we must handle more than two options in a program. If something is true Then Do something Else If something else is true Then Do something else Else Do a different something else End If

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-22 Example If Age >= 18 Then Set Eligibility = “Yes” Else If Age > 15 Set Eligibility = “Maybe” Else Set Eligibility = “No” End If

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-23 Hints The number of End If ’ s must equal the number of If ’ s. You can draw a line to connect them to check. In the previous example, the check for Age = 5 will never be done if the Age is > 18. Regardless of how many possible conditions are included, only one will ever be executed.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-24 Case - type Statements Case or Switch statements can be used to more easily code multiple alternative If’s Use the special or keyword Case. Use Select to start the Case statement. Specify the expression to be evaluated. List each possible value of the expression and what to do if that is that value is the true one. Use End Case to end the statement The results will be the same as a correctly coded multiple-alternative If-Then-Else structure.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-25 Example Select Case of Choice Case 1: Set Operation = “Add” Case 2: Set Operation = “Subtract” Case 3: Set Operation = “Multiply” Case 4: Set Operation = “Divide” End Case

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-26 Another Example The Case statement can be used to compare any combination of numbers, strings, characters, or variables For example: Input Entry Select Case of Entry Case: Password Write “Welcome!” Case: “new user” Write “Click on New to open an account” Case: 0 Write “Goodbye” Default: Write “Do not understand. Try again.” End Case

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Applications of Selection Structures Program defensively in order to prevent bad data from entering our program. To do this, set error traps. If our program should accept only a Cost greater than 0, we can stop any other value from entering with the following trap: Input Cost If Cost <= 0 Then Write “Invalid cost” Else Write “The cost is ”, Cost End If

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-28 Defensive Programming Be sure to test your program by desk checking Perform all calculations multiple times manually or with a calculator. Use data that will show the results when each branch of each selection structure is executed at least once. Check for division by zero, negative values for a square root function, and any other special conditions.

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-29 Pseudocode Language (Ch 3) In this chapter we added logical operators and selection. InputAssignment Input Variable Set Variable = 10 OutputArithmetic Operations Write “literal text”, Variable ( ) ^ * / % + - Relational OperatorsLogical Operators = <> >= <= AND OR NOT Selection If condition Then Select Case of something do something Case: X Else do something do something else Case: Y End If do something Default: do something End Case

Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-30 Questions & Discussion