Comp102 Assignment 9-3

Posted on by Vok

Presentation on theme: "1 9/08/06CS150 Introduction to Computer Science 1 Arithmetic Operators."— Presentation transcript:

1 1 9/08/06CS150 Introduction to Computer Science 1 Arithmetic Operators

2 //***************************************************************************** // File name: 02Rectangle.cpp // Author: Chadd Williams // Date: 09/08/06 // Assignment: Lab02 Challenge // Purpose: Calculate and display the area and perimeter of a rectangle based on the // length and width entered by a user. //***************************************************************************** #include "stdafx.h" #include using namespace std; // The main function int main() { /*const*/ int LENGTH /* = 8*/; /*const*/ int WIDTH /* = 3*/; int area; int perimeter; cout << "Please enter the width of the rectangle: "; cin >> WIDTH; cout << "Please enter the length of the rectangle: "; cin >> LENGTH; perimeter = (2 * LENGTH) + (2 * WIDTH); area = LENGTH * WIDTH; cout << "The area of the rectangle is: " << area << ".\n” ; cout << “It was calculated with the formula: area = LENGTH * WIDTH."<

3 3 9/08/06CS150 Introduction to Computer Science 1 Today  Arithmetic Operators & Expressions o sections 2.15 & 3.2 o Computation o Precedence o Algebra vs C++ o Exponents

4 4 9/08/06CS150 Introduction to Computer Science 1 Arithmetic Operators  Operators allow us to manipulate data o Unary: operator operand o Binary: operand operator operand OperatorMeaningTypeExample -NegationUnary - 5 =AssignmentBinary rate = 0.05 *MultiplicationBinary cost * rate /DivisionBinary cost / 2 %ModulusBinary cost % 2 +AdditionBinary cost + tax -SubtractionBinary total - tax (left hand side) (right hand side)

5 5 9/08/06CS150 Introduction to Computer Science 1 Division  grade = 100 / 20; o grade = ?  grade = 100 / 30; o grade = ?

6 6 9/08/06CS150 Introduction to Computer Science 1 Division  grade = 100 / 40; grade is 2 o If both operands of the division operator are integers, then integer division is performed.  the data type of grade is not considered, why? o We say the integer is truncated. Everything after the decimal point is dropped. No rounding.  grade = 100.0 / 40; o grade is 2.5 o What data type should grade be declared as?

7 7 9/08/06CS150 Introduction to Computer Science 1 Modulus  Modulus is the remainder after integer division  grade = 100 % 20; o grade = ?  grade = 100 % 30; o grade = ?  rem = x % n; o What are the possible values for rem ?

8 8 9/08/06CS150 Introduction to Computer Science 1 Practice  What value is assigned to x? o x = 8 + 3; o x = 8 - 3; o x = 8 * 3; o x = 8 % 3; o x = 8 / 3;

9 9 9/08/06CS150 Introduction to Computer Science 1 Mathematical Expressions  Complex mathematical expressions are created by using multiple operators and grouping symbols o expression: programming statement that has value o sum = 21 + 3; o number = 3; expression In these two examples, we assign the value of an expression to a variable

10 10 9/08/06CS150 Introduction to Computer Science 1 Examples  result = x;  result = 4 + result;  result = 15 / 3;  result = 22 * number;  result = a + b % c;  result = a + b + d / c – q + 42;  cout << “The value: “<< (sum / 2) <

11 11 9/08/06CS150 Introduction to Computer Science 1 Operator Precedence  result = a + b + d;  result = 12 + 6 / 3; o result = ?  Rules on how to evaluate an arithmetic expression o arithmetic expressions are evaluated left to right o when there are two operators, do them in order of precedence

12 12 9/08/06CS150 Introduction to Computer Science 1 Operator Precedence Precedence of Arithmetic Operators (Highest to Lowest) (unary negation) - * / % + - If two operators have the same precedence, evaluate them from left to right as they appear in the expression

