42
Lecture – 15 & 16 Computer Programming 14 Computer Systems Engineering – Second Semester By: Mr. Ali Asghar Manjotho, Lecturer, CSE-MUET

Computer programming lecture – 15 & 16

Embed Size (px)

Citation preview

Lecture – 15 & 16Computer Programming

14 Computer Systems Engineering – Second Semester

By: Mr. Ali Asghar Manjotho, Lecturer, CSE-MUET

Contents

• How C++ program works (LL 04)

• Data types in C++ (LL 04)

• Variables in C++ (LL 04)

• Variable declaration in C++ (LL 04)

• Variable definition in C++ (LL 04)

• Constants in C++ (LL 04)

• Variable as memory locations (LL 04)

• Inputting with cin statement (LL 02)

• Problem Examples (LL 04)

LL 02 = Learning Level 02 – Comprehension, LL 04 = Learning Level 04 – Analysis

Ali Asghar Manjotho, Lecturer CSE-MUET 2

How C++ program works?

Ali Asghar Manjotho, Lecturer CSE-MUET 3

• Step 01: Write source code• Source code (.cpp), Header files (.h)Editor or IDE

• Step 02: Preprocessor directives• #include, #definePreprocessor

• Step 03: Compile the code• Object Codes (.obj, .o)Compiler

• Step 04: Link Edit• Static Libraries (.lib, .a)Linker

• Step 05: Load program in to memory• Shared Libraries (.dll, .so)Loader

• Step 06: Execute the program• Run program

CPU

Build

Run

How C++ program works?

• First you will write source code in any of the text editor or IDE (e.g. Code::Blocks, Dev C++)

