âOperatorsâ (i.e. âsymbolsâ)

1 / 19

# âOperatorsâ (i.e. âsymbolsâ) - PowerPoint PPT Presentation

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'âOperatorsâ (i.e. âsymbolsâ)' - isha

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

Overview: Specific Symbols that Represent Specific Actions

Arithmetic

Relational

Boolean

Output values

Overview: most Operators
• There are 3 primary groups of operators
• One operator is very different in programming compared to math
1. 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.

2. 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?

• Examples:
= vs. == operator

= operator: ASSIGNMENT

== operator: COMPARE

"Is this value equal to another"

• "To give a value to"

THIS IS NOT A RELATIONAL OPERATOR!!

MATLAB is NOT checking the relation between x and 2

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
3. Boolean Operators
• These operators take logical values and perform some operation on them to yield a logical value (0 or 1)
• 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
Boolean Operators

“ 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

ifx<0 && y>0 && z>0 %if x negative and y and z positive

%do option1

else

%do option2

end

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) ?

&&, 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!

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?
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:
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) ?

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?
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:
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)) ?

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) ?

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