Presentation is loading. Please wait.

Presentation is loading. Please wait.

CHAPTER 6: PROBLEM SOLVING CONCEPTS FOR THE COMPUTER PROGRAMMING Lec. Ghader R. Kurdi.

Similar presentations


Presentation on theme: "CHAPTER 6: PROBLEM SOLVING CONCEPTS FOR THE COMPUTER PROGRAMMING Lec. Ghader R. Kurdi."— Presentation transcript:

1 CHAPTER 6: PROBLEM SOLVING CONCEPTS FOR THE COMPUTER PROGRAMMING Lec. Ghader R. Kurdi

2 Introduction The original C was still too limiting, and not standardized, and so in 1983 an ANSI (American National Standard Institute) committee was established to formalize the language definition. It has taken until now (ten years later) for the ANSI standard to become well accepted and almost universally supported by Compilers. The first language developed was (BCPL). The next upgraded version was (B). The language (B) was upgraded to (C) by Dennis Ritche of AT & T laboratories, USA. (C) was first used to write UNIX OS. (C) is a general purpose language. Bjarne Strousstrup added object orientation to (C ) and developed (C++). The objective of learning C++ is to write programs using this higher level language to solve our day-to-day problems. It is a most widely used language.

3 Structure of a program Any C++ program consists of one or more modules called functions. One of these functions is called main. The program begins by executing main function and accesses other functions, if any. Functions are written after or before main function separately. A function has: Heading consists of name with list of arguments (optional) enclosed in parenthesis Argument declaration (if any) Compound statement enclosed in two braces { } such that each statement ends with a semicolon. Comments, which are not executable statement, of necessary can be placed in between /* and */.

4 Structure of a program (cont.) At this stage the programs considered will fit into the following general format: // Introductory comments // file name, programmer, when written or modified // what program does #include void main () { constant declarations variable declarations executable statements }

5 Displaying a message Example // Display Welcome to C++ #include using namespace std; void main() { cout << ″Welcome to C++!″ << endl; } Outputs: Welcome to C++

6 Displaying more messages Example // Extend the program to display three messages. #include using namespace std; void main() { cout << "Programming is Useful!" << endl; cout << "Fundamentals First" << endl; cout << "Problem Driven" << endl; } Outputs: Programming is Useful! Fundamentals First Problem Driven

7 Comments A C++ comment is written in one of the following ways: // line comment /* block comment */ // Display a welcome message #include using namespace std; void main() { /* this comment can be considered as multiple line comment */ cout << "Hello C++ Programming"; }

8 Problem Solving Tools 1. Edit: Program is created in the editor and stored on the disk. 2. Compile: Compiler create Object code and stores on disk. 3. Link: Linker links the Object code with Libraries, creates result and stores it on disk. 4. Load: Loader prints program in memory. 5. Execute: CPU takes each instruction and executes it. Possibly storing new data Values as program execute.

9 The character set Character set includes the basic building blocks of a language. C++ character set consists of: A. Numeric Character Set: 0-9 B. Alphabetic Character Set: A-Z, a-z C. Special Character Set: #, ;, :,(comma) etc D. Escape Character Set: they are used for formatting the output. It always starts with a back slash ( \ ). Some Examples are \n, \t, \b, \a

10 Tokens The smallest individual unit in a program is known as token. C++ has the tokens, like: Keywords Identifiers Literals Punctuators Operators

11 Keywords Keywords or Reserved words are those words which are reserved for a specific purpose and part of the language. Examples are: auto,break,case,char, const,continue,default,do, double,else,enum,extern, float,for,goto,if, int,long,register,return, short,signed,sizeof,static, struct,switch,typedef,union, unsigned,void,volatile,while. Note that these words should not be used as identities.

12 Punctuators The following characters are used as punctuators (also known as separators) in C++: * + ( ), - ; : * … = #

13 Identifiers Words that are not reserved or keywords are called user defined words or identifiers. Identifier can be a name of variable, constant, and function. Identifiers must follow the following rules: A. Can be composed of alphabets (A-Z or a-z), numbers (0 to 9) and underscore “_” B. The first character must be an alphabet or an underscore “_”. C. Identifier must be unique. D. Blank Spaces are not allowed. E. Keywords are not allowed. F. They are case sensitive i.e. Val and val are different.

14 Identifiers (cont.) Valid names: roll_number r_no z a1234_bc Use the name of the identifier that is self- explanatory employee_name student_name sum Invalid names: 3x x*3 date-1 change to char y= a’ for

15 Data type Data types are means to identify the type of data and associated operations of handling it. C++ data types are of two types: Fundamental data types Derived data type.

16 Fundamental data types

17 Derived data type From the fundamental types, other types can be derived by using the declaration operators, e.g. Arrays.

18 Constants and Variables Identifiers can be classified into two categories constants and variables. Constants (Literals): Constants are identifiers which do not change its stored value during executing the program. Variables: is an identifier that has a changeable value during the execution of a program.

