2. buatlah translasi dalam bahasa C untuk algoritma 4.5. Apakah diperlukan modifikasi
algoritma ?
Algoritma :
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}
3. Buatlah algoritma dan program untuk mencetak bilangan yang habis dibagi 3 dan 5
antara 1 sampai dengan 100.
Algoritma :
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
4. Hitunglah nilai dari :
1
1 1 1 12
3
4 n
5. Buatlah algoritma dan program untuk menghitung nilai dari permutasi dan kombinasi n
buah
bola yang diambil r bola.
Petunjuk
:
Rumus
permutasi dan kombinasi adalah sebagai berikut :
(
, ) !
(
)!
P
n r n
n
r
dan
( , ) !
!(
)!
C
n r n
r
n r
Algoritma :
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
6. Buatlah algoritma dan program untuk mengkonversi bilangan desimal menjadi bilangan
biner.
Petunjuk : Gunakan operator mod dan div !
Algoritma :
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")
7.
Buatlah algoritma, flowchart dan program untuk menampilkan permutasi dari 3
huruf.
10. Algoritma perkalian dengan cara penjumlahan pada algoritma 5.3. belum sempurna karena belum mencakup semua kemungkinan, misalnya untuk harga b negatif. Buatlah fungsi perkalian dengan cara penjumlahan dengan menyempurnakan algoritma 5.3. di atas.
Misalnya
diberikan : abc
output
:
abc
bca
bac,
dan seterusnya
9.
Buatlah
fungsi fibonacci dengan 2 cara rekursif yang lain.
10. Algoritma perkalian dengan cara penjumlahan pada algoritma 5.3. belum sempurna karena belum mencakup semua kemungkinan, misalnya untuk harga b negatif. Buatlah fungsi perkalian dengan cara penjumlahan dengan menyempurnakan algoritma 5.3. di atas.
Algoritma
Deklarasi :
x, y, i, hasil : integer
Deskripsi :
read x
read y
hasil <- 0
for i <- to y do
hasil <- hasil + x
end for
write hasil
end
Tidak ada komentar:
Posting Komentar