Presentation is loading. Please wait.

Presentation is loading. Please wait.

CHAPTER 2 PROBLEM SOLVING USING C++ 1 C++ Programming PEG200/Saidatul Rahah.

Similar presentations


Presentation on theme: "CHAPTER 2 PROBLEM SOLVING USING C++ 1 C++ Programming PEG200/Saidatul Rahah."— Presentation transcript:

1 CHAPTER 2 PROBLEM SOLVING USING C++ 1 C++ Programming PEG200/Saidatul Rahah

2 Objectives Introduction to C++ : Identifier, keyword, mnemonic Programming Style Data Types Arithmetic Operations Variables and Declaration Statements 2 USEG20/Saidatul Rahah

3 Introduction to C++ USEG20/Saidatul Rahah 3 Modular Program: a program consisting of interrelated segments arranged in a logical and understandable form  Easier to develop, correct, and modify than other kinds of programs Module: a small segment which is designed to perform a specific task  A group of modules is used to construct a modular program

4 Introduction to C++(continued) USEG20/Saidatul Rahah 4 Modules in C++ can be classes or functions:  Function: accepts an input and produces an output by processing the input in some fashion  A function’s processing is encapsulated and hidden within the function  Class: contains both data and functions used to manipulate the data  Function: encapsulates a set of operations, while a class encapsulates data plus one or more sets of operations

5 Introduction to C++: Identifier USEG20/Saidatul Rahah 5 Identifier: a name given to an element of the language, such as a class or function Rules for forming identifier names:  First character must be a letter or underscore  Only letters, digits, or underscores may follow the initial letter (no blanks allowed)  Keywords cannot be used as identifiers  Max length of an identifier = 1024 characters Use underscores to separate multiple words in a name, or capitalize the first letter of each word.

6 Introduction to C++: Keyword USEG20/Saidatul Rahah 6 Keyword: a reserved name that represents a built-in object or function of the language

7 Introduction to C++: Identifier (continued) USEG20/Saidatul Rahah 7 Identify valid C++ identifiers below:  degToRad  1AB3  addNums  while  slope  findMax  E*6 valid invalid begins with a number invalid contains a special character invalid this is a keyword

8 Introduction to C++: Mnemonic USEG20/Saidatul Rahah 8 Function names  Require a set of parentheses at the end  Can use mixed upper and lower case  Should be meaningful, or be a mnemonic Mnemonic: a word designed as a memory aid Examples of function names: areaCircle()calAverage()main() Note that C++ is a case-sensitive language!

9 Introduction to C++: The main() Function USEG20/Saidatul Rahah 9 Overall structure of a C++ program contains one function named main(), called the driver function All other functions are invoked from main() Each statement inside the function must be terminated with a semicolon return : a keyword causing the appropriate value to be returned from the function return 0 in the main() function causes the program to end

10 Introduction to C++: The main() Function (continued) USEG20/Saidatul Rahah 10 The structure of a main() function.

11 Introduction to C++: The cout Object USEG20/Saidatul Rahah 11 cout object: an output object that sends data to a standard output display device

12 Objectives Introduction to C++ : Identifier, keyword, mnemonic Programming Style Data Types Arithmetic Operations Variables and Declaration Statements 12 USEG20/Saidatul Rahah

13 Programming Style USEG20/Saidatul Rahah 13 Although more than one C++ statement can be on a single line, good style calls for one statement per line Opening and closing braces {} for the function body should each be on separate lines Statements in the function body should be indented

14 Programming Style: Comments USEG20/Saidatul Rahah 14 Comments: explanatory remarks in the source code added by the programmer Line comment: begins with // and continues to the end of the line  Line comment can be on a line by itself, or at the end of a line of code  Line comment cannot be longer than one line Block Comment: a comment that spans across two or more lines  Block comment begins with /* and ends with */ Example: /* This is a block comment that spans across three lines */

15 Programming Style: Comments (continued) USEG20/Saidatul Rahah 15

16 Objectives Introduction to C++ : Identifier, keyword, mnemonic Programming Style Data Types Arithmetic Operations Variables and Declaration Statements 16 USEG20/Saidatul Rahah

17 Data Types USEG20/Saidatul Rahah 17 Data type: a set of values and the operations that can be applied to these values Two fundamental C++ data groupings: – Class data type (a class): created by the programmer – Built-in data type (primitive type): part of the C++ compiler

18 Data Types (continued) USEG20/Saidatul Rahah 18 Numerical Data Types Built-in data types Integer Types Floating- PointTypes

19 Data Types: Integer USEG20/Saidatul Rahah 19

20 Data Types: Integer (continued) USEG20/Saidatul Rahah 20 int data type: whole numbers, optionally with + or – sign Example: 2 char data type: individual character; any letter, digit, or special character enclosed in single quotes Example: ‘A’ Character values are usually stored in ASCII code

21 Data Types: Integer (continued) USEG20/Saidatul Rahah 21

22 Data Types: Integer (continued) USEG20/Saidatul Rahah 22 Escape character: the backslash, \; indicates an escape sequence Escape sequence: tells compiler to treat the following characters as special instruction codes

23 USEG20/Saidatul Rahah 23 Refer Table 2.4: Escape Character. p54

24 Data Types: Integer (continued) USEG20/Saidatul Rahah 24 bool data type: represents Boolean (logical) data; restricted to two values: true or false sizeof operator: shows the number of bytes used to store values of any data type Values returned by sizeof are compiler dependent

