Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cosc175/operators1 Algorithms computer as the tool process – algorithm –Arithmetic: addition,subtraction,multiplication,division –Save information for.

Similar presentations


Presentation on theme: "Cosc175/operators1 Algorithms computer as the tool process – algorithm –Arithmetic: addition,subtraction,multiplication,division –Save information for."— Presentation transcript:

1 cosc175/operators1 Algorithms computer as the tool process – algorithm –Arithmetic: addition,subtraction,multiplication,division –Save information for future use –Receive and put out information - i/o –Comparison –Repeat any group of operations

2 cosc175/operators2 Assignment operator = Value assigning differs from equality x = 3 vs if x = 3 variable = expression

3 variable -physical location in computer memory expression –constant x = 10; x = PI; –another variable to which a value has previously been assigned y = x; –a formula to be evaluated y = a* x /2 + 3; cosc175/operators3

4 4 assignment Processor evaluates the right member of an assignment statement to get a single value it places this value in the memory location (variable name) given as the left member. Not a mathematical equation, can't be switched stamp = 14 is a valid assignment statement 14 = stamp is not The left member of an assignment statement must always be the name of a computer memory location (variable name). It cannot be a constant or formula.

5 Invalid assignment 14 = x; a + x = 2 + y; Why? cosc175/operators5

6 Given the declarations: int stuff; string name; int widget; int numWidgets; cosc175/operators6

7 7 Assignment StatementWhat happens in memory numWidgets = 10;the value 10 is placed in the memory location numWidgets numWidgets = numWidgets + 1;numWidget is evaluated. Contains a 10, one is added to 10, 11 is stored at the memory location numWidgets name = "toby"the four characters t-o-b-y are stored in the memory location name (note: The single quotes are used as delimiters and are not stored in memory.) stuff = numWidgets;Assuming the value 11 in the memory location numWidgets, this assignment statement places the value 11 in answer (note: Now both stuff and numWidgets have the same value.) widget = numWidgets * 2the ALU evaluates the expression on the right and places the value 30 in the memory location widget

8 cosc175/operators8 Arithmetic Operators OpOperation +Addition -Subtraction *Multiplication /Division powExponentiation %Modulus

9 Addition + int x; x = x + 1; // this is an increment float item1Price; float item2Price; float total; total = item1Price + item2Price; cosc175/operators9

10 Subtraction - int x; x = x - 1; // this is a decrement float grossPay; float tax; float netPay; netPay = grossPay - tax; cosc175/operators10

11 Multiplication * int x; x = x * 2; float bill; float tip; float totalBill; tip = bill *.20; // could use constant here totalBill = bill + tip; cosc175/operators11

12 Division / Can’t divide by zero integer division yields integer result 5/10 => 0 10/3 => 3 5/10.0 =>.5 (float) num1/num2 => float result cosc175/operators12

13 Modulus % Remainder 10 % 5 => 0 23 % 5 => 3 7 % 2 => 1 58 % 10 => 8 Useful for determining even or odd numbers if (num1 % 2 == 0) cout << “even”; cosc175/operators13

14 cosc175/operators14 Precedence Order of Operations exponentiation multiplication and division addition and subtraction left to right Z * X * Y=> (Z * X ) * Y evaluate parentheses first innermost first

15 cosc175/operators15 Example 1:Problem Definition Read three numbers, add them together and print the total. Step 1: define input and output Step 2: define list of actions. Hint: Use verbs, these steps usually involve the input and output defined in step 1

16 cosc175/operators16 Example 1: Solution Algorithm int main() { int num1; int num2; int num3; int sum; cout << "Input three numbers“; cin >> num1 >> num2 >> num3; sum = num1+num2+num3; cout << "Sum is " << sum; }

17 cosc175/operators17 Why is this better? int main() { int num1; int num2; int num3; int sum; cout << "Input three numbers“; cin >> num1 >> num2 >> num3; sum = num1+num2+num3; cout << num1 << " + " << num2 << " + " << num3 << " = " << sum; }

18 cosc175/operators18 Relation opoperation <Less than <=Less than or equal to >Greater than >=Greater than or equal to ==Equal to !=Not equal to

19 cosc175/operators19 AND&&exp1 && exp2true only if both are true OR||exp1 || exp2true if either or both are true NOT!! exp1true if exp1 is false

20 cosc175/operators20 xyx && y TRUE FALSE TRUEFALSE

21 cosc175/operators21 xyx || y TRUE FALSETRUE FALSETRUE FALSE

22 cosc175/operators22 x!x TRUEFALSE TRUE

23 Assume that: cup, saucer, and plate are integer variables name1 and name2 are string variables hival, lowval, and midval are boolean variables Explain what the processor will do with each of the following assignment statements. Assume the assignment statements are in sequence. (Helpful hint: First, evaluate the expression given the right member and then place that value in the memory location specified as the left member of the assignment statement.) Assignment StatementWhat happens in memory 1. cup = 2; 2. saucer = cup; 3. plate = 15 * cup – saucer; 4. cup = cup + cup; 5. saucer = cup * (plate - saucer); 6. name1 = “jefferson”; 7. name2 = name1; 8. hival = TRUE; 9. lowval = FALSE ; 10.midval = hival && lowval; 11. lowval = !(hival || lowval); 12. hival = !hival;

24 cosc175/operators24 Trace Trace - simulate the algorithm using known results (desk check) Most major logic errors occur during the development of the algorithm test data- simple input

25 cosc175/operators25 1.list variables across the top of the page 2.Include column for output 3.Step through code one line at a time (pretend to be the computer) 4.Fill in variables as they change 5.Fill in output column if appropriate 6.Do for 3 sets of data

26 cosc175/operators26 Sample trace (shown one line at a time) num1num2num3sumOutput Enter three numbers 123 6 Sum = 6

27 cosc175/operators27 Sample of 3 traces num1num2num3sumOutput 1236Enter three numbers Sum = 6 0000Enter three numbers Sum = 0 -3-2-6Enter three numbers Sum = -6


Download ppt "Cosc175/operators1 Algorithms computer as the tool process – algorithm –Arithmetic: addition,subtraction,multiplication,division –Save information for."

Similar presentations


Ads by Google