Pagi ini saya akan memposting kasus-kasus alpro yang ada di materi ppt minggu kelima.
KASUS 5.4
Program cpp nya dibuat menggunakan function.
Baik iteratif maupun rekursif akan menampilkan output seperti berikut
KASUS 5.4
Program cpp nya dibuat menggunakan function.
#include <iostream>
#include <math.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int kali(int a, int b){
int i, hasil=0;
for(i=1; i<=abs(b); i++)
hasil +=a;
if(b<0) return(-hasil); else return(hasil);
}
int main(int argc, char** argv) {
cout<<"menghitung hasil perkalian\n";
int x,y;
cout<<"masukkan bil-1 = "; cin>>x;
cout<<"masukkan bil-2 = "; cin>>y;
cout<<x<<" x "<<y<<" = "<<kali(x,y);
return 0;
}
#include <math.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int kali(int a, int b){
int i, hasil=0;
for(i=1; i<=abs(b); i++)
hasil +=a;
if(b<0) return(-hasil); else return(hasil);
}
int main(int argc, char** argv) {
cout<<"menghitung hasil perkalian\n";
int x,y;
cout<<"masukkan bil-1 = "; cin>>x;
cout<<"masukkan bil-2 = "; cin>>y;
cout<<x<<" x "<<y<<" = "<<kali(x,y);
return 0;
}
Perulangan yang digunakan dalam script di atas berfungsi untuk menjumlahkan bilangan pertama secara berulang sebanyak bilangan kedua, jadi bisa diperoleh hasilnya.
outputnya akan seperti ini
Raptornya
KASUS 5.8
Algoritma iteratifnya seperti berikut:
- Deskripsi :
· While (n<0) do
· r <- m%n
· m <- n
· n <- r {untuk menghentikan perulangan}
· end while
· gcd <- c
Program cpp
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int gcd(int m, int n){
int r;
while(n>0){
r=m%n;
m=n;
n=r;
}
return(m);
}
using namespace std;
int main(int argc, char** argv) {
int a, b;
cout<<"masukkan nilai 1 = "; cin>>a;
cout<<"masukkan nilai 2 = "; cin>>b;
cout<<"\nFPB("<<a<<","<<b<<") = "<<gcd(a,b);
return 0;
}
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int gcd(int m, int n){
int r;
while(n>0){
r=m%n;
m=n;
n=r;
}
return(m);
}
using namespace std;
int main(int argc, char** argv) {
int a, b;
cout<<"masukkan nilai 1 = "; cin>>a;
cout<<"masukkan nilai 2 = "; cin>>b;
cout<<"\nFPB("<<a<<","<<b<<") = "<<gcd(a,b);
return 0;
}
Raptornya
Algoritma rekursifnya
- Deskripsi :
· if(n==0) then gcd <- m
· else if (m<n) then gcd <- gcd(n,m)
· Else gcd <- gcd(m-n,n)
Program cpp
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int gcd(int m, int n){
if(n==0) return(m);
if(m<n) return(gcd(n,m));
return(gcd(m-n,n));
}
using namespace std;
int main(int argc, char** argv) {
int a, b;
cout<<"masukkan bilangan ke-1 = "; cin>>a;
cout<<"masukkan bilangan ke-2 = "; cin>>b;
cout<<"FPB("<<a<<","<<b<<") = "<<gcd(a,b);
return 0;
}
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int gcd(int m, int n){
if(n==0) return(m);
if(m<n) return(gcd(n,m));
return(gcd(m-n,n));
}
using namespace std;
int main(int argc, char** argv) {
int a, b;
cout<<"masukkan bilangan ke-1 = "; cin>>a;
cout<<"masukkan bilangan ke-2 = "; cin>>b;
cout<<"FPB("<<a<<","<<b<<") = "<<gcd(a,b);
return 0;
}
Raptornya
Baik iteratif maupun rekursif akan menampilkan output seperti berikut







Tidak ada komentar:
Posting Komentar