Jumat, 08 April 2016

Bab 5 Diktat

BAGIAN 1

1. Cetaklah bilangan 1 sampai dengan 4 menggunakan downto.
              Algoritma :    

Deklarasi :
i  : integer
 Deskripsi : For i ← 4 to 0 do
                    Write (i)
                    Endfor


2. buatlah translasi dalam bahasa C untuk algoritma 4.5. Apakah diperlukan modifikasi

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



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")




BAGIAN 2

1. Buatlah fungsi fibonacci dengan cara iteratif.


2. Buatlah fungsi fibonacci dengan 2 cara rekursif yang lain.



3. 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. 


Tidak ada komentar:

Posting Komentar