98
#include<iostream.h> using namespace std; int main ( ) { int r; float p, peri; r = 2; p = 3.14; peri = 2*p*r; cout<<―Result is = ―<<peri<<endl; return 0; } 3/26/2015 1

Cs211 module 1_2015

Embed Size (px)

Citation preview

Page 1: Cs211 module 1_2015

#include<iostream.h>

using namespace std;

int main ( )

{

int r;

float p, peri;

r = 2;

p = 3.14;

peri = 2*p*r;

cout<<―Result is = ―<<peri<<endl;

return 0;

}

3/26/2015 1

Page 2: Cs211 module 1_2015

RESULT

3/26/2015 2

Page 3: Cs211 module 1_2015

Coding

3/26/2015 3

Page 4: Cs211 module 1_2015

Coding

3/26/2015 4

Page 5: Cs211 module 1_2015

CS-211 PROGRAMMING

FUNDAMENTALS

Introduction

3/26/2015 5

Page 6: Cs211 module 1_2015

Pakistan Air force Schools

F.Sc. PAF Inter college Lahore

B.E. Mechanical Engineering (CEME NUST)

Pak Elektron Limtd. Lahore

Millat Tractors Sheikhupura Road

Descon Lahore

Olayan Descon Saudia

Descon Dubai

3/26/2015 6

Page 7: Cs211 module 1_2015

M.Sc. Sustainable Technology, Sweden

Heritage-University of South Asia

3/26/2015 7

Page 8: Cs211 module 1_2015

C++ (See plus pluss)

To follow syntax and rules of Turbo C++ and Borland

C+

Text editors e.g. WordPad and note pad

These are used to write the code

Compilers are used to run the code

Source code written and stored in first.cpp

Compiled code stored/saved as first.obj

Executed code stored as first.exe

3/26/2015 8

Page 9: Cs211 module 1_2015

Contains following three parts

◦ Preprocessor directives

◦ The main( ) Function

◦ C++ statement

3/26/2015 9

Page 10: Cs211 module 1_2015

Preprocessor Directives

Instructions given before beginning of actual program

Also called Compiler Directives

To define certain actions or special instructions (include

arithmetic equation)

Normally begin with number sign (#)

May include keywords like ―include‖ or ―define‖

3/26/2015 10

Page 11: Cs211 module 1_2015

Example 1-01

#include<iostream>

int main( )

{

cout <<―this is my first program‖;

return 0;

}

3/26/2015 11

Page 12: Cs211 module 1_2015

Example 1-01 (output)

3/26/2015 12

Page 13: Cs211 module 1_2015

Preprocessor Directives

Header file

C++ source file

Contains definitions of function/objects

―include‖ is used to add ―iostream‖ into the program

Has Large number of header files in which library

functions are defined

3/26/2015 13

Page 14: Cs211 module 1_2015

Example 1-01

#include <iostream>

using namespace std;

int main ( )

{

cout <<―this is my first program‖;

return 0;

}

3/26/2015 14

Page 15: Cs211 module 1_2015

Example 1-01 (output)

3/26/2015 15

Page 16: Cs211 module 1_2015

Example 1-01

#include<iostream.h>

#include<conio.h>

void main( )

{

cout <<―this is my first program‖;

getch( );

}

3/26/2015 16

Page 17: Cs211 module 1_2015

Header file

―iostream‖ is short of ―input output stream‖

Has definitions of several input and output objects or

functions

Which was it in the last example?

―cout‖ (see out)

Syntax

◦ #include <name of the header file>

3/26/2015 17

Page 18: Cs211 module 1_2015

Example 1-01

#include<iostream>

int main( )

{

cout <<―this is my first program‖;

return 0;

}

3/26/2015 18

Page 19: Cs211 module 1_2015

The main ( ) Function

Indicates the beginning of a program

After the preprocessor directives

Must be included in every program

Syntax

◦ main ( )

{

program statements…

}

3/26/2015 19

Page 20: Cs211 module 1_2015

C++ Statements

Syntax◦ main ( )

{

program statements…

}

The statements are written under main ( )

Between { }

Are the body of the program

Each statement ends with ‗;‘

3/26/2015 20

Page 21: Cs211 module 1_2015

C++ Statements

Case sensitivity (must remember)

3/26/2015 21

Page 22: Cs211 module 1_2015

C++ Statements

Key words

Words used by languages for

Special purposes

Also called ‗reserved words‘

Cannot be used as variable names

3/26/2015 22

Page 23: Cs211 module 1_2015

Example 1-02

#include<iostream.h>

int main( )

{

int a, b;

}

3/26/2015 23

Page 24: Cs211 module 1_2015

C++ Statements

Tokens

Certain elements of a program

Every thing other than a statement

3/26/2015 24

Page 25: Cs211 module 1_2015

Example 1-02

main ( )

{

int a, b;

}

3/26/2015 25

Page 26: Cs211 module 1_2015

Example 1-03

#include<iostream.h>

using namespace std;

int main ( )

{

int abc = 4, b = 1997;

float xy = 3.4;

char name[15] = ―Marriam Ahmed‖;

cout <<name<<endl;

cout<<abc<<endl;

cout<<b<<endl;

cout<<xy<<endl;

return 0;

}

3/26/2015 26

Page 27: Cs211 module 1_2015

Example 1-03 (output)

3/26/2015 27

Page 28: Cs211 module 1_2015

C++ Statements

Variables

Not a constant

Which may change during execution of a program

Represented by a symbol or a name

Nadeem, fox pro, x, y etc.

It represents a storage location on a computer

Data stored may change, the variable does not

Also known as a object

In C++ variable names consists of alphabets and digits

3/26/2015 28

Page 29: Cs211 module 1_2015

C++ Statements

Rules for writing a variable name

First character must be alphabetic, exception ‗_‘

No blank spaces

Arithematic characters not allowed #, ^, etc

Reserved words are not allowed

Maximum length depends up on compiler

Must be declared

Again, case sensitive language

3/26/2015 29

Page 30: Cs211 module 1_2015

Variables Valid/Invalid Remarks

Nadeem valid

perform valid

double invalid C++ reserved word

foxpro valid

switch invalid C++ reserved word

Marriam valid

int invalid C++ reserved word

3taq invalid Starts with numeral

unsigned invalid C++ reserved word

x-y invalidSpecial character is not allowed

Taq Ahd invalid Space is not allowed

3/26/2015 30

Page 31: Cs211 module 1_2015

Each variable (we define) is specified by the data types of

the data stored in it

Each variable is Declared by its type

C++ has 5 basic data types

◦ int Integer 25, 100, 5000

◦ float Floating Point 3.4×105

◦ double double precision 3.4×105

◦ char characters almost all

◦ bool Boolean logic type variables

3/26/2015 31

Page 32: Cs211 module 1_2015

The ‗int‘ Data Type

Represents the integer type data

Integer is a whole number!

i.e. without fraction or decimal◦ 601, 250, -6, 501

The range depends the computer system being used◦ In MS-DOS range is -32768 to 32767

Range can be changed by using following qualifiers◦ short int

◦ long int

◦ unsigned int

3/26/2015 32

Page 33: Cs211 module 1_2015

The ‗float‘ Data Type

Represents real or floating type data

Real, decimal or exponential notation

Float, signed or unsigned

3/26/2015 33

Page 34: Cs211 module 1_2015

The ‗double‘ Data Type

Represents real or floating type data

Twice the storage capacity than ‗float data type‘

Long double Data type

3/26/2015 34

Page 35: Cs211 module 1_2015

The ‗char‘ Data Type

char stands for character

Used to declare character type variables

Variables, alphabetic characters, numeric digits and

special characters can be stored

Twice the storage capacity than ‗float data type‘

Long double Data type

3/26/2015 35

Page 36: Cs211 module 1_2015

Declaration of Variables

Assigning the name a variable can hold

◦ Zohaib, sum, addition, x, xyz etc

Assigning the data type a variable can hold

◦ int, float etc

Example

◦ int a;

◦ int abc, xyz, d, s;

Can be more than one variables but separated by a

comma (if of same data type)

3/26/2015 36

Page 37: Cs211 module 1_2015

Declaration of Variables

If not, written in each individual line where each

statement is ended with a ‗;‘

Syntax

◦ type list of variables

Example

int a, xy;

Float b;

Char nm [15]

double sum;

3/26/2015 37

Page 38: Cs211 module 1_2015

Initialization of Variables

Before we declared a variable

Declared variable gets a memory location assigned to it

that specifies it has a place in memory on the computer

Now a value to the variable must also be assigned or

defined

A known value is assigned to it

◦ int a = 110

The statement can be written as

◦ int a = 110, b = 60, c;

3/26/2015 38

Page 39: Cs211 module 1_2015

Example 1-03

#include<iostream.h>

using namespace std;

int main ( )

{

int abc = 4, b = 1997;

float xy = 3.4;

char name[15] = ―Marriam Ahmed‖;

cout <<name<<endl;

cout<<abc<<endl;

cout<<b<<endl;

cout<<xy<<endl;

return 0;

}

3/26/2015 39

Page 40: Cs211 module 1_2015

Example 1-03 (output)

3/26/2015 40

Page 41: Cs211 module 1_2015

Constants

A value that cannot be changed during execution of a

program

◦ int a = 44

Four types of constants in C++

◦ Integer constants

◦ Floating point constants

◦ Character constants

◦ String constants

3/26/2015 41

Page 42: Cs211 module 1_2015

Constants

Integer constants

Numerical value without a decimal part

+ can also be used with it

Integer constants are used in expressions for calculations

◦ int a = 44, b = 55;

sum = a+b;

cout<<sum<<endl;

3/26/2015 42

Page 43: Cs211 module 1_2015

Constants

Floating-point contant

Numeric values having both integer and decimal part

Can also be written in exponential notation

In exponential notation, can be written as

◦ 123.5E2

◦ Where E represents the exponent

both the constant and the E notation can be +

3/26/2015 43

Page 44: Cs211 module 1_2015

Example 1-04

#include<iostream>

int main ( )

{

int r;

const float p = 3.14;

float peri;

r = 2;

peri = 2*p*r;

cout<<―Result is = ―<<peri;

return 0;

}

3/26/2015 44

Page 45: Cs211 module 1_2015

Example 1-04 (output)

3/26/2015 45

Page 46: Cs211 module 1_2015

The ―define‖ Directive

It is a preprocessor directive, used at the beginning of the program

Used to define a constant quantity

Syntax ◦ #define identifier constant

◦ #define p 3.14

Value defined is ‗p‘, where 3.14 is the constant assigned to ‗p‘

3.14 remains same throughout the program

‗p‘ can not be used again in the program to define other

3/26/2015 46

Page 47: Cs211 module 1_2015

The ―define‖ Directive

Identifier does not have any data type but any data type

can be assigned to it

3/26/2015 47

Page 48: Cs211 module 1_2015

Example 1-05

#include <iostream>

#define p 3.14

int main ( )

{

int r;

float peri;

r = 2;

peri = 2*p*r;

cout<<―Result is = ―<<peri;

return 0;

}

3/26/2015 48

Page 49: Cs211 module 1_2015

Example 1-05 (output)

3/26/2015 49

Page 50: Cs211 module 1_2015

Arithmetic Operators

Symbols that represent arithmetic operations

Used in arithmetic expressions

Following are the arithmetic operators in C++

Operators Meaning

+ Addition

- Subtraction

* Multiplication

/ Division

% For remainder

3/26/2015 50

Page 51: Cs211 module 1_2015

Example 1-06

#include <iostream.h> \\redundant lines will be excluded

using namespace std;

int main ( )

{

int d, p, s, m, r;

p = 5+2;

s = 5-2;

m = 5*2;

d = 5/2;

r = 5%2;

cout<<―Addition of 5 & 2 is =―<<p<<endl;

cout<<―Subtraction of 5 & 2 is =―<<s<<endl;

cout<<―multiplication of 5 & 2 is =―<<m<<endl;

cout<<―division of 5&2 is =―<<d<endl;

cout<<―remainder of 5/2 is =―<<r<<endl; }

3/26/2015 51

Page 52: Cs211 module 1_2015

Example 1-06 (output)

3/26/2015 52

Page 53: Cs211 module 1_2015

Arithmetic Expression

It is a combination of variables, constants and arithmetic

operators

◦ p = m*x+100 where m=10 and x=5

Used to calculate value of an arithmetic formula

Returns a single value after evaluation

Here ‗=‗ is called the assignment operator

After evaluation the resultant variable is called the

―receiving variable‖

◦ res = m*x+100

3/26/2015 53

Page 54: Cs211 module 1_2015

Order of Precedence of Operation

It is the order in which the expression is evaluated

C++ only performs one operation at a time

Following is the order of precedence

◦ All multiplications and divisions are performed first from left to

right

◦ All additions and subtractions are then performed left to right

◦ If parenthesis are used in an expression, the expressions within

parentheses are first computed from left to right

◦ When parentheses are used within parentheses, the expression

within innermost parentheses is evaluated first

3/26/2015 54

Page 55: Cs211 module 1_2015

Order of Precedence of Operation

Example (4-(3*5))+2 is evaluated as follows

First?

Solution

◦ (3*5) is computed and returns value of 15.

◦ 4-15 is computed and returns value of -11

◦ -11+2 is computed and returns the value of -9

3/26/2015 55

Page 56: Cs211 module 1_2015

Statements used to get some data and assign to variables

are input statements

◦ Int a=10, b=510

Statements used to receive data from computer memory

and send to output devices (monitor) are output

statements

◦ cout<<―your total GPA is = ―<<m<<endl;

3/26/2015 56

Page 57: Cs211 module 1_2015

The ‗cout‘ object –Output Stream

The flow of data from-and-to a device is called a stream

‗cout‘ (see-out) stands for console out

Here the console out is the display screen (monitor)

‗cout‘ is used as an output statement and is part of

iostream header file

Example

◦ cout<<―One kilobyte = ―<<1024<<―bytes‖;

There are two string constants, one numeric constants

and three put to operators

3/26/2015 57

Page 58: Cs211 module 1_2015

Example 1-07

#include <iostream.h>

using namespace std;

int main ( )

{

cout<<―one kilobyte = ―<<1024<<―bytes‖;

return 0;

}

3/26/2015 58

Page 59: Cs211 module 1_2015

Example 1-07 (output)

3/26/2015 59

Page 60: Cs211 module 1_2015

Example 1-08

#include <iostream>

#include <conio> \\used for functions such as

clearing the screen

int main ( )

{

clrscr ( )

cout<<―C++is a powerful programming language‖;

cout<<―UNIX operating system is written in C++‖;

cout<<―it is an easy to learn language‖;

return 0;

}

3/26/2015 60

Page 61: Cs211 module 1_2015

Example 1-08 (output)

3/26/2015 61

Page 62: Cs211 module 1_2015

Example 1-09

#include <iostream>

int main ( )

{

cout<<―I ‖<<―LOVE ‖<<―PAKISTAN‖ ;

}

3/26/2015 62

Page 63: Cs211 module 1_2015

Example 1-09 (output)

3/26/2015 63

Page 64: Cs211 module 1_2015

The Escape Sequence

‗endl‘ is similar to an escape sequence

Do you remember what it did?

These are special non-printing characters

Used to control printing on the output device

Combination of ‗\‘ and a code character

For example, \n is an escape sequence which is used to transfer the printing control to a new line

Used inside a string constant or independently

In single or double quotes

3/26/2015 64

Page 65: Cs211 module 1_2015

The Escape Sequence

Can be used anywhere in the output stream

for example

◦ cout<<―I Love Pakistan\n‖;

◦ cout<<―I \n Love \n Pakistan‖;

3/26/2015 65

Page 66: Cs211 module 1_2015

The Escape Sequence

Escape Sequence Explaination

\a sounds an alert or alarm

\bbackspace, print sequnce moves a space back

cout<<"Pakistan\b";

cout<<"Punjab";

the ouptput will be

PakistaPunjab

3/26/2015 66

Page 67: Cs211 module 1_2015

The ―endl‖ Manipulator

Is an important and most common used manipulator

These are the operators used with put to (<<) operators

Stands for end of line

Has the same effect as ―\n‖

For example

◦ cout<<―C++ \n‖<<―programming \n‖<<―language‖;

Is equivalent to

◦ Cout<<―C++ ―<<endl<<―programming ―<<endl<<―language‖;

3/26/2015 67

Page 68: Cs211 module 1_2015

Example 1-10

#include <iostream>

int main ( )

{

cout<<―I am a ‖<<endl<<―Pakistani‖ ;

return 0;

}

3/26/2015 68

Page 69: Cs211 module 1_2015

Example 1-10

3/26/2015 69

Page 70: Cs211 module 1_2015

The ―setw‖ Manipulator

Stands for set width

Used to set width of the output on the output on the

screen

The output is left-justified

Syntax

◦ setw(n) \\where n is the specified width and is an integer

For example

◦ cout<<setw(10)<<―Pakistan‖<<setw(15)<<―Islamabad‖;

Is a part of ―iomanip.h‖ header file

3/26/2015 70

Page 71: Cs211 module 1_2015

Result

3/26/2015 71

Page 72: Cs211 module 1_2015

Example 1-11

#include <iostream>

#include<iomanip>

int main ( )

{

cout<<setw(5)<<62<<setw(5)<<8<<endl;

cout<<setw(5)<<100<<setw(5)<<77<<endl;

cout<<setw(5)<<5<<setw(5)<<162<<endl;

return 0;

}

3/26/2015 72

Page 73: Cs211 module 1_2015

Example 1-11

3/26/2015 73

Page 74: Cs211 module 1_2015

Example 1-12 (Assignment Statement)

#include <iostream.h>

int main ( )

{

int a, b, c;

a=200;

b=100;

c=a

a=b

b=c

cout<<―value of a = ―<<a<<endl;

cout<<―value of b = ―<<b<<endl;

}

3/26/2015 74

Page 75: Cs211 module 1_2015

Example 1-12

3/26/2015 75

Page 76: Cs211 module 1_2015

Example 1-13

#include <iostream>

int main ( )

{

int year, month;

year = 20;

month = year*12;

cout<<―years = ―<<year<<endl;

cout<<―months = ―<<month<<endl;

return 0;

}

3/26/2015 76

Page 77: Cs211 module 1_2015

Example 1-13

3/26/2015 77

Page 78: Cs211 module 1_2015

The ―cin‖ Object— Input Stream

‗cin‘ (see-in) stands for console input

This is an input stream

It is a part of iostream header file

It requires you to input from your keyboard during the execution of a program

Value is input and press Enter to input the value

Syntax

cin>>var1[>>var2….]; \\ >> is an extraction operator or get from operator

Usually a separate statement is used for each variable

For example ◦ cin>>a>>b>>c; and press Enter to for typing each data

3/26/2015 78

Page 79: Cs211 module 1_2015

Example 1-14

#include <iostream.h>

int main ( )

{

int n1, n2, s, p;

cout<<―Enter the first number ? ―;

cin>>n1;

cout<<―Enter the second number ? ―;

cin>>n2;

s=n1+n2;

p=n1*n2

cout<<―Sum of numbers = ―<<s<<endl;

cout<<―Product of numbers = ―<<p<<endl;

}

3/26/2015 79

Page 80: Cs211 module 1_2015

Example 1-14

3/26/2015 80

Page 81: Cs211 module 1_2015

Example 1-15

#include <iostream>

{

int age;

long int age_mon;

char name[50];

cout<<―Enter the name of the person ―;

cin>>name;

cout<<―Enter the age of person in years ―;

cin>>age;

age_mon = age*12;

cout<<―Name of the person = ―<<name<<endl;

cout<<―Age in months = ―<<age_mon<<endl;

}

3/26/2015 81

Page 82: Cs211 module 1_2015

Example 1-15

3/26/2015 82

Page 83: Cs211 module 1_2015

Example 1-16

float avg;

char name[20];

int total, cpp, os, edp;

cout<<―Enter the name of the student ―;

cin>>name;

cout<<―Enter the marks obtained in C++―;

cin>>cpp;

cout<<―Enter the marks obtained in Operating Systems―;

cin>>os;

cout<<―Enter the marks obtained in EDP―;

cin>>edp;

total = cpp+os+edp;

avg = total/3.0;

cout<<―Name of the student = ―<<name<<endl;

cout<<―Total Marks = ―<<total<<endl;

cout<<―Average Marks = ―<<avg<<endl;

3/26/2015 83

Page 84: Cs211 module 1_2015

Example 1-16

3/26/2015 84

Page 85: Cs211 module 1_2015

Example 1-17

{

float c, f;

cout << "Enter the temperature in Fahrenheit? ";

cin>>f;

c=(f-32)*5.0/9.0;

cout<<"The temperature in Celsius is = "<<c<<endl;

return 0;

}

3/26/2015 85

Page 86: Cs211 module 1_2015

Example 1-17

3/26/2015 86

Page 87: Cs211 module 1_2015

Example 1-18

{

float r,h,v;

cout << "Enter the radius of the cylinder = ";

cin>>r;

cout << "Enter the height of the cylinder = ";

cin>>h;

v=3.14*r*r*h;

cout<<"The volume of the cylinder is = "<<v;

return 0;

}

3/26/2015 87

Page 88: Cs211 module 1_2015

Example 1-18

3/26/2015 88

Page 89: Cs211 module 1_2015

Compound Assignment Statement

We have previously used simple statements, to assign

values to a variable

Like

◦ m=x*100+50

◦ v=p*r*r*h

The same assignment statements can be used to assign

one value to more than one variable.

E.g.

◦ x = y = 16;

3/26/2015 89

Page 90: Cs211 module 1_2015

Example 1-19

{

int x, y, a, b, c, s;

x = y = a = b = c = 515;

s = x+y+a+b+c;

cout << "the sum is = " <<s<< endl;

return 0;

}

3/26/2015 90

Page 91: Cs211 module 1_2015

Example 1-19

3/26/2015 91

Page 92: Cs211 module 1_2015

Compound Assignment Expression

Is used to add, subtract, multiply etc a value to or from a variable ◦ Without writing on either side of op ‗=‗

The arithmetic operator is combined with the assignment operator (=)

Syntax◦ var op = expression

xy = xy + 10;◦ Here 10 is added to the variable xy

◦ Where xy already has some value

3/26/2015 92

Page 93: Cs211 module 1_2015

Compound Assignment Expression

Which can also be written as

xy + = 10;

Similarly x += 9; is the same as?

◦ x = x + 9;

x -=9; is the same as?

◦ x = x – 9;

3/26/2015 93

Page 94: Cs211 module 1_2015

Example 1-20

{

int a,b,c;

a=3;

b=6;

c=9;

c*=(a+b); // c = c * (a+b)

cout << "Result is = " <<c<< endl;

return 0;

}

3/26/2015 94

Page 95: Cs211 module 1_2015

Example 1-20 (cout)

3/26/2015 95

Page 96: Cs211 module 1_2015

The Comment Statement

Used to show comment on the coding statements in a

program

Used to explain the logic of the program

It is a non-executable statement

◦ // This is a my first program in C++

◦ // Java language is similar to C++

Can be given in any line of the program

e.g.

◦ sum=a+b //used to take sum of two variables

3/26/2015 96

Page 97: Cs211 module 1_2015

Example 1-21

{

// declare the variables

int a,c; //a&c are variable names

a=10; //value 10 is assigned to a

c=a*a*a; //assignment statement to calculate cube

/* next statement is the output statement to

print the cube of 10 */

cout << "cube of "<<a <<" = "<<c<< endl;

// this is the end of the program

return 0;

}

3/26/2015 97

Page 98: Cs211 module 1_2015

Example 1-21 (cout)

3/26/2015 98