Latihan
1. cetaklah bilangan 1 sampai dengan 4 menggunakan downto.
{Bilangan (1-4 menggunakan dewonto) algoritma cetak angka}
Deklarasi
i : integer
Deskripsi
For i ← 4 to 0 do
Write (i)
Endfor
using namespace std;
int main()
{
int i; for(i=4;i>0;i--)
cout<<" "<<i<<endl;
return 0;
}
2. buatlah translasi dalam bahasa C untuk algoritma 4.5. Apakah diperlukan modifikasi
algoritma ?
.{menentukan int 1 sampai 7, menentukan hari yang sesuai }
Deklarasi
Hari_ke :int;
Hari :string;
Deskripsi
Read (hari_ke)
Pilih(hari_ke)untuk
1 : hari ← |senin|;
2: hari ← |selasa|;
3: hari ← |Rabu|;
4: hari ← |Kamis|;
5: hari ← |Jumat|;
6: hari ← |Sabtu|;
7: hari ← |Minggu|;
End{pilih}
Write{hari}
using namespace std;
class Kalender {
friend ostream& operator<<(ostream&, Kalender&);
friend istream& operator>>(istream&, Kalender&);
public:
Kalender() {};
void adalah();
private:
int hari_ke;
char *hari;
};
void Kalender::adalah() {
switch (hari_ke) {
case 1: hari = "Senin"; break;
case 2: hari = "Selasa";break;
case 3: hari = "Rabu"; break;
case 4: hari = "Kamis"; break;
case 5: hari = "Jum'at";break;
case 6: hari = "Sabtu"; break;
default: hari = "Minggu";break;
}
}
istream& operator>>(istream& in, Kalender& masukan) {
cout << "Masukkan hari ke-";
in >> masukan.hari_ke;
return in;
}
ostream& operator<<(ostream& out, Kalender& keluaran) {
out << "Hari ke- " << keluaran.hari_ke << " adalah "
<< keluaran.hari << endl;
return out;
}
main() {
Kalender tanggal;
cin >> tanggal;
tanggal.adalah();
cout << tanggal;
getch();
return 0;
}
3. Buatlah algoritma dan program untuk mencetak bilangan yang habis dibagi 3 dan 5
antara 1 sampai dengan 100.
{Membaca i (bilangan 1 sampai dengan 100), kemudian menentukan bilangan yang habis dibagi 3 dan 5}
Deklarasi
i : integer {bilangan 1 sampai dengan 100}
Deskripsi
Read i
I Ăź 1 sampai dengan 100
for (int i=1; i<=100; i++)
if (i mod 3==0)
Write i
Else (i mod 5==0)
Write i
I Ăź 1 sampai dengan 100
for (int i=1; i<=100; i++)
if (i mod 3==0)
Write i
Else (i mod 5==0)
Write i
using namespace std;
class bilangan{
friend ostream& operator<<(ostream&, bilangan&);
friend istream& operator>>(istream&, bilangan&);
public:
bilangan(){};
void proses(){
i =0;
while (!(i>100))
{ if (i % 3==1 && i % 5==1){
}
else
{
cout << i << endl; }
i =i+15;
}
}
private:
int i;
};
istream& operator>>(istream& in, bilangan& masukkan){
cout<<"Bilangan Yang Habis Dibagi 3 & 5 = "<<endl;
in >>masukkan.i;
return in;
}
ostream& operator<<(ostream& out, bilangan& keluaran){
cout<<"Bilangannya adalah "<<keluaran.i<<endl;
return out;
}
int main(int argc, char *argv[])
{
bilangan bil;
cin >> bil;
bil.proses();
cout<< bil;
cout<< endl;
system("PAUSE");
return 0;
}
4. Hitunglah nilai dari :
1 1 1 1 12
3 4 n
using namespace std;
class hitung
{
public:
void input();
int proses();
private:
int n;
float rumus,jumlah,total;
};
void hitung::input(){
cin>>n;
cout<<endl;}
int hitung::proses(){
jumlah=0;
total=0;
rumus=-1;
for(int j=1; j<=n; j++){
rumus=(rumus*(-1));
total=rumus/j;
jumlah+=total;
if(j==1)
cout<<"("<<total<<")";
if(j>1)
cout<<"+("<<total<<")";
}
cout<<endl<<endl<<"hasil penjumlahan deret = "<<jumlah;
return jumlah;
}
int main()
{
cout<<"menghitung jumlah dari rumus 1-(1/2)+(1/3)-(1/4)+...+(1/n)"<<endl<<endl;
cout<<"nilai n : ";
hitung deret;
deret.input();
deret.proses();
getch();
return 0;
}
5. Buatlah algoritma dan program untuk menghitung nilai dari permutasi dan kombinasi n
buah bola yang diambil r bola.
{Menghitung nilai permutasi dan kombinasi n buah bola yang diambil r bola}
Deklarasi
hasil,n,k : integer
proses[2],yesno[2]; character
. Deskripsi
Read(n,k)
if(n<k)
then write("Nilai n tidak boleh lebih kecil dari k")
else
write"(Pilih P (permutasi) atau C (kombinasi))"
if(proses[0]=='p' || proses[0]=='P')
hasil = faktorial(n)/faktorial(n-k);
then write("\n \n")
then write(n,"P",k," : ",hasil)
else if (proses[0]=='c' || proses[0]=='C')
hasil = faktorial(n)/(faktorial(k) * faktorial(n-k));
then write("\n \n")
then write(n,"C",k," : ",hasil)
else
then write("\n\tAnda tidak memilih P atau C")
then write("\n\tIngin mengulang? <y/n> ")
Read(yesno[0])
if (yesno[0]=='Y'||yesno[0]=='y')
Y=1
else if (yesno[0]=='N'||yesno[0]=='n'||yesno[0]!='Y'||yesno[0]!='y')
Y=0
using namespace std;
long int fak (long int x);
main()
{
int n,r, Prts,pilihan,p;
char ulang;
do
{
cout<<"(c) Created 2010 by esa d’suryanta.Inc"<<endl<<endl;
cout<<"PERHITUNGAN KOMBINASI DAN PERMUTASI"<<endl;
cout<<"1. KOMBINASI"<<endl;
cout<<"2. PERMUTASI"<<endl;
cout<<"3. EXIT"<<endl;
cout<<endl<<endl;
cout<<"Pilihan Anda : ";cin>>pilihan;
switch (pilihan)
{
case 1 :
cout<<" Program Menghitung Kombinasi(nCr)";
cout<<endl;
cout<<" Masukkan Nilai n : "; cin>>n;
cout<<endl;
cout<<" Masukkan Nilai r : "; cin>>r;
cout<<endl;
if (n>r){
Prts = fak(n)/(fak(n-r)*fak (r));
cout<<endl;
printf(" Kombinasinya adalah: %d",Prts);
cout<<endl; }
else if (n<r){
cout<<"data tak valid";}
cout<<endl ;
break;
case 2 :
cout<<" Program Menghitung Permutasi(nPr)";
cout<<endl;
cout<<" Masukkan Nilai n : "; cin>>n;
cout<<endl;
cout<<" Masukkan Nilai r : "; cin>>r;
cout<<endl;
if (n>r){
Prts = fak (n)/fak(n-r);
cout<<endl;
printf(" Permutasinya adalah: %d",Prts);
cout<<endl; }
else if (n<r){
cout<<"data tak valid";}
cout<<endl ;
break;
case 3 :
cout<<"Exit"<<endl;
break;
default:
cout<<"Menu tidak tersedia"<<endl;
break;
}
cout<<"Kembali ke Menu Utama (y/n)?";cin>>ulang;
}
while (ulang == 'y');
getch();
}
long int fak (long int n)
{
int f;
if (n<=1)
{
f=1;
}
else
{
f=n*fak(n-1);
}
return (f);
}
6. Buatlah algoritma dan program untuk mengkonversi bilangan desimal menjadi bilangan
biner.
Deklarasi
desimal, pembagi, bit : long
pembagi=1073741824
Deskripsi
Read(desimal)
while(pembagi>desimal)pembagi/=2
do
bit=desimal/pembagi
then write(bit)
desimal=desimal%pembagi
pembagi/=2;
while(pembagi>=1)
write("\n")
using namespace std;
int main(int argc, char** argv) {
long desimal, pembagi, bit;
pembagi=1073741824;
cout<<"\t\t Program Konversi Bilangan Desimal ke Biner"<<endl<<endl;
cout<<" Masukan bilangan desimal : ";
cin>>desimal;
while(pembagi>desimal)pembagi/=2;
do{
bit=desimal/pembagi;
cout<<bit;
desimal=desimal%pembagi;
pembagi/=2;
}
while(pembagi>=1);
cout<<"\n";
return 0;
}
7. Buatlah algoritma, flowchart dan program untuk menampilkan permutasi dari 3 huruf.
Misalnya diberikan : abc
output :
abc
bca
bac, dan seterusnya
using namespace std;
void masuk(char a[50]);
void keluar(char b[50]);
void identitas();
int main()
{
char kata[50];
masuk(kata);
keluar(kata);;
getch();
}
void masuk(char a[50]){
cout<<"\nMasukkan Kata : ";
gets(a);
cout<<endl;
}
void keluar(char b[50]){
cout<<"\nHasil Pembalikkan kata :";
for(int a=strlen(b);a>=0;a--)
{
cout<<b[a];
}
cout<<endl;
}
0 komentar:
Posting Komentar