1 / 24

“Operators” (i.e. “symbols”)

“Operators” (i.e. “symbols”). Overview: Specific Symbols that Represent Specific Actions Arithmetic Relational Boolean Output values. 1. Overview: most Operators. There are 3 primary groups of operators One operator is very different in programming compared to math . Overview, cont.

fraley
Download Presentation

“Operators” (i.e. “symbols”)

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. “Operators” (i.e. “symbols”) Overview: Specific Symbols that Represent Specific Actions Arithmetic Relational Boolean Output values

  2. 1. Overview: most Operators • There are 3 primary groups of operators • One operator is very different in programming compared to math

  3. Overview, cont. • Operators work on operands. Binary Operator Requires two operands to work 4*5 operands Multiplication operator -5 Unary Operator Requires one operand to work operand Subtraction operator

  4. Overview, cont. • There are 2 types of operands: • Numerical 1, 3.5, -47 • Logical true, false • Arithmetic (+,-,/,*,^) and relational (<,<=,>,>=,==,~=) operators work with numerical operands Numerical Operands kineticEnergy = 1/2*mass*vel^2 Arithmetic operators Assign operator: “make a variable equal to something”

  5. Overview, cont. • There are 2 types of operands: • Numerical 1, 3.5, -47 • Logicaltrue, false • Boolean (&&,||,~) operators work on logical operands “ if this is true and this is false… do something” if (it’s raining outside) and (you have an umbrella) go, you won’t get wet else stay inside! end

  6. 2. Arithmetic Operators REVIEW • Arithmetic equations: variableName = equation ; • MATLAB executes the equation FIRST (following the order of operation from left to right), then stores the result in the variable on the left. • However, in the equation itself, MATLAB respects the Order of Operations: • 2+3*5 is the same as 2+(3*5), but different than (2+3)*5 • val1*val2/val3^4 + val5/(val6+val7); • Remember the multiplication operator isn’t implied >>(2)(5)(5.5)+5(6/3) <enter> will crash MATLAB.

  7. 3. Relational Operators • Relational operators allow a comparison to be evaluated. Is thrust_a greater than thrust_b?  True/false? 1/0? Is surface1 equal to surface2?  True/false? 1/0? Isload1less than or equal toload2?  True/false? 1/0? • Examples:

  8. Relational Operators, cont. • ***COMPARISON*** == y == 5 %“Does y hold the value 5?” %“Is y equal to 5?” • Example: menuChosen == 1 %did user choose menu #1 ?

  9. Relational Operators, cont. • ***COMPARISON*** == y == 5 %“Does y hold the value 5?” %“Is y equal to 5?” • Example: menuChosen == 1 %did user choose menu #1 ? • Assignment = %NOT A RELATIONAL OP. y = 5; %“Store the value 5 in the % variable y” Notethat == and = are DIFFERENT!

  10. Spaces or not? • When one relational operator is made up of 2 symbols (<=, >=, ~=, ==): • KEEP THEM GLUED TOGETHER

  11. Spaces or not? • When one relational operator is made up of 2 symbols (<=, >=, ~=, ==): • KEEP THEM GLUED TOGETHER • Regardless of which operator is used, a space can be used before and/or after. All these are identical to MATLAB: • thrustA<=thrustB %no spaces anywhere • thrustA <=thrustB %1 space before the operator • thrustA<= thrustB %1 space after the operator • thrustA <= thrustB %1 space before AND after

  12. 4. Boolean Operators • These operators take logical values and perform some operation on them to yield a logical value • Two Boolean operators allow to COMBINE relational expressions • && Logical AND • || Logical OR • One Boolean operator allows to NEGATE the result • ~ Logical NOT • “Negates”: turns true values into false, and false values into true

  13. Boolean Operator #1: && “and” • Two & symbols (“Ampersand”), glued together && • Both relational expressions must be truefor the combined expression to be true • X && Y yields trueiff both XandY are true e.g. (3<5) && (8>=8) ? (x< 3) && (x > 5) ? x = 52.1; (5.5<x) && (x<100.2) ?

  14. &&, continued • Use of parenthesis e.g. (3<5) && (8>=8) true same as 3<5 && 8>=8 true (x<3) && (x>5) false same as x<3 && x>5 false For sanity, at least use spaces before/after the operator!

  15. True/False (2 > 3) && (3 < 29.3) • True (1) • False (0) • Impossible to determine (22 > 3) && (3 > 29.3) • True (1) • False (0) • Impossible to determine (22 > x) && (x > 29.3) • True (1) • False (0) • Impossible to determine (x<2) && (y>0) • True (1) • False (0) • Impossible to determine • What is the result of the following statement?

  16. True/False F && T • True (1) • False (0) T && F • True (1) • False (0) F && F • True (1) • False (0) T && T • True (1) • False (0) • In other words, there are 4 options:

  17. Boolean Operator #2: || “or” • Two | symbols (“pipe”), glued together || • At least ONE relational expressions must be truefor the combined expression to be true • X || Y yields true if eitherXorY (or both) are true e.g. (3<5) || (5>=8) ? x = 4.2; (x< 3) || (x > 5) ?

  18. True/False (2 > 3) || (3 < 29.3) • True (1) • False (0) • Impossible to determine (22 > 3) || (3 > 29.3) • True (1) • False (0) • Impossible to determine (22 > x) || (x > 29.3) • True (1) • False (0) • Impossible to determine (x<2) || (y>0) • True (1) • False (0) • Impossible to determine • What is the result of the following statement?

  19. True/False F || T • True (1) • False (0) T || F • True (1) • False (0) F || F • True (1) • False (0) T || T • True (1) • False (0) • Again, there are 4 options:

  20. Priorities between Boolean Operators • Which operator has priority in the following? 1 + 1 + 0 * 1 • Just like * has priority over + , && has priority over || • What is the result of this statement? x = 44.5; y = 55; (x<=50) || (0<y) && (y<40) ? ((x<=50) || (0<y)) && (y<40) ? (x<=50) || ((0<y) && (y<40)) ?

  21. Boolean Operator #3: NOT • One ~ symbol (“tilde”) • “NOT” : negates a value • Example: x = true; %keyword is known to MATLAB y = ~x; %y now has the value false • Example: • the value y entered by the user should NOT be between 4 and 9 cm included: %assume user enters 7.4 when asked for a value of y ~(4<=y && y<=9) ?

  22. 5. Operators: Output values Type Input values Output values Arithmetic: Numbers Numbers e.g. 5 * 315 Relational: Numbers Logical e.g. 5 < 3false Boolean: Logical Logical e.g. ~truefalse true & false

  23. Order of Operations

  24. Key Ideas • Vocabulary: operators, operands, arithmetic, relational, boolean, unary, binary, numerical, logical • Assignment vs. “is equal to” operator • Find the &, |, and ~ symbols on the keyboard • When does a && b && c evaluate the true? • When does a || b || c evaluate to true? • When does a && b || c && d evaluate to true? • Order of operations is respected when MATLAB executes any expression

More Related