Skip to main content

Function and Recursive

Function

So, program is divided into modules. The modules in C programming language are execute using function. Function is a group of sentence that does a specific job.
Function in C usually written above the int main()

The benefit of using Function :

1. A huge program can be divide into smaller modules.
2. Easier to fix if there is a problem.
3. Easier to document

Function Construction :

return_type_value function_name parameter-list )
{
   statement;
}

return-value-typedata type of the value returned, 
  • If not filled, then default data type will be used (integer)
  • If return-value-type is void then the function will not return value
Parameter-list: list of value sent from the function initiator (user)

example : 
int maximum (int a,int b )
   {
     statement 
   }
int : return value type of integer
int a, int b : the parameter input by user
statement : all the task that function needs to do

Passing Parameter : If a module is not self sufficed then needed data/value and its result passes in and out using parameter(s)

Sending parameter can be by two ways :
   1. by value, is when you sent the value to the other module
   2. by location / reference, is by using array one dimension or two dimension

--------------------------------------------------------------------------------

Recursive


Is a function call, inside a certain function calling itself. And also recursive can be combined with function. 
Example : 
1. A recursive function to find a factorial n.
2. A recursive function to find a Fibonacci sequence 

When Making A Recursive, Recursive Function has two components :

- Base Case :  return value(constant) without calling next recursive call.
- Reduction step : sequence of input value converging to the base case.


Example
(Factorial function)
Base case : n = 0
Reduction step: f(n) = n * f(n-1)

The Bad Thing About using Recursive

- More memory consumption. 
- Takes longer time, should traverse through all recursive call using stack

Generally, use recursive solution if:

- Difficult to solve iteratively.
- Efficiency is less important in comparison with readability
- Memory efficiency and execution time are not the main concern. ( Consider carefully speed and efficiency using iterative approach, rather than nice logical design using recursive )




Comments

Popular posts from this blog

Cloud Storage

Cloud Computing atau nama lainnya adalah Komputasi Awan adalah teknologi yang menjadikan internet sebagai tempat penyimpanan database, aplikasi dan masih banyak lagi. Layanan Cloud Computing 1. Software as a Service (SaaS) Layanan pemakaian teknologi mengenai pemakaian software yang telah disediakan contohnya : gmail, outlook mail 2. Platform as a Service (PaaS) Cloud Computing dapat menyewakan sistem operasi, database engine, framework aplikasi untuk menjalankan aplikasi yang kita buat. Contohnya : windows azure  3. Infrastructure as a Service (IaaS) Cloud Service dapat memberikan layanan infrastruktur IT. Contohnya CPU, penyimpanan data, memory dan lainnya dapat disewa.  Cloud Deployment Model Deployment model define the type of access to the cloud. Type of access : 1. Private cloud       - Single organization only       - Managed by the org or a 3rd party       - On ...

File Processing

File and Streams Streams, definition : To keep data from the keyboard saved at secondary storage such as a data file.  Streams is a sequence of character. File, When a C program run, there are 3 standard stream activated. 1. Standard Input Stream, controlling input stream from keyboard 2. Standard Output Stream, controlling output stream into the monitor 3. Standard Error Stream, controlling the error messaging All of these streams associated with a file. File Definition :  File is a collection of record Record is a collection of field Field is a block of byte Byte is a collection of bit File Operation, in C we perform 4 major operations on the file :  1. Creating a new file  Make a new text file to keep our data saved there 2. Opening an existing file When opening the file that has our data in it, we use,  The syntax for opening a file in standard I/O is: fptr = fopen("fileopen.txt","mode"); Mode is a feature that allow us...

Summary Semester 1

Assignment #1  1. Compound Word Jojo has just learned about compound words, which occurs when two or more words are joined to make one longer word. For example the English word footpath, composed of two words "foot" and "path". She wants you to make one such word, given two words that make up the compound word. 2. Birthday Cinema * Jojo, Lili, and Bibi wants to treat their N friends. They want to treat their N friends to watch a movie. Each movie ticket cost 1 point. Luckily there is a promo, if you buy 2 tickets you get 1 for free. How many points do they need to spend to buy tickets for all of them. 3. Counting Number Lili has just learned how to count from 1 to n, while Jojo just recently learned how to use a calculator. When Lili counts from 1 to n, Jojo always adds the numbers that Lili mentions. Jojo asked for your help to check if he used the calculator correctly, he needs you to calculate the number he is supposed to get. 4. Boom...