Procedures and functions is a sub program that is very useful in programming, especially for large programs or projects. Benefits of using sub-programs include:
Procedures and functions is a sub program that is very useful in programming, especially for large programs or projects. Benefits of using sub-programs include:
increase readibility, which facilitate the reading program
increase modularity, that is something that big break into modules or parts that are smaller in accordance with its function, thus simplifying the checking, testing and localization errors.
enhance reusability, which is a sub-program can be used repeatedly by simply calling the sub program without writing the commands should be repeated.
Sub Recursive Program is a sub program that calls itself as long as the conditions met callings.
Given the nature of the sub is a recursive program over the sub-recursive program must have:
condition that causes him to stop calling (called the special conditions or special conditions)
calling themselves the sub program (ie if specific conditions are not met)
In general form of recursive sub-programs have a conditional statement:
if special conditions not met
then call the self-righteous with the appropriate parameters
else do the instruction to be executed when the special conditions met
Sub recursive programs are generally used for problems that have a completion step, patterned or irregular steps. If we have a problem and we know the solution algorithm, sometimes sub recursive program of choice when it allows us to use. The algorithmic (in terms of algorithms, that is, if we consider the memory usage, execution time of sub program) sub recursive programs are often inefficient.
Thus the recursive sub-programs typically have efficiencies in the writing of orders, but sometimes not efficient algorithmic. Even so many problems that are better suited solved by a recursive manner (eg in the search / searching, which will be discussed at the meetings that will come).
Examples of recursive sub-programs in the Pascal language.
A simple example
PROCEDURE TULIS_1 (many: integer; word: string);
begin
if a lot of> 1 then TULIS_1 (lot-1, word);
Writeln (word, lots: 5);
end;
OUTPUT (eg called by TULIS_1 (5, "Print to"))
Matter to 1
Matter to 2
Matter to 3
Prints to 4
Matter to 5
Compare the above procedure and its output with the procedure below!
PROCEDURE TULIS_2 (many: integer; word: string);
begin
Writeln (word, lots: 5);
if a lot of> 1 then TULIS_1 (lot-1, word);
end;
OUTPUT (eg called by TULIS_2 (5, "Print to"))
Matter to 5
Prints to 4
Matter to 3
Matter to 2
Matter to 1
Why different results?
Applied Example
Mathematically, the multiplication of two positive integers a with b (written ab or axb) is essentially a summation of a tribe as much as b, ie a + a + a + .... B + a as much interest. Eg 2 x 3 can be interpreted as 2 + 2 + 2 = 6, ie the sum of 2 of 3 tribes Given that a number when multiplied by the number 1 (one) will produce a number itself, then multiplication problems to put it in the form of summation over can be easily solved by computer.
With non-recursive
With procedure
Procedure KALI_BIASA_P (a, b: integer; var result: longint);
var i: integer;
begin
result: = 0;
for i: = 1 to b do result: = result + a;
end;
With the function
Function KALI_BIASA_F (a, b: integer): longint;
var result: longint; i: integer;
begin
result: = 0;
for i: = 1 to b do result: = result + a;
KALI_BIASA_F: = result;
end;
With Recursive
By Procedure
Procedure KALI_REK_P (a, b: integer; var result: longint)
begin
if b> 1 then KALI_REK_P (a, b-1, result);
result: = result + a;
end;
By Function
Function KALI_REK_F (a, b: integer): longint;
begin
if b> 1 then
KALI_REK_F: = KALI_REK_F (a, b-1) + a
else
KALI_REK_F: = a;
end;
Procedures and functions is a sub program that is very useful in programming, especially for large programs or projects. Benefits of using sub-programs include:
increase readibility, which facilitate the reading program
increase modularity, that is something that big break into modules or parts that are smaller in accordance with its function, thus simplifying the checking, testing and localization errors.
enhance reusability, which is a sub-program can be used repeatedly by simply calling the sub program without writing the commands should be repeated.
Sub Recursive Program is a sub program that calls itself as long as the conditions met callings.
Given the nature of the sub is a recursive program over the sub-recursive program must have:
condition that causes him to stop calling (called the special conditions or special conditions)
calling themselves the sub program (ie if specific conditions are not met)
In general form of recursive sub-programs have a conditional statement:
if special conditions not met
then call the self-righteous with the appropriate parameters
else do the instruction to be executed when the special conditions met
Sub recursive programs are generally used for problems that have a completion step, patterned or irregular steps. If we have a problem and we know the solution algorithm, sometimes sub recursive program of choice when it allows us to use. The algorithmic (in terms of algorithms, that is, if we consider the memory usage, execution time of sub program) sub recursive programs are often inefficient.
Thus the recursive sub-programs typically have efficiencies in the writing of orders, but sometimes not efficient algorithmic. Even so many problems that are better suited solved by a recursive manner (eg in the search / searching, which will be discussed at the meetings that will come).
Examples of recursive sub-programs in the Pascal language.
A simple example
PROCEDURE TULIS_1 (many: integer; word: string);
begin
if a lot of> 1 then TULIS_1 (lot-1, word);
Writeln (word, lots: 5);
end;
OUTPUT (eg called by TULIS_1 (5, "Print to"))
Matter to 1
Matter to 2
Matter to 3
Prints to 4
Matter to 5
Compare the above procedure and its output with the procedure below!
PROCEDURE TULIS_2 (many: integer; word: string);
begin
Writeln (word, lots: 5);
if a lot of> 1 then TULIS_1 (lot-1, word);
end;
OUTPUT (eg called by TULIS_2 (5, "Print to"))
Matter to 5
Prints to 4
Matter to 3
Matter to 2
Matter to 1
Why different results?
Applied Example
Mathematically, the multiplication of two positive integers a with b (written ab or axb) is essentially a summation of a tribe as much as b, ie a + a + a + .... B + a as much interest. Eg 2 x 3 can be interpreted as 2 + 2 + 2 = 6, ie the sum of 2 of 3 tribes Given that a number when multiplied by the number 1 (one) will produce a number itself, then multiplication problems to put it in the form of summation over can be easily solved by computer.
With non-recursive
With procedure
Procedure KALI_BIASA_P (a, b: integer; var result: longint);
var i: integer;
begin
result: = 0;
for i: = 1 to b do result: = result + a;
end;
With the function
Function KALI_BIASA_F (a, b: integer): longint;
var result: longint; i: integer;
begin
result: = 0;
for i: = 1 to b do result: = result + a;
KALI_BIASA_F: = result;
end;
With Recursive
By Procedure
Procedure KALI_REK_P (a, b: integer; var result: longint)
begin
if b> 1 then KALI_REK_P (a, b-1, result);
result: = result + a;
end;
By Function
Function KALI_REK_F (a, b: integer): longint;
begin
if b> 1 then
KALI_REK_F: = KALI_REK_F (a, b-1) + a
else
KALI_REK_F: = a;
end;
Tidak ada komentar:
Posting Komentar