25 Data Types: Integer (continued) USEG20/Saidatul Rahah 25

26 Data Types: Integer (continued) USEG20/Saidatul Rahah 26 Signed data type: one that permits negative, positive, and zero values Unsigned data type: permits only positive and zero values An unsigned data type provides essentially double the range of its signed counterpart

27 Data Types: Integer (continued) USEG20/Saidatul Rahah 27

28 Data Types: Floating-Point Types USEG20/Saidatul Rahah 28 Floating-point number (real number): zero or any positive or negative number containing a decimal point Examples: +10.6255.-6.2 No special characters are allowed Three floating-point data types in C++:  float (single precision)  double (double precision)  long double

29 Data Types: Floating-Point Types (continued) USEG20/Saidatul Rahah 29

30 Objectives Introduction to C++ : Identifier, keyword, mnemonic Programming Style Data Types Arithmetic Operations Variables and Declaration Statements 30 USEG20/Saidatul Rahah

31 Arithmetic Operations USEG20/Saidatul Rahah 31 Arithmetic operators are binary operators Binary operators: require two operands Different data types can be used in the same arithmetic expression

32 Arithmetic Operations: Expression Types USEG20/Saidatul Rahah 32 Expression: any combination of operators and operands that can be evaluated to yield a value Mixed-mode expression: contains integer and floating- point operands; yields a double-precision value 15 + 5 = 20 operator operands

33 Arithmetic Operations : Summary of Operators USEG20/Saidatul Rahah 33

34 Arithmetic Operations (continued) USEG20/Saidatul Rahah 34 Integer Data Type 7 + 3 = 10 7 – 3 = 4 7 * 3 = 21 7 / 3 = 2 7 % 3 = 1 Floating Point Data Type 7.0 + 3.0 = 10.0 7.0– 3.0 = 4.0 7.0 * 3.0 = 21.0 7.0 / 3.0 = 2.33 If both operands are integer data type, output will be INTEGER If ONE operand is floating point data Type, output will be FLOATING POINT

35 Arithmetic Operations: Operator Precedence & Associativity USEG20/Saidatul Rahah 35 Rules for writing arithmetic expressions:  Never place two consecutive binary arithmetic operators side by side  Use parentheses to form groupings; contents within parentheses are evaluated first  You may nest parentheses within other parentheses; evaluated from innermost to outermost  Use the * operator for multiplication, not parentheses

36 Arithmetic Operations: Operator Precedence & Associativity (continued) USEG20/Saidatul Rahah 36 Expressions with multiple operators are evaluated by precedence of operators Associativity: the order in which operators of the same precedence are evaluated

37 Arithmetic Operations: Operator Precedence & Associativity (continued) USEG20/Saidatul Rahah 37 Example: 8 + 5 * 7 % 2 * 4 = 8 + 35 % 2 * 4 = 8 + 1 * 4 = 8 + 5 =12

38 Objectives Introduction to C++ : Identifier, keyword, mnemonic Programming Style Data Types Arithmetic Operations Variables and Declaration Statements 38 USEG20/Saidatul Rahah

39 Variables and Declaration Statements USEG20/Saidatul Rahah 39 Variable: symbolic identifier for a memory address where data can be held Use identifier naming rules for variable names

40 Variables and Declaration Statements (continued) USEG20/Saidatul Rahah 40 Assignment statement: used to store a value into a variable Value of the expression on the right side of the = is assigned to the memory location of the variable on the left side of the = Examples: num1 = 45; num2 = 12; total = num1 + num2; 45 num1

41 Variables and Declaration Statements (continued) USEG20/Saidatul Rahah 41 Declaration statement: specifies the data type and identifier of a variable; sets up the memory location Syntax: ; A variable must be declared before it is used! Data type is any valid C++ data type Example: int sum; int num1, num2, num3; float pi = 3.142; Initialized in declaration

42 Problem Solving USEG20/Saidatul Rahah 42 Write a C++ program to calculate the average of two double-precision numbers.  Apply Software Development Procedure:  Step 1: Analyze the problem Output - average Inputs - 2 numbers ( num1, num2)  Step 2: Develop a solution Assign values to num1 and num2 Calculate and display average  Step 3: Code the solution  Step 4: Test and correct the program

43 Problem Solving (continued) USEG20/Saidatul Rahah 43 Flowchart: start Input 2 numbers Calculate average Display average end #include int main() { double num1, num2, average; num1 = 45.5; num2 = 10.2; average = (num1+num2)/2; cout<<“Average is: “<<average; return 0; } Variable declaration Assignment statement output

44 Common Programming Errors USEG20/Saidatul Rahah 44 Missing parentheses after main Missing or incorrect braces around function body Misspelling a reserved word Missing ending double quotes on string literal Missing semicolon at end of statement Adding a semicolon at end of #include statement Missing \n to indicate new line Substituting letter O for zero and vice versa

45 Common Programming Errors (continued) USEG20/Saidatul Rahah 45 Failing to declare all variables Storing incorrect data type into a variable Attempting to use a variable with no value Dividing integer values incorrectly Mixing data types in the same expression

46 Short Quiz USEG20/Saidatul Rahah 46 Write down your name, SID no, class name on a piece of paper and answer below question. 1. List 4 rules for forming identifier names. 2. Solve expression given below. 12 + 5 % 2 * 8 – 3 Thank You for Listening…..


Download ppt "CHAPTER 2 PROBLEM SOLVING USING C++ 1 C++ Programming PEG200/Saidatul Rahah."

Similar presentations


Ads by Google