1 / 24

# - PowerPoint PPT Presentation

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

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

## PowerPoint Slideshow about '' - fraley

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

• There are 3 primary groups of operators

• One operator is very different in programming compared to math

• 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

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

• 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

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.

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

• ***COMPARISON*** ==

y == 5 %“Does y hold the value 5?”

%“Is y equal to 5?”

• Example:

• ***COMPARISON*** ==

y == 5 %“Does y hold the value 5?”

%“Is y equal to 5?”

• Example:

• Assignment = %NOT A RELATIONAL OP.

y = 5; %“Store the value 5 in the % variable y”

Notethat == and = are DIFFERENT!

• When one relational operator is made up of 2 symbols (<=, >=, ~=, ==):

• KEEP THEM GLUED TOGETHER

• 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

• 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

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

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

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

• 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