13 13 9/08/06CS150 Introduction to Computer Science 1 Practice  5 + 2 * 3  10 / 2 -1  3 + 12 * 2 - 3  4 + 17 % 3 + 9  6 - 2 * 9 / 3 * 4 - 9

14 14 9/08/06CS150 Introduction to Computer Science 1 Associativity  The order in which an operator works with its operands o left to right or right to left OperatorAssociativity (unary negation) –Right to left * / %Left to right + -Left to right

15 15 9/08/06CS150 Introduction to Computer Science 1 Grouping!  To override precedence we use grouping symbols, ( ) o average = ( a + b +c ) / 3;  (3 + 12) * 2 - 3  4 + 17 % (3 + 9)  6 - 2 * 9 / ((3 * 4) – 9) o Work from the inside ( ) outward

16 16 9/08/06CS150 Introduction to Computer Science 1 Algebraic Expressions  4x + 16 o This means: 4 * x + 16 o In C++, we must always write the * int result; int sum; result = 4sum + 8; // syntax error result = 4 * sum + 8;

17 17 9/08/06CS150 Introduction to Computer Science 1 Exponents  The exponent operator was missing from the list!x 2 y n  C++ does not provide an exponent operator as part of the language  Use pow() in the cmath library #include double area; area = pow(4, 2); // area = 4 2

18 18 9/08/06CS150 Introduction to Computer Science 1 pow()  pow() is not an operator o it is a function o like main() o double pow(double x, double y) o it takes as arguments two doubles  x and y o it produces a double

19 19 9/08/06CS150 Introduction to Computer Science 1 Practice // Where are the errors? #include double value, exp, result; int number; result = pow(value,exp); 14 = pow(value,2); number = pow(value,exp); result = 14 + pow(value,99);

20 20 9/08/06CS150 Introduction to Computer Science 1 Advanced Input & Output (3.1 & 3.8) int value, value2; cout << “Please enter an integer: “; cin >> value; cout << “Please enter two integers”; cout << “ separated by some spaces: “; cin >> value >> value2; cout << value2 << value <

21 21 9/08/06CS150 Introduction to Computer Science 1 Advanced Input int value; float dec; char letter; cout << “Please enter one integer, “; cout << “one float and one character: ”; cin >> value >> dec >> letter; cout << value << ‘ ‘ << dec << “ “ ; cout << letter << endl; Please enter one integer, one float and one character: 9 3.2 c 9 3.2 c

22 22 9/08/06CS150 Introduction to Computer Science 1 Advanced Output  How can we force output to look a particular way? o Precision of numbers o Spacing around output Here are some floating point numbers: 72.0 72.00 72.000 Here is a table of data: 4 cat15 100 6 2.1

23 23 9/08/06CS150 Introduction to Computer Science 1 Precision of numbers #include #include //New Library! using namespace std; int main() { double number = 3.141592653589793; cout << number << endl; // default output cout << fixed << setprecision(1) << number << endl; cout << fixed << setprecision(2) << number << endl; cout << fixed << setprecision(3) << number << endl; cout << fixed << setprecision(4) << number << endl; return 0; } 3.14159 3.1 3.14 3.142 3.1416 These numbers are rounded! Explore on your own what happens if number is an integer.

24 24 9/08/06CS150 Introduction to Computer Science 1 Spacing around output #include #include //New Library! #include using namespace std; int main() { double number = 3.141592653589793; string name = “cs150”; int integer = 42; cout << setw(6) << name << setw(6) << integer << endl; cout << setw(6) << fixed << setprecision(3) << number; cout << setw(4) << integer <

25 25 9/08/06CS150 Introduction to Computer Science 1 Summary  Today we have looked at: o Arithmetic Operators & Expressions  Next time we will: o ???  Completed sections 2.15 & 3.2

Так, может быть, она зря поднимает панику. - Мидж.  - Джабба засопел и сделал изрядный глоток.

Categories: 1

0 Replies to “Comp102 Assignment 9-3”

Leave a comment

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *