We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 36
User-Defined Functions &
Pre Defined Function
Objectives
• Learn about standard (predefined) functions
and discover how to use them in a program • Learn about user-defined functions • Examine value-returning functions, including actual and formal parameters • Explore how to construct and use a value- returning, user-defined function in a program
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 2
Introduction • Functions are like building blocks • They allow complicated programs to be divided into manageable pieces • Some advantages of functions: − A programmer can focus on just that part of the program and construct it, debug it, and perfect it − Different people can work on different functions simultaneously − Can be re-used (even in different programs) − Enhance program readability C++ Programming: From Problem Analysis to Program Design, Fourth Edition 3 Introduction (continued)
• Functions − Called modules − Like miniature programs − Can be put together to form a larger program
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 4
Predefined Functions
• In algebra, a function is defined as a rule or
correspondence between values, called the function’s arguments, and the unique value of the function associated with the arguments − If f(x) = 2x + 5, then f(1) = 7, f(2) = 9, and f(3) = 11 • 1, 2, and 3 are arguments • 7, 9, and 11 are the corresponding values
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 5
Predefined Functions (continued)
• Some of the predefined mathematical functions
are: sqrt(x) pow(x, y) floor(x) • Predefined functions are organized into separate libraries • I/O functions are in iostream header • Math functions are in cmath header C++ Programming: From Problem Analysis to Program Design, Fourth Edition 6 Predefined Functions (continued) • pow(x,y) calculates xy − pow(2, 3) = 8.0 − Returns a value of type double − x and y are the parameters (or arguments) • The function has two parameters • sqrt(x) calculates the nonnegative square root of x, for x >= 0.0 − sqrt(2.25) is 1.5 − Type double
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 7
Predefined Functions (continued)
• The floor function floor(x) calculates
largest whole number not greater than x − floor(48.79) is 48.0 − Type double − Has only one parameter
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 8
Predefined Functions (continued)
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 9
Predefined Functions (continued)
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 10
Predefined Functions (continued)
• Example 6-1 sample run:
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 12
User-Defined Functions • Value-returning functions: have a return type − Return a value of a specific data type using the return statement • Void functions: do not have a return type − Do not use a return statement to return a value
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 13
Value-Returning Functions
• To use these functions you must:
− Include the appropriate header file in your program using the include statement − Know the following items: • Name of the function • Number of parameters, if any • Data type of each parameter • Data type of the value returned: called the type of the function
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 14
Value-Returning Functions (continued) • Because the value returned by a value- returning function is unique, we must: − Save the value for further calculation − Use the value in some calculation − Print the value • A value-returning function is used in an assignment or in an output statement • One more thing is associated with functions: − The code required to accomplish the task
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 15
Value-Returning Functions (continued)
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 16
Value-Returning Functions (continued) • Heading: first four properties above − Example: int abs(int number) • Formal Parameter: variable declared in the heading − Example: number • Actual Parameter: variable or expression listed in a call to a function − Example: x = pow(u, v)
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 17
Syntax: Value-Returning Function
• Syntax:
• functionType is also called the data type
or return type
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 18
Function Call
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 19
Syntax: Actual Parameter List
• The syntax of the actual parameter list is:
• Formal parameter list can be empty:
• A call to a value-returning function with an
empty formal parameter list is:
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 20
return Statement
• Once a value-returning function computes the
value, the function returns this value via the return statement − It passes this value outside the function via the return statement
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 21
Syntax: return Statement
• The return statement has the following
syntax:
• In C++, return is a reserved word
• When a return statement executes − Function immediately terminates − Control goes back to the caller • When a return statement executes in the function main, the program terminates C++ Programming: From Problem Analysis to Program Design, Fourth Edition 22 Function Prototype
• Function prototype: function heading without the body
of the function • Syntax:
• It is not necessary to specify the variable name in the
parameter list • The data type of each parameter must be specified
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 24
Function Prototype (continued)
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 26
Flow of Execution
• Execution always begins at the first statement
in the function main • Other functions are executed only when they are called • Function prototypes appear before any function definition − The compiler translates these first • The compiler can then correctly translate a function call C++ Programming: From Problem Analysis to Program Design, Fourth Edition 27 Flow of Execution (continued)
• A function call results in transfer of control to
the first statement in the body of the called function • After the last statement of a function is executed, control is passed back to the point immediately following the function call • A value-returning function returns a value − After executing the function the returned value replaces the function call statement
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 28
Programming Example: Largest Number • The function larger is used to determine the largest number from a set of numbers • Program determines the largest number from a set of 10 numbers • Input: a set of 10 numbers • Output: the largest of 10 numbers
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 29
Programming Example: Program Analysis • Suppose that the input data is: 15 20 7 8 28 21 43 12 35 3 • Read the first number of the data set − Because this is the only number read to this point, you may assume that it is the largest number so far and call it max • Read the second number and call it num − Compare max and num, and store the larger number into max
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 30
Programming Example: Program Analysis (continued) • Now max contains the larger of the first two numbers • Read the third number and compare it with max and store the larger number into max − max contains the largest of the first three numbers • Read the next number, compare it with max, and store the larger into max • Repeat this process for each remaining number in the data set C++ Programming: From Problem Analysis to Program Design, Fourth Edition 31 Programming Example: Algorithm Design • Read the first number − Because this is the only number that you have read, it is the largest number so far − Save it in a variable called max • For each remaining number in the list − Read the next number − Store it in a variable called num − Compare num and max
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 32
Programming Example: Algorithm Design (continued) • For each remaining number in the list (continued) − If max < num • num is the new largest number • update the value of max by copying num into max − If max >= num, discard num; that is, do nothing • Because max now contains the largest number, print it
C++ Programming: From Problem Analysis to Program Design, Fourth Edition 33
Summary
• Functions (modules) are miniature programs
− Divide a program into manageable tasks • C++ provides the standard functions • Two types of user-defined functions: value- returning functions and void functions • Variables defined in a function heading are called formal parameters • Expressions, variables, or constant values in a function call are called actual parameters C++ Programming: From Problem Analysis to Program Design, Fourth Edition 34 Summary (continued)
• In a function call, the number of actual
parameters and their types must match with the formal parameters in the order given • To call a function, use its name together with the actual parameter list • Function heading and the body of the function are called the definition of the function • If a function has no parameters, you need empty parentheses in heading and call • A value-returning function returns its value via the return statement C++ Programming: From Problem Analysis to Program Design, Fourth Edition 35 Summary (continued)
• A prototype is the function heading without
the body of the function; prototypes end with the semicolon • Prototypes are placed before every function definition, including main • User-defined functions execute only when they are called • In a call statement, specify only the actual parameters, not their data types C++ Programming: From Problem Analysis to Program Design, Fourth Edition 36
Python Advanced Programming: The Guide to Learn Python Programming. Reference with Exercises and Samples About Dynamical Programming, Multithreading, Multiprocessing, Debugging, Testing and More