Skip to main content

Chapter 5 FUNCTIONS



User-defined Functions

All C++ programs must contain at least one function, which is the main( ).
Functions must be assigned a name. Similar to variables, each function is given a valid identifier name.
A function name must be followed by parentheses( ).
The characteristics of user-defined functions are:
1. A function name must be unique
2. A function performs a specific task
3. A function is independent
4. A function may receive and return values to        the calling function

Function Element

Function prototype/declaration

Function definition

Function call

Function Declaration/Prototype

To make programs more readable, C++ programmers usually insert functions after the main function.
If the function is placed after the main function, the function declaration, also known as function prototype, is required and should be placed on top of the program above the main function.
Similar to declaring variables, the purpose of prototyping or declaring functions is to notify the compiler on the existence of the function, thus memory will be allocated to store the function.

If a function definition is placed below the function main and is not prototyped, an error will occur.
A function prototype can be written according to the following form:
function_type function_name (parameter list);
function_type is any data type such as int, double, float, char or void
function_name is any identifier name as the name must follow the rules in naming identifiers.
parameter list is any data type which belongs to variables or constants that is passed to the function.
Similar to statements, a function declaration/prototype must end with a semicolon(;).

Function Definition

A function is a sub program which can perform specific tasks.
Function definition will not be used if it is not called by the function call.
To write a function definition, below is the correct form:
function_type function_name (formal parameter list)
{
function_body
}

function type is any data type such as int, double, float, char or void.
function_name is any identifier name as the name must follow the rules in naming identifiers
parameter list is any data type and identifier name that is being passed to the function

A parameter list in a function definition is known as formal parameter list.
If there is more than one parameter list, separate them with commas (,).
function_body is enclosed in braces and composed of executable statements such as input, process and output.
A function definition which starts with the function type int, double, float and char must return its value to the function call, whereas if it starts with function type void, the function does not have to return a value.

Function Call

All function definitions must be called so that they can be useful.
A function definition which is not called does not have the ability to perform its task.
A function definition in a program can be called by any other functions including the main function.
When calling a function, follow the form below:
function_name (actual parameter list);
function_name is any identifier name as the name must follow the rules in naming identifiers.
parameter list is any identifier name or value that is being passed to the function.
A parameter list in a function call is known as an actual parameter list. If there is more than one parameter list, separate them with commas (,).


Types of Variable and Their Scope

Function with Return Statement

A function which type is int, char, double or float must return values to the function call.
A function can only return one value at a time.
The syntax to return a value is:
return expression;
an expression can be in the form of values that match with their type of identifiers.

Function without Return Statement (cont.)

A function which starts with the word void in front does not have to return a value to the function call.
However, this function can have the word return in it but the purpose is only to stop function execution and does not return any value.
Any statement after return will not be executed.

Parameter Passing

If a global variable is not used in a program, the variable needs to be declared as a local variable.
Parameter passing must be done to pass the variables to the function.
In parameter passing, the parameter data type needs to be written in the parameter list in the function declaration/prototype and it needs to be declared in the function definition.
However, in the function call, the parameter which passed the parameter to the function definition must only pass the value or identifier name.

Three important things about parameters:
The number of actual parameters and formal parameters must both be the same in the function call and function definition.
The relationship between the actual parameter and formal parameter is one-to-one. First, the actual parameter must be the same with the first formal parameter.
The data type for every actual parameter must the same as the formal parameter or type that can be changed by the compiler.

Conclusion

Functions can divide problems into sub-problems.
In order to develop programs using functions, the three function elements needed to be identified are function prototype/declaration, function call and function definition.
Writing programs using functions provide many advantages as functions can break a program into smaller items which will be easier for the programmer to code, test and debug.
Each of the functions is reusable where the function can be called many times.
Repeating code in a program can be avoided.

Comments

Popular posts from this blog

BT-BASIC commands used

8.10     Some of the most frequently used BT-BASIC commands used are: msi                               Changes default working directory. Mass storage is            Same as “msi” cat                               Catalogs (list)the node names in the specified directory.             get                               Brings the contents of a file into the system workspace.        ...

