html5-img
1 / 36

Chapter 5

Chapter 5. Decisions. Outline and Objectives. Relational and Logical Operators If Blocks Select Case Blocks. Relational Operators. The execution of an If block is controlled by a condition A condition can be either true or false

adie
Download Presentation

Chapter 5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 5 Decisions Chapter 5 - Visual Basic Schneider

  2. Outline and Objectives Relational and Logical Operators If Blocks Select Case Blocks Chapter 5 - Visual Basic Schneider

  3. Relational Operators • The execution of an If block is controlled by a condition • A condition can be either true or false • Conditions can be formed by using the six Relational operators and the three Logical operators Chapter 5 - Visual Basic Schneider

  4. Relational Operators Chapter 5 - Visual Basic Schneider

  5. Using Relational Operators on Strings • Computers use a special coding system to compare character strings called ANSI • The ANSI values of characters are given in Appendix A. A snippet included in Slide 34 • You do not need to memorize the table • Just know the numbers, small and capital letters Chapter 5 - Visual Basic Schneider

  6. Example of Comparing Character Strings “Hope” < “Hopeful” “Chase” < “Chaz” True “ Cat” < “Cat” True “Pay” < “Pay “ True “Jones” <> “James” True True Chapter 5 - Visual Basic Schneider

  7. Logical Operators • The result of a logical operator is also True or False • The three Logical Operators are: Not And Or • Precedence?! Chapter 5 - Visual Basic Schneider

  8. Not • Not: Negates a single expression • Example: Suppose answ = “Y” Not (answ = “y”) is True Chapter 5 - Visual Basic Schneider

  9. And • Takes two expressions, returns True only if both expressions are evaluated as being true • Example: Suppose answ = “Y” • (answ = “Y”) And (answ = “y”) is False Chapter 5 - Visual Basic Schneider

  10. Or • Takes two expressions, returns true if either one of the expressions is evaluated as being true. • Example: Suppose answ = “Y” • (answ = “Y”) Or (answ = “y”) is True Chapter 5 - Visual Basic Schneider

  11. Determine whether the following conditions are true or false? • (“Y” <> “X”) And (143.55 < 143.55) • (0 = 14) Or (6 ^ 2 - 3 <= 4 / 2 + 8) • (Not (6 = 7)) And (44 > 33) Chapter 5 - Visual Basic Schneider

  12. Truth Tables • Not ( X And Y ) = • Not ( X Or Y ) = Chapter 5 - Visual Basic Schneider

  13. Determine if True or False • a = 2, b=3 • a*a < b Or Not a*a <a • True • ((a=b) Or Not (b<a)) And ((a<b) Or (b=a+1)) • True • “9W” >= “9W” And “duck” < “Du” & ”ck” • False Chapter 5 - Visual Basic Schneider

  14. Are the conditions equivelent? • Not(a<m); n>m • (a=b) and (a<b); a<>b • Not ((a=b) or (a=c)) ; a<>b and a<>c • Not (a>=b); (a<b) and not (a=b) Chapter 5 - Visual Basic Schneider

  15. Write an Exp equal to the negation of • a>b • (a<b) and (c<>d) • (a=b) or (a=d) • Not ( (a=b) or (a>b) ) • (a<> “”) and (a<b) and (len(a) < 5) Chapter 5 - Visual Basic Schneider

  16. Types of Decision Structures • If Block Statement • Single alternative: If...Then • Compound alternative: If Then...Else • Select Case Statement Chapter 5 - Visual Basic Schneider

  17. Single Alternative Decision • An action is taken if the condition is true, otherwise the control goes to the next statement. • Syntax:If condition ThenactionEnd If • If condition is true, action is executed. Otherwise, action is skipped Chapter 5 - Visual Basic Schneider

  18. Example of single-alternative decision If (grade > = 90) Then picOutput.Print “Excellent Student” letterGrade = “A” picOutput.Print “Your grade is “; letterGrade End If Chapter 5 - Visual Basic Schneider

  19. Compound Alternative Decision • Syntax IfconditionThen action1 Else action 2 End If Chapter 5 - Visual Basic Schneider

  20. Example of Compound If statement Private Sub cmdFindLarger_Click() Dim largerNum As Single If Val(txtFirstNum.Text) > Val(txtSecondNum.Text) Then largerNum = Val(txtFirstNum.Text) Else largerNum = Val(txtSecondNum.Text) End If picResult.Print "The larger number is"; largerNum End Sub Chapter 5 - Visual Basic Schneider

  21. Important Points in Using If Statement • Use indentation • In the nested If statement, each If must have its own End If statement • Care should be taken to make If blocks easy to read and understand Chapter 5 - Visual Basic Schneider

  22. If cond1 Then If cond2 Then action(s) End If End If If cond1 And cond2 Then action(s) End If Example This is easier to understand A confusing If Block Chapter 5 - Visual Basic Schneider

  23. Compound Alternative Decision • Syntax Ifcondition1Then action1 ElseIfcondition2Then action 2 ElseIfcondittion3 Then action3 Else action4 End If Chapter 5 - Visual Basic Schneider

  24. Example (find the larger of two numbers, and report if the two numbers are equal) Private Sub cmdFindLarger_Click() picResult.Cls If Val(txtFirstNum.Text) > Val(txtSecondNum.Text) Then picResult.Print "The larger number is"; txtFirstNum.Text ElseIf Val(txtSecondNum.Text) > Val(txtFirstNum.Text) Then picResult.Print "The larger number is "; txtSecondNum.Text Else picResult.Print "The two numbers are equal." End If End Sub Chapter 5 - Visual Basic Schneider

  25. Example (find cost of phone call from NY to LA) Private Sub DisplayCost (length As Single) PicOutput.Print "Cost of call: "; FormatCurrency(Cost(length)) End Sub Private Function Cost (length As Single) As Single If length < 1 Then Cost = .46 Else Cost = .46 + (length –1) * .36 End If End Function Chapter 5 - Visual Basic Schneider

  26. Single Line If Statement • Syntax IfconditionThenaction • There is no End If or Else blocks • If the condition is true, the action will be executed • If the condition is false, no action will be taken and the next statement will be executed Chapter 5 - Visual Basic Schneider

  27. If 2 < n < 5 Then action(s) End If Wrong! (n > 2) And (n < 5) If 5 Then action(s) End If Examples If nThen action(s) End If If Not(n < m) Then action(s) End If Equivalent to If (n >= m) Then action2 Chapter 5 - Visual Basic Schneider

  28. The Select Case Block • Similar to If statement • Used instead of compound If statements • Action is selected from a list of alternatives • Avoids confusion of deeply nested If blocks Chapter 5 - Visual Basic Schneider

  29. Select Case Block (Syntax) Select Case selector Case value-list-1 action1 Case value-list-2 action2 ….. Case Else action of last resort End Select Chapter 5 - Visual Basic Schneider

  30. Select Case Block Each value-list contains one or more of the following types of items separated by a comma • a constant • a variable • an expression • an inequality sign preceded by Is and followed by a constant, variable, or expression • a range expressed in the form a Tob, where a and b are constants, variables, or expressions. Chapter 5 - Visual Basic Schneider

  31. Example of Select Case letterGrade = txtGrade.text Select Case letterGrade Case “A”, “B” picOutput.Print “ Good Work” Case “C” picOutput.Print “Average Work” Case Else picOutputPrint “Poor Work” End Select Chapter 5 - Visual Basic Schneider

  32. Example of Select Case letterGrade = txtGrade.text Select Case letterGrade Case “A”, “B” picOutput.Print “ Good Work” Case “C” picOutput.Print “Average Work” Case Else picOutputPrint “Poor Work” End Select letterGrade = txtGrade.text If(letterGrade = “A” or letterGrade=“B”) Then picOutput.Print “ Good Work” Elseif (letterGrade=“C”) Then picOutput.Print “Average Work” Else picOutputPrint “Poor Work” End if Chapter 5 - Visual Basic Schneider

  33. Example of If statement letterGrade = txtGrade.Text If (letterGrade = “A”) Or (letterGrade = “B”) Then picOutput.print “Good Work” ElseIf (letterGrade = “C”) Then picOutput.Print “Average Work” Else picOutput.Print “Poor Work” End If Chapter 5 - Visual Basic Schneider

  34. Several different types of value-list Private Sub cmdInterpret_Click() Dim x As Integer, y As Integer, num As Integer x = 2 num = Val(txtNumber.Text) Select Case num Case 3 - x, x picPhrase.Print "Buckle my shoe."Case Is <= 4 picPhrase.Print "Shut the door."Case x + 3 To x * 3 picPhrase.Print "Pick up sticks."Case Else picPhrase.Print "Start all over again.“ End Select End Sub Chapter 5 - Visual Basic Schneider

  35. Selector Is a String Variable Private Sub cmdInterpret_Click() Select Case txtFirstName.Text Case "Thomas" picSolution.Print "Correct." Case "Woodrow" picSolution.Print "Sorry, his full name was" picSolution.Print "Thomas Woodrow Wilson." Case "President" picSolution.Print "Are you for real?" Case Else picSolution.Print "Nice try, but no cigar." End Select End Sub Chapter 5 - Visual Basic Schneider

  36. Chapter 5 - Visual Basic Schneider

More Related