Tampilkan postingan dengan label rekursi. Tampilkan semua postingan
Tampilkan postingan dengan label rekursi. Tampilkan semua postingan

Sabtu, 12 Desember 2009

Rekursi

Rekursi bisa melalui procedure atau function. Procedure memanggil dirinya sendiri meruakan suatu procedure yang memanggil atau menggunakan procedure itu juga. Fungsi juga dapat memanggil dirinya sendiri. Proses dari suatu program yang memenggil dirinya sendiri disebut rekursi.

Contoh:

Program Latihan_Rekursi_1;

Uses Wincrt;


Function Faktorial(a:real):real;

Begin

If (a=1)then

Faktorial:=1

else

Faktorial:=a*faktorial(a-1);

End;


Var

x:longint;

Begin

Writeln('Berapa Faktorial? ');Readln(x);

Writeln(x,' faktorial ','= ',Faktorial(x):5:0);

End.

Rabu, 09 Desember 2009

Tugas Pemrograman Komputer 1

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang rekursi.

Program Latihan_Rekursi_1;
Uses Wincrt;

Function Faktorial(a:real):real;
Begin
If (a=1)then
Faktorial:=1
else
Faktorial:=a*faktorial(a-1);
End;

Var
x:longint;
Begin
Writeln('Berapa Faktorial? ');Readln(x);
Writeln(x,' faktorial ','= ',Faktorial(x):5:0);
End.

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang rekursi.

Program Latihan_Rekursi_2;
Uses Wincrt;

Procedure Rekursi(a:integer);
Var
y:integer;
Begin
If a<10 then
Begin
Writeln('Pascal');
Writeln;
a:=a+1;
Rekursi(a);
End;
End;

Var
x:integer;
Begin
Writeln('Berapa batas awalnya?');Readln(x);
Rekursi(x);
End.

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang rekursi.

Program Latihan_Rekursi_3;
Uses Wincrt;
Var
suku,a,b,c: longint;

Function Fibonacci(n:longint):longint;
Begin
If (n=1) then Fibonacci:=a
else
If (n=2) then Fibonacci:=b
else
Fibonacci:=Fibonacci(n-1)+Fibonacci(n-2);
End;

Begin
Write('Masukkan suku pertama dalam deret fibonacci :');readln(a);
Write('Masukkan suku kedua dalam deret fibonacci :');readln(b);
Write('Sampai suku keberapa deret fibonacci yang diinginkan?: ');readln(c);
Writeln;
Writeln('Deret Fibonaccinya adalah sebagai berikut:');
For suku:= 1 to c do
Write(Fibonacci (suku):3);
End.

Bagi teman-teman yang sedang belajar Pascal, bisa melihat contoh berikut ini tentang rekursi.

Program Latihan_Rekursi_4;
Uses Wincrt;
Var
a:real;
b:integer;

Function Pangkat(x:real;n:integer):real;
Begin
If n=0 then pangkat:=1
else if n>0 then pangkat:=pangkat(x,n-1)*x
else pangkat:=pangkat(x,n+1)/x;
End;

Begin
Clrscr;
Write('data pertama: ');readln(a);
Writeln;
Write('data kedua: ');readln(b);
Writeln;
While(a<>0) or (b<>0) do
Begin
Writeln;
Write(a:5:2,' pangkat ',b:3,' = ');
Write(pangkat(a,b):5:2);
Writeln;
Writeln;
Write('data pertama: ');readln (a);
Writeln;
Write('data kedua: ');readln (b);
Writeln;
End;
End.

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Buy Printable Coupons