19 Constants There are 4 basic types of constants Integer constants: It is an integer valued number written in three different number system types, namely; decimal, octal, and hexadecimal. Floating point constants: It is a decimal number with a decimal point or an exponent or both. Ex; 32.65, 0.654, 0.2E-3, 2.65E10 etc. These numbers have greater range than integer constants. character constants: It is a single character enclosed in single quotes like ′a′. ′3′, ′?′, ′A′, etc. each character has an ASCII to identify. For example ′A′ has the ASCII code 65, ′3′ has the code 51 and so on. string constants : it consists of any number of consecutive characters enclosed in double quotes.Ex : ″ C program″, ″mathematics″ etc……

20 Constants (cont.) Syntax: const data_type name = values; const char ch='M';

21 Example #include using namespace std; void main() { const float PI = 3.149; int r = 5; float area; area = r * r * PI; cout<<“r=“<<r<<endl; cout<<“area=“<<area<<endl; } Outputs: r= 5 Area= 78.725

22 Example #include using namespace std; void main() { const float PI = 3.149; PI = 3.14; int r = 5; float area; area = r * r * PI; cout<<“r=“<<r<<endl; cout<<“area=“<<area<<endl; } Outputs:

23 Variables Variable Declaration: Declare a variable means to allocate a memory location to hold the value of this variable. Defining a variable: each variable should have an Identifier, which is the variable name that you will use during the program, and in fact it is translated to an address of the memory location. Data Type: it shows the type of the value that will be stored in this variable

24 Variables (cont.)

25 There are different types of variables such as: Character variable (To store characters) Integer variable (To store whole numbers) Float variable (To store floating point numbers) Boolean variable (To store two values true/false) Syntax: Data_Type Identifier; int number1; Float a, b ; int a,b,c,d=10; (you can also initialize at the time of declaration).

26 Variables (cont.) Choose the most suitable data type for the following data ID Phone number Weight Height Marital Status Gender

27 Operators Operators cause the compilers to take some action and work on operands (data). Operators are classified as:- I/O Operators Assignment Operator Arithmetic Operators Unary Operators Relational Operators Logical Operations Conditional Operator Compound operators Library Functions

28 I/O operators The input operator (>>) is used to read value from standard input. cin>>name; The output operator(<<) is used to direct a value to standard output. cout << ″Welcome to C++!″;

29 Assignment Operator Equal sign (=) is used for assignment operator. It is used to assign values to variables. Syntax: VariableName = value; Or VariableName = expression; a=10; a=b; a=b + c; In every case the value of the right hand variable (constant) are assigned to variable in the left hand side.

30 Assignment Operator - Examples int x;//decleration x = 5;//assignment float y; y = 9.75; char gender; gender = ‘M’ int a = 5 ;//decleration and assignment int seconed = 10, third = 14; int a,b,c,d = 10; int a = 5; int b,c,d; b,c,d = a; b,c,d = a + 3;

31 Assignment Operator - Examples int a,b; a = 5; b = 8; cout<<a<<“ “<<b; int a,b; a = 5; b = a; cout<<a<<“ “<<b; Outputs:

32 Assignment Operator - Examples int a,b; a = 5; b = 8; a = b; cout<<a<<“ “<<b; int a,b; a = 5; a = b; cout<<a<<“ “<<b; Outputs:

33 Assignment Operator - Examples int a,b; a = 5; b = A; cout<<a<<“ “<<b; int a; a = 5; b = a; cout<<a<<“ “<<b; Outputs:

34 Assignment Operator - Example #include using namespace std; void main() { int x; float y=12.52; x=y; cout<<″value of x= ″<<x; } Outputs:

35 Assignment Operator - Example #include using namespace std; void main() { int x=11; float y=x; cout<<″value of y= ″<<y; } Outputs:

36 Arithmetic Operators They are used to perform arithmetic operations. They can take any one of the data types. +Addition -Subtraction /Division * Multiplication % Used to find out remainder

37 Arithmetic Operators (cont.) ResultOperationsOperand-2 (b)Operand-1 (a) int+, -, *, /int float+, -, *, /floatint float+, -, *, /intfloat +, -, *, /float doube+, -, *, /doublefloat Long double+, -, *, /doubleLong double Note that the result always takes the larger data type of the operands used.

38 Arithmetic Operators (cont.) 4.2+3 = 3*4 = 3*4.0 = 3*4.2 = 17/3 = 17.0/3 = 17%3 = 12.6 /2 =

39 Arithmetic Operators - Example #include using namespace std; void main() { int x=10, y=3; cout<<″value of x= ″<<x/y; } Outputs:

40 Arithmetic Operators - Example #include using namespace std; void main() { int x=10; float y=3.5; cout<<″value of x= ″<<x/y; } Outputs:

41 Precedence The term ``precedence'' refers to how ``tightly'' operators bind to their operands (that is, to the things they operate on). In mathematics, Multiplication, division, and modulus, all have higher precedence than addition and subtraction. Same precedence : left to right which come first 1 + 2 * 3 2 * 5 * 5 + 3 * 5 + 7 8 + 5 * 7 % 2 * 4 20 – 2 / 6 + 3 * 5 / 2 2 * 3 / 12 * 18 / 4 4 / 2 / 2 / 5 / 7 3 * 5 / 2 + ( 2 * ( 3 + 7 ) ) / 5

