Lecture-10

Transcription

Lecture-10
Programming Fundamental
Instructor Name:
Lecture-10
Today’s Lecture
 Introduction – Functional Design Approach
 Functions in C++
 Functions Types
 Structure of the Function
 Declaration & Definition of Functions
 Function Prototype
 Functions Definition
 Understanding Functions with Examples
 Problem Statements for Practice
2
Introduction
Basic Programming Constructs
 The basic constructs of programming are sequence, decision making and
loops
 We have discussed all these and we are in position to write any kind of
programs
 Programs can be refined more with some other techniques and constructs
 Like other programming languages C++ also have one of major
programming construct that is known as function.
 Just consider the making of any thing that consists of different parts. You
will find that all the parts are individually constructs before finals big
product. For example a stool, table, car, bike, room , building and etc
 You will see that all these are major task but they came into existence after
completion of many other smaller tasks
3
Introduction
Divide and Conquer Strategy
 Divide and Conquer strategy s used to dive a large problem into smaller
manageable problem
 Find solution for smaller problems
 Then combine the solutions of smaller problem to get solution of your
major problem
 This concept is of Functional Design or top down designing
 Functional Design is a paradigm used to simplify the design of hardware
and software devices such as computer software .
 A functional design assures that each modular part of a device or software
has only one responsibility and performs that responsibility with the
minimum of side effects on other parts.
4
Guide lines for structured
programming
Modular
Single entry - single exit
Introduction
Functional Design Approach
6
Introduction
Functional Design Approach
7
Laboratory Stool
Constructing a laboratory Stool
Constructing a laboratory Stool
Task: Making a stool
Subtask:
Make a seat
Make legs for the stool
Assemble them
Functions in C++
What is a function?
 The functions are like subtasks. They receive some information, do some
process and provide a result.
 A function is an assignment or a task that must be performed to
complement the other part(s) of a program.
 Functions allow to structure programs in segments of code to perform
individual tasks.
 A function is a group of statements that together perform a task. Every C++
program has at least one function, which is main(), and all the most trivial
programs can define additional functions.
 you can divide up your code into separate functions. How you divide up
your code among different functions is up to you, but logically the
division usually is so each function performs a specific task.
11
What we will study today …
What are functions?
How are they declared ?
How are they defined ?
What values are passed to functions ?
What values do functions return ?
Function(Objective)
Function: A piece of code that perform a specific task
 Divide the Task into sub-Tasks
 Divide and conquer approach
 Better Understanding
 Information Hiding
 Reusability
Function
Steps involve in functions:
 Declare a function
 Define a function
 Call a function
Functions in C++
Calling Mechanism
 To call a function we just need to write the name of the function and
provides its arguments (if any)
 When a function is called we do not write its return type or type of the
arguments
 But they must be called with correct argument types
 If a function return a value then it must be assigned to variable of correct
data type (if required)
15
Functions in C++
Declarations and Definition of Functions
16
Functions in C++
Function Declaration
 A function declaration , also called the function prototype, tells the
compiler about a function name, return type, and parameters of the
function.
 It actually tells how to call the function.
 The actual body of the function can be defined separately.
 Function declaration is required when you define a function in one source
file and you call that function in another file. In such case, you should
declare the function at the top of the file calling the function.
 A function declaration has the following parts:
return_type function_name( parameter list );
 This statement is placed after #include<iostream> (and other headers) and
before main(void).
17
Functions in C++
Function Definition
 The function definition tells the compiler what task the function will be
performing.
 A function definition cannot be called unless the function is declared.
 The function prototype and the function definition must
agree EXACTLY on the return type, the name, and the parameters.
 The only difference between the function prototype and the function
header is a semicolon .
 The function definition is placed AFTER the end of
the main(void) function.
18
// Function Declaration
void pak();
void india();
main()
{
cout<<" im in main"<<endl;
// Call Function
pak();
india();
getch();
}
// Function Definition
void pak()
{
cout<<" i am in pakistan"<<endl;;
}
void india()
{
cout<<" i am in india";
}
Functions in C++
Types of function in c++
There are two categories of functions:
1. Functions that return a value
2. Functions that do not return a value
20
Functions in C++
Structure of a function
 The declaration syntax of a fun ions is as follows
return-value-type function-name( argument-list )
{
declarations and statements
}
 return-value-type: Function may or may not return a value. If a function
returns a value, that must be of a valid data type.
 This can only be one data type that means if a function returns an int data
type then it can only return int and not char or float.
 Return type of a function may be int, float, char or any other valid data
type.
 The function which do not return a value, the return type of such function
is void.
21
Functions in C++
Returning a value
 The keyword return is used to return some value from the function.
 It does two things, returns some value to the calling program and also exits
from the function. We can only return a value from a function.
Function-Name
 The same rules of variable naming conventions are applied to functions
name.
 Function name should be self-explanatory like square, squareRoot,
circleArea etc.
Argument-List
 Argument list contains the information which we pass to the function.
 Some function does not need any information to perform the task. In this
case, the argument list for such functions will be empty.
 Arguments to a function are of valid data type like int number, double
radius etc.
22
Functions in C++
Understanding Function with Example
 Lets look at example that have a function which adds two number
using namespace std;
#include <iostream>
int addition (int a, int b);
main () {
int z;
z = addition (5, 3) ;
cout << "The result is " << z;
}
int addition (int a, int b) {
int r;
r=a+b;
return r;
}
23
Functions in C++
Understanding Function with Example
 Program is divided into two functions, additions & main.
 Order of writing the main and other functions doesn’t matter, program
will always start by calling main
 Main calls the function addition with two values 5 & 3 that corresponds to
the parameter a & b as below
 From the calling point the control goes to the function addition and
execution of main stops at this point
 Function addition after execution returns result and control is transferred
back to the point from where function was called.
24
Functions in C++
Problems for Practice
 Lets discuss some problem statements and find out their solutions. You
have to practice these problems at home
1. Write a function that calculates the square of a number. Call this
function from the main
2. Write a program that has a function to calculate the integer power of
some number (Xn)
3. Write a program that has function to calculate the area of a ring.
4. Write a function that test whether a given number is even or not
25
Functions in C++
Problems for Practice
 Lets discuss some problem statements and find out their solutions. You
have to practice these problems at home
1. Write a function that calculates the square of a number. Call this
function from the main
2. Write a program that has a function to calculate the integer power of
some number (Xn)
3. Write a program that has function to calculate the area of a ring.
4. Write a function that test whether a given number is even or not
5. Find the functions that can help you in any of above problem solution
in math library.
26
27