Tugas Algoritma :
1. Diberikan bilangan bulat positif N, hitung jumlah
kemunculan digit 7, misalkan 717 menghasilkan 2 (ada 2 digit 7 dalam bilangan
717). Perhatikan modulus (%) dengan 10 menghasilkan digit terkanan (126 % 10
adalah 6), sementara simbol pembagian (/) dengan 10 menghapus digit terkanan
(126 / 10 adalah 12).
a. Tulis NOTASI ALGORITMIK (Definisi dan Spesifikas,
Realisasi, Aplikasi) untuk menyelesaikan masalah di atas dalam bentuk fungsi
rekursif dengan nama Hitung7. Berikut
contoh aplikasinya
Hitung7 (717) --> 2
Hitung7 (7) --> 1
Hitung7 (123) --> 0
b. Translasikan NOTASI ALGORITMIK soal a ke dalam bahasa
LISP.
2. ita mempunyai kelinci yang berdiri dalam suatu barisan, kelinci tersebut di nomeri 1, 2, ...dan seterusnya, kelinci bernomor ganjil(1, 3, ..), punya kuping normal 2 buah. Kelinci bernomor genap (2, 4, ..) mempunyai kuping 3 buah.
a. Tulislah NOTASI ALGORITMIK (Definisi dan Spesifikas, Realisasi, Aplikasi) sebagai penyelesaian rekursif dalam bentuk fungsi dengan nama KelinciKU untuk menghitung jumlahan kuping pada barisan kelinci tersebut. Jika N adalah barisan kelinci, maka N=0 jumlahan kupingnya 0, N=1, jumlahan kupingnya 2, N=2, jumlahan kupingnya 5, dan seterusnya. Berikut contoh aplikasinya :
KelinciKU (0) --> 0
KelinciKU (1) --> 2
KelinciKU (2) --> 5
b. Translasikan NOTASI ALGORITMIK pada soal a ke bahasa LISP.
3. Diberikan suatu bilangan bulat positif n, tentukan jumlahan digit dari bilangan tersebut. Perhatikan modulus (%) dengan 10 menghasilkan digit terkanan (126 % 10 adalah 6), sementara simbol pembagian (/) dengan 10 menghapus digit terkanan (126 / 10 adalah 12).
a. Tulis NOTASI ALGORITMIK (Definisi dan Spesifikas, Realisasi, Aplikasi) untuk menyelesaikan masalah di atas dalam bentuk fungsi rekursif dengan nama HitungDigit. Berikut contoh aplikasinya
HitungDigit (126) --> 9
HitungDigit (49) --> 13
HitungDigit (12) --> 3
b. Translasikan NOTASI ALGORITMIK soal a ke dalam bahasa
Jawaban :
1.
NOTASI ALGORITMA
Definisi dan Spesifikasi :
Hit7 (n) : integer
-> integer
{fungsi Hit7
dengan satu masukan n bertipe integer menghasilkan keluaran bertipe integer
yang digunakan untuk menghitung jumlah angka 7 dalam masukan x}
Realisasi :
Hit7 (n) = cond
(n / 10 = 0) 0
(n mod 10 = 7) (+ 1 (hit7
(floor n / 10)))
(+ 0 (hit7 (floor n / 10)))
Kode Program :
(defun hit7(n)
(cond ((= (/ n 10) 0) 0)
((=
(mod n 10) 7) (+ 1 (hit7 (floor (/ n 10)))))
(t
(+ 0 (hit7 (floor (/ n 10))))))
)
2.
NOTASI ALGORITMA
Definisi dan Spesifikasi :
Kelinci (n) :
integer -> integer
{Fungsi KelinciKu untuk menghitung banyak
telinga kelinci dalam deret tersebut dengan ketentuan barisan ganjil memiliki 2
telinga dan barisan genap memiliki 3 telinga}
Realisasi :
Kelinci (n) =
cond (n = 0) 0
((n mod 2) = 1)
(+ 2) (kelinci (n - 1))
((n mod 2) = 0)
(+ 1) (kelinci (n - 1))
Kode Program :
(defun kelinci(n)
(cond ((= n 0) 0)
((=
(mod n 2) 1) (+ 2 (kelinci(- n 1))))
((=
(mod n 2) 0) (+ 3 (kelinci(- n 1)))))
)
3.
NOTASI ALGORITMA
Definisi dan Spesifikasi :
HitDig (n) :
integer -> integer
{fungsi HitDig
ini digunakan untuk menghitung jumlahan dari digit masukan n integer yang
diberikan.}
Realisasi :
Hitdig (n) =
if (n / 10 = 0) then 0
(+ (n mod 10) (hitdig (floor
(n / 10))))
Kode Program :
(defun hitdig(n)
(cond ((= (/ n 10) 0) 0)
(t
(+ (mod n 10) (hitdig (floor (/ n 10))))))
)
Monggo di unduh
kakak :)