• After that all the preprocessor directives will be executed by the preprocessor (e.g. #include, #define)

• Then the compiler will compile the source code and will generate object code that will be stored in the file with extension .obj or .o

• The linker then links all the object files with the static libraries. It can also link multiple object files with each other as well and produce one executable file.

Ali Asghar Manjotho, Lecturer CSE-MUET 4

How C++ program works?

• Then the loader loads the executable file in to the memory and makes it ready to be executed.

• Finally the CPU executes all the instruction of the program loaded in to the memory.

• Once program is executed, you will input the data and program gives you the desired output.

Ali Asghar Manjotho, Lecturer CSE-MUET 5

Data Types in C++Data Type Memory Range Start Range End

char 1 Byte -128 127

unsigned char 1 Byte 0 255

short 2 Bytes -32,768 32,767

unsigned short 2 Bytes 0 65,535

int 4 Bytes -2,147,483,648 2,147,483,647

unsigned int 4 Bytes 0 4,294,967,295

long 8 Bytes -9,223,372,036,854,775,807 9,223,372,036,854,775,807

unsigned long 8 Bytes 0 18,446,744,073,709,551,615

float 4 Bytes 3.4 × 10−38 3.4 × 1038

double 8 Bytes 1.7 × 10−308 1.7 × 10308

bool 1 Byte true and false

Ali Asghar Manjotho, Lecturer CSE-MUET 6

Variables in C++

• Variables are used to stored the data temporarily.

• A variable is a named piece of memory location.

• A single variable can store single value at a time.

• The value of the variable is changeable.

In order to create a variable we need to specify three things:

Name

Data Type

Value (optional)

Ali Asghar Manjotho, Lecturer CSE-MUET 7

Variables in C++

• The name of the variable is called as the identifier.

• The data type of the variable specifies the type of the value which will be stored in it.

• The value is the actual content which will be stored in it. It is optional because some time we know the exact value which will be stored, sometimes we do not know.

Ali Asghar Manjotho, Lecturer CSE-MUET 8

Creating Variables in C++

• There are two ways to create a variable:

Ali Asghar Manjotho, Lecturer CSE-MUET 9

Variable Declaration in C++

• A variable is declared when we do not know the value to be stored in it.

• To declare the variable, we need to specify two things: name and data type.

data_type variable_name;

Ali Asghar Manjotho, Lecturer CSE-MUET 10

Variable Declaration in C++

float radius;

Ali Asghar Manjotho, Lecturer CSE-MUET 11

radius

Variable Declaration in C++

char v1 ;

unsigned char v2 ;

short v3 ;

unsigned short v4 ;

int v5 ;

unsigned int v6 ;

long v7 ;

unsigned long v8 ;

float v9 ;

double v10 ;

bool v11 ;

Ali Asghar Manjotho, Lecturer CSE-MUET 12

Variable Definition in C++

• A variable is defined when we know the exact value to be stored in it.

• To define the variable, we need to specify three things: name, data type and value.

data_type variable_name = value;

Ali Asghar Manjotho, Lecturer CSE-MUET 13

Variable Definition in C++

float radius = 56.214F;

Ali Asghar Manjotho, Lecturer CSE-MUET 14

56.214

radius

Variable Definition in C++

char v1 = ‘w’ ;

unsigned char v2 = ‘w’ ;

short v3 = -24 ;

unsigned short v4 = 64 ;

int v5 = 5847 ;

unsigned int v6 = 8552U ;

long v7 = 25486655L ;

unsigned long v8 = 58622455UL ;

float v9 = 25.4856F ;

double v10 = 5685.2154785 ;

bool v11 = true ;

Ali Asghar Manjotho, Lecturer CSE-MUET 15

Constants in C++• A constant is a variable whose value can not be altered during the execution of the

program.

• A constant is given a single value at the time of creation and it will hold that value till the entire execution of the program.

• In C++, a variable is declared as constant by just prefixing the variable definition statement with the keyword const.

const data_type variable_name = constant_value;

const float PI = 3.1415F ;

const int MAX = 100 ;

Ali Asghar Manjotho, Lecturer CSE-MUET 16

Variables as Memory Locations

• A variable is defined as a named piece of memory location.

• When we create a variable, some bytes of memory are reserved according to the data type, and are given a name of the variable.

• Entire memory is divided in to pieces of 1 byte and each of the byte has address defined in hexadecimal number.

Ali Asghar Manjotho, Lecturer CSE-MUET 17

MEMORY

2000H

2001H

num

26

2002H

2003H

2004H

2005H

2006H

int num = 26 ;

Variables as Memory Locations

• Consider following empty memory map:

• Execute the following variable definition statements:

Ali Asghar Manjotho, Lecturer CSE-MUET 18

MEMORY

2000H

2001H

2002H

2003H

2004H

2005H

2006H

2007H

2008H

2009H

200AH

200BH

200CH

200DH

200EH

200FH

2010H

2011H

short V1 = 69 ;

char V2 = ‘w’ ;

int V3 = 5478 ;

float V4 = 87.245F ;

Variables as Memory Locations

Ali Asghar Manjotho, Lecturer CSE-MUET 19

MEMORY

V169

2000H

2001H

2002H

2003H

2004H

2005H

2006H

2007H

2008H

2009H

200AH

200BH

200CH

200DH

200EH

200FH

2010H

2011H

short V1 = 69 ;

Variables as Memory Locations

Ali Asghar Manjotho, Lecturer CSE-MUET 20

MEMORY

V169

2000H

2001H

V2 w 2002H

2003H

2004H

2005H

2006H

2007H

2008H

2009H

200AH

200BH

200CH

200DH

200EH

200FH

2010H

2011H

char V2 = ‘w’ ;

Variables as Memory Locations

Ali Asghar Manjotho, Lecturer CSE-MUET 21

MEMORY

V169

2000H

2001H

V2 w 2002H

V3

5478

2003H

2004H

2005H

2006H

2007H

2008H

2009H

200AH

200BH

200CH

200DH

200EH

200FH

2010H

2011H

int V3 = 5478 ;

Variables as Memory Locations

Ali Asghar Manjotho, Lecturer CSE-MUET 22

MEMORY

V169

2000H

2001H

V2 w 2002H

V3

5478

2003H

2004H

2005H

2006H

V4

87.245

2007H

2008H

2009H

200AH

200BH

200CH

200DH

200EH

200FH

2010H

2011H

float V4 = 87.245F ;

Variables as Memory Locations

• Consider following memory map:

• Write down the variable definition statements for the variables created in the memory.

Ali Asghar Manjotho, Lecturer CSE-MUET 23

MEMORY

2000H

V1

69.258

2001H

2002H

2003H

2004H

2005H

2006H

V2658

2007H

2008H

2009H

200AH

V3

1453

200BH

200CH

200DH

200EH

V4 b 200FH

2010H

2011H

Variables as Memory Locations

• Consider following memory map:

• Write down the variable definition statements for the variables created in memory.

Ali Asghar Manjotho, Lecturer CSE-MUET 24

MEMORY

2000H

V1

69.258

2001H

2002H

2003H

2004H

2005H

2006H

V2658

2007H

2008H

2009H

200AH

V3

1453

200BH

200CH

200DH

200EH

V4 b 200FH

2010H

2011H

float V1 = 69.258F ;

short V2 = 658 ;

int V3 = 1453 ;

char V4 = ‘b’ ;

Variables as Memory Locations

• Execute the following variables definition statements in the same memory map:

Ali Asghar Manjotho, Lecturer CSE-MUET 25

MEMORY

2000H

V1

69.258

2001H

2002H

2003H

2004H

2005H

2006H

V2658

2007H

2008H

2009H

200AH

V3

1453

200BH

200CH

200DH

200EH

V4 b 200FH

2010H

2011H

short V5 = 985 ;

char V6 = ‘r’ ;

short V7 = 74 ;

Variables as Memory Locations

Ali Asghar Manjotho, Lecturer CSE-MUET 26

MEMORY

2000H

V1

69.258

2001H

2002H

2003H

2004H

V5985

2005H

2006H

V2658

2007H

2008H

2009H

200AH

V3

1453

200BH

200CH

200DH

200EH

V4 b 200FH

2010H

2011H

short V5 = 985 ;

Variables as Memory Locations

Ali Asghar Manjotho, Lecturer CSE-MUET 27

MEMORY

V6 r 2000H

V1

69.258

2001H

2002H

2003H

2004H

V5985

2005H

2006H

V2658

2007H

2008H

2009H

200AH

V3

1453

200BH

200CH

200DH

200EH

V4 b 200FH

2010H

2011H

char V6 = ‘r’ ;

Variables as Memory Locations

Ali Asghar Manjotho, Lecturer CSE-MUET 28

MEMORY

V6 r 2000H

V1

69.258

2001H

2002H

2003H

2004H

V5985

2005H

2006H

V2658

2007H

2008H

V774

2009H

200AH

V3

1453

200BH

200CH

200DH

200EH

V4 b 200FH

2010H

2011H

short V7 = 74 ;

Inputting with cin

Ali Asghar Manjotho, Lecturer CSE-MUET 29

cin >> radius;

Inputting with cin

• In C++, cin statement is used to get input from the keyboard.

• Cin is the Standard Console Input, which is the keyboard.

• Cin is used in conjunction with the extraction operator ( >> ).

• Anything inputted from keyboard will go to the variable to the right side of >> extraction operator.

Ali Asghar Manjotho, Lecturer CSE-MUET 30

Program ExamplesVariables and constants in C++

Ali Asghar Manjotho, Lecturer CSE-MUET 31

Program Example 01

Problem Statement:

Write a computer program in C++ that accepts the base and height of a right angle triangle from the user and displays the area of the triangle.

Ali Asghar Manjotho, Lecturer CSE-MUET 32

Ali Asghar Manjotho, Lecturer CSE-MUET 33

Program Example 01

Ali Asghar Manjotho, Lecturer CSE-MUET 34

Program Example 01

Program Example 02

Problem Statement:

A person is running in a circular ground. Write a program in C++ that asks the user to input the radius of the ground in meters and the number of rounds the person completes. The program should display the amount of distance travelled by the person in meters.

Ali Asghar Manjotho, Lecturer CSE-MUET 35

Ali Asghar Manjotho, Lecturer CSE-MUET 36

Program Example 02

Ali Asghar Manjotho, Lecturer CSE-MUET 37

Program Example 02

Ali Asghar Manjotho, Lecturer CSE-MUET 38

Program Example 02

Program Example 03

Problem Statement:

Write a program in C++ that asks the user to enter two integer numbers, stores them in variables num1 and num2 respectively. The program swaps the values of two variables with each other without using a third variable and displays the values of both the variables after swapping.

Sample output:

Input: Output:

num1 = 45 num1 = 94

num2 = 94 num2 = 45

Ali Asghar Manjotho, Lecturer CSE-MUET 39

Ali Asghar Manjotho, Lecturer CSE-MUET 40

Program Example 03

Ali Asghar Manjotho, Lecturer CSE-MUET 41

Program Example 03

Ali Asghar Manjotho, Lecturer CSE-MUET 42

Program Example 03