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

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

Isload1less than or equal toload2?  True/false? 1/0?

• Examples:

= 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

• 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

“ 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

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

• 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!

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

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

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

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

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

Order of Operations of ALL operators

• 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