Perhitungan & Cara Merubah Kumparan Blender Dari 220 V Menjadi 12 V

          Seperti yang telah dijelaskan pada buku “menggulung motor listrik arus bolak-balik, servis peralatan listrik rumah tangga kelompok penggerak dan perbaikan peralatan listrik pertukangan”, bahwa motor penggerak yang digunakan pada perlatan listrik rumah tangga dan pertukangan seperti blender, mixer, bor tembak, gerinda dsb menggunakan jenis motor universal. Motor universal adalah jenis motor listrik yang dapat disuplai dengan sumber listrik arus bolak-balik (AC) dan arus searah (DC). Jadi peralatan-peralatan listrik rumah tangga dan pertukangan tersebut yang biasanya kita suplai dengan sumber listrik AC dari PLN atau Genset sebesar 220 V sebenarnya dapat juga kita suplai dengan sumber listrik DC yang tentunya tegangan juga harus sama yakni 220 V.           Yang menjadi permasalahan bagaimana kalau peralatan listrik rumah tangga atau pertukangan tersebut, sebagai contoh misalkan blender yang ingin digunakan atau dioper...

BT-BASIC command line

8.8       At the BT-BASIC command line type the command  msi  and the directory path, then press the “ENTER” key on the keyboard.  Example:                   msi ‘/hp3070/boards/aspect/main’ 8.9       At the BT-BASIC command line type the command  get ‘testplan’ and press the   ENTER” key on the keyboard.  You should now see the body of the testplan file displayed in the work space of the BT-BASIC window. 8.10     Some of the most frequently used BT-BASIC commands used are:

Autodesk SketchBook Pro 2021 Full Version

BAGAS31 – Sesuai dengan namanya, Autodesk SketchBook Pro 2021 Full Version ini merupakan software digital sketching atau drawing terbaik yang bisa kamu gunakan. Pada versi terbaru kali ini, ada beberapa penambahan fitur yang sangat efektif. Dengan fitur baru tersebut, diharapkan mampu meningkatkan proses sketching maupun drawing kamu. Autodesk SketchBook sendiri sudah bisa kamu dapatkan secara gratis melalui website resminya. Namun untuk kamu yang mau download versi Autodesk Sketchbook Pro, maka bisa langsung download melalui link yang sudah saya sediakan di bawah ini. Download Autodesk SketchBook Pro 2021 Full Version Screenshot: System Requirements: Windows 10 2.5 – 2.9 GHz of Intel or AMD CPU 4 GB of Memory 256 MB Graphics card with OpenGL 2.0 support We recommend that you use a pressure-sensitive tablet and pen for basic features Download: Autodesk SketchBook Pro 2021 Full Version [ FileUp ][ Uptobox ][ UsersDrive ] Jamu Only [ File...

Testhead

4.3         Testhead The testhead is that portion of the tester that supports the PIN, ASRU and Controller cards.   The testhead is divided into two BANKS and each BANK is divided into two MODULES, see figure 2 below.  Bank 1 contains modules 0 and 1, bank 2 contains modules 2 and 3.  The test fixtures are placed on the banks of the tester and locked down for board testing.  The testhead cards interface to the test fixture through the spring loaded pogo pin “nails” at the top edge on each of these card types. 4.4       Support Bay The support bay is a stand-alone cabinet that houses the power supplies for the Unit Under Test.  This bay also houses the test station power distribution unit and test station controller on earlier models. 4.5       Emergency Shutdown Switch The emergency shutdown switch is the large red button located at the lower left corne...

Kelebihan dan Kekurangan Saluran Listrik Jenis Saluran Udara dan Saluran Bawah Tanah

Berdasarkan pemasangannya,   saluran distribusi dibagi menjadi dua kategori, yaitu : saluran udara (overhead line) merupakan sistem penyaluran tenaga listrik melalui kawat penghantar yang ditompang pada tiang listrik. Sedangkan saluran bawah tanah (underground cable) merupakan sistem penyaluran tenaga listrik melalui kabel-kabel yang ditanamkan di dalam tanah. 1.    Saluran Bawah Tanah (Underground Lines) Saluran distribusi yang menyalurkan energi listrik melalui kabel yang ditanam didalam tanah. Kategori saluran distribusi seperti ini adalah yang favorite untuk pemasangan di dalam kota, karena berada didalam tanah, maka tidak mengganggu keindahan kota dan juga tidak mudah terjadi gangguan akibat kondisi cuaca atau kondisi alam. Namun juga memilik kekurangan, yaitu mahalnya biaya investasi dan sulitnya menentukan titik gangguan dan perbaikannya. Kedua cara penyaluran memiliki keuntungan dan kerugian masing-masing. Keuntungan yang dapat diperoleh dari suatu jaringan bawah...