Program 10.4. Pangkat (an): #include<cstdlib> #include<iostream> usingnamespacestd; floatPangkat(floata,intn) { if(n==0) return1; else returna*Pangkat(a,n‐1); } intmain(intargc,char*argv[]) { floata; intn; cout<<"ProgramPangkatRekursif\n"; cout<<"IsilahNilaia="; cin>>a; cout<<"IsilahNilain="; cin>>n; cout<<"Hasildari"<<a<<"pangkat"<<n<<"adalah"<<Pangkat(a,n)<<"\n"; system("PAUSE"); return EXIT_SUCCESS; }
Keluaran program di atas seperti berikut: Programpangkatrekursif IstilahNilaia=2 IstilahNilaia=2 Hasildari2pangkat3adalah8 Program 10.5. Menghitung jumlah bilangan Integer positif dari 1 sampai dengan n secara rekursif.
#include<cstdlib> #include<iostream> usingnamespacestd; intJumlahInt(intn) { if(n==1) return1; else returnn+JumlahInt(n‐1); } intmain(intargc,char*argv[]) { intn; cout<<"ProgramJumlahInteger\n"; cout<<"MasukkanNilain="; cin>>n; cout<<"JumlahbilanganIntegerdari1sampai"<<n<<"="<<JumlahInt(n)<<"\n"; system("PAUSE"); returnEXIT_SUCCESS; } Keluaran program tersebut dapat dilihat dalam gambar berikut ini: ProgramJumlahInteger MasukanNilain=4 JumlahbilanganIntegerdari1sampai4=10
10.7. Penerapan Algoritma Iteratif
Dibawah ini merupakan beberapa contoh program iteratif dengan berbagai kasus dilapangan seperti faktorial, program pemangkatan dan lain sebagainya. Setelah memperhatikan contoh program dibawah ini harapanya menjadi tahu mengenai perbedaan antara keduanya. Untuk lebih jelasnya perhatikan program-program dibawah ini: Program 10.6. Faktorial:
#include<cstdlib> #include<iostream> usingnamespacestd; intFaktorial(intn) { intx=1; for(inti=1;i<=n;i++) x=x*i; returnx; } intmain(intargc,char*argv[]) { intn; cout<<"ProgramFaktorialIteratif\n"; cout<<"MasukkanNilain:"; cin>>n; cout<<"Faktorial("<<n<<")="<<Faktorial(n)<<"\n"; system("PAUSE"); returnEXIT_SUCCESS; }
Keluaran program sebagai berikut: ProgramFaktorialIteratif MasukanNilain:3 Faktorial(3)=6 Program 10.7. Pangkat secara Iteratif:
#include<cstdlib> #include<iostream> usingnamespacestd; floatPangkat(floata,intn) { floathasil=1; if(n==0) return1; for(inti=1;i<=n;i++) { hasil=hasil*a; } returnhasil; } intmain(intargc,char*argv[]) { floata; intn; cout<<"ProgramPangkatIteratif\n"; cout<<"IsilahNilaia="; cin>>a; cout<<"IsilahNilain="; cin>>n; cout<<"Hasildari"<<a<<"pangkat"<<n<<"adalah"<<Pangkat(a,n)<<"\n"; system("PAUSE");
Next read halaman 7