twitter

dalam kesempatan kali ini saya akan memberikan sedikit pengetahuan saya mengenai program rekursif dan literatif :
program literatif merupakan program yang menggunakan perulangan for, while maupun do while. sedangankan program lrekursif jiga merupakan program perulangan namu tidak menggunakan perulanganan layaknya program literatif. namun menggunakan percabangan if yang mana perulangan di lakukan dengan memanggil fungsi itu sendiri dan berhenti pada batas yang telah di tentukan.
berikut contoh program rekursi serta literatif :


#include <cstdlib>
#include <iostream>
using namespace std;
// mendiskripsikan class hitung
class hitung{
// mendiskripsikan overloading input dan output
friend istream& operator>>(istream&, hitung&);
friend ostream& operator<<(ostream&, hitung&);
// mendeskripsikan fungsi dan variabel
public:
hitung();
float proses();
float proses2(int);
private:
int n;
float rumus,jumlah,total;
};
hitung::hitung(){
cout<<”program sederhana menghitung jumlah dari rumus 1-(1/2)+(1/3)-(1/4)+…+(1/n)”<<endl<<endl;}
// mendeklarasikan overloading input
istream& operator>>(istream& in, hitung& b){
cout<<”masukkan nilai n : “;
in>>b.n;
cout<<endl;
}
// mendeskripsikan proses literatif
float hitung::proses(){
cout<<”Literatif”<<enndl;
jumlah=0;
total=0;
rumus=-1;
for(int i=1; i<=n; i++){
rumus=(rumus*(-1));
total=rumus/i;
jumlah+=total;
if(i==1) cout<<”(“<<total<<”)”;
if(i>1) cout<<”+(“<<total<<”)”;
}
return jumlah;
}
// mendeklarasikan proses rekursif
float hitung::proses2(int n){cout<<”Rekursif”<<endl;
if(n==1){ return 1;}
else if(n%2==0) {return (-(1.0/n)+(proses2(n-1)));}
else {return ((1.0/n)+(proses2(n-1)));}
}
// mendeklarasikan overloading output
ostream& operator<<(ostream& ot, hitung& a){
cout<<”\nhasil penjumlahan deret = “<<a.jumlah<<endl<<endl;
cout<<a.proses2(a.n)<<endl;
}
int main(int argc, char *argv[])
{
hitung arif; // mendiskripsikan class hitung dengan objek arif
cin>>arif; // memanggil overloading input
arif.proses(); // memanggil fungsi proses
cout<<arif; // memanggil overloading output
system(“PAUSE”);
return EXIT_SUCCESS; //mengakhiri program
}

hasil program :



Minggu, 24 April 2011 | 0 komentar | Label: ,