42 Precedence (cont.) Assume that: int amount = 1, m = 50, n = 10, p = 5; Evaluate the following expressions: n / p + 3 m / p + n – 10 * amount -m / 20 (m + n) / p + amount (m + n) / (p + amount)

43 Unary operators An operator acts up on a single operand to produce a new value is called a unary operator. The decrement and increment operators ++ and -- are unary operators. They increase and decrease the value by 1. if x=3 ++x produces 4 and --x produces 2. Note: in the place of ++x, x++ can be used, but there is a slight variation. In both cases x is incremented by 1, but in the latter case x is considered before increment.

44 Unary operators - Example #include using namespace std; void main( ) { int x=10; ++ x; // as x = x + 1 cout << x; } Outputs:

45 Unary operators - Example #include using namespace std; void main() { int x=10; x++; // as x = x + 1 cout << x; } Outputs:

46 Unary operators - Example #include using namespace std; void main() { int x=10; cout << ++x; cout << x++; cout << x; } Outputs:

47 Relational Operators Less than< Greater than> Less than or equal to<= Greater than or equal to>= Equal to== Not equal to!=

48 Relational Operators (cont.) 3 > 4 2.0 > 3.75 ‘A’ > ‘C’ ‘D’ <= ‘Z’ ‘B’ != ‘C’ 30 => 50 x = = y k = 12, j=7, i=5 k + 3 <= -j + 3 * i

49 Relational Operators - Example #include using namespace std; void main() { cout<<“The value of 3<4 is "<<(3<4); cout 3.5 is “ 3.5); int a = 5; int b = 8; cout =b is " =b); } Outputs:

50 Logical Operations The relational operators work with arbitrary numbers and generate true/false values. You can also combine true/false values by using the Boolean operators, which take true/false values as operands and compute new true/false values. The three Boolean operators are:

51 Logical Operations (cont.) (a>b) && (b>c) is true if (a>b) is true and (b>c) is true (a>b) && (b>c) is false if one of them is false or both are false (a>b) || (b>c) is true if either (a>b) is true or (b>c) is true or both are true (a>b) || (b>c) is false when both are false (a>b) & (b>c) cause an Error (a>b) & & (b>c) cause an Error

52 Logical Operations (cont.) Assume that: int a = 12, b = 2, i = 15, j = 15, c = 0; Evaluate the following expressions? ResultExpression 1( a == 12 ) 0( b == 3 ) 1( a >= 12 ) && ( b < 3 ) 0( a / b > 6 ) && ( b < i ) 1( j == 20 ) || ( i == 15 ) 0( I < j )||( a < b )||c 1! ( i != j ) 1(!i – j ) 0!! ( i – j ) 1!(!i * !!j)

53 Compound operators C++ allows the assignment to combine with other operators. Examples: Z+=5; //is equal to Z=Z+5; Z-=5; //is equal to Z=Z-5 x*=y; //is equal to x=x*y x/=5; //is equal to x=x/5 X%=5;//is equal to x=x%5

54 Compound operators (cont.) Assume that: int c = 3, d = 5, e = 4, f = 6, g = 12; Evaluate the following expressions: c +=7 d -= 4 e *= 5 f /= 3 g %= 9

55 Compound operators - Example #include using namespace std; void main() { int x=10, y=30; y /= x; x = y++; cout << x<<“\t”<<y; } Outputs:

56 Compound operators - Example #include using namespace std; void main() { int x=10, y=20; y*= x; x += y; cout << x<<“\t”<<y; } Outputs:

57 Compound operators - Example #include using namespace std; void main() { int x=10, y=40; y* = x; x = x++; cout <<x<<“\t”<<y; } Outputs:

58 Precedence

59 Computing with C++ // Sample program // IEA September 2013 // Reads values for the length and width of a rectangle and returns the perimeter and area #include using namespace std; void main() { int length, width; int perimeter, area;// declarations cout << "Length = ";// prompt user cin >> length;// enter length cout << "Width = ";// prompt user cin >> width;// input width perimeter = 2*(length+width);// compute perimeter area = length*width;// compute area cout << endl << "Perimeter is " << perimeter; cout << endl << "Area is " << area << endl;// output results }// end of main program

60 Exercises Q1: Write a single C++ statement to accomplish each of the following: Declare variables sum and x to be of type int Set variable x to 1 Set variable sum to 0 Add variable x to variable sum and assign the result to variable sum Print “the sum is: “ followed by the value of variable sum Q2: Write four different C++ statement that each add 1 to variable x.


Download ppt "CHAPTER 6: PROBLEM SOLVING CONCEPTS FOR THE COMPUTER PROGRAMMING Lec. Ghader R. Kurdi."

Similar presentations


Ads by Google