Dasar-Dasar Pemrograman Tugas Pertemuan 8
Soal Secara matematis, perkalian dua bilangan bulat positif a dengan b (ditulis a.b atau a*b) merupakan penjumlahan dari a sebanyak b suku, yaitu a + a + a + … + a sebanyak b suku. Ingat bahwa bilangan jika dikalikan dengan angka 0 akan menghasilkan 0, dan jika dikalikan dengan angka 1 akan menghasilkan bilangan itu sendiri. Misalnya 2 x 3 dapat diartikan sebagai 2 + 2 + 2 = 6 , yaitu penjumlahan 2 sebanyak 3 suku.
Soal Secara matematis, pemangkatan dua bilangan bulat positif a dengan b (ditulis a^b atau ab) merupakan perkalian dari a sebanyak b suku, yaitu a * a * a * … * a sebanyak b suku. Ingat bahwa bilangan jika dipangkatkan dengan angka 0 akan menghasilkan 1, dan jika dipangkatkan dengan angka 1 akan menghasilkan bilangan itu sendiri. Misalnya 23 dapat diartikan sebagai 2 * 2 * 2 = 8 , yaitu perkalian 2 sebanyak 3 suku.
Soal Buat program untuk barisan Fibonacci. f(1) = f(2) = 1 f(3) = f(1) + f(2) … f(n) = f(n-1) + f(n-2) Contoh: untuk n = 7 1 1 2 3 5 8 13 …
Soal Ubahlah barisan fibonacci menjadi deret fibonacci, dengan jumlah suku diinputkan oleh user. Contoh: Untuk n=5 1 + 1 + 2 + 3 + 5 = 12 Hasil: Masukkan n = 5
Soal Gunakan fungsi fakto yang sudah dibahas untuk mencari permutasi dan kombinasi dari dua buah bilangan.
Soal function ndec(n:integer): integer; begin if (n=0) then ndec := n*ndec(n-1) else ndec := 1; end; Berapa nilai kembalian pemanggilan fungsi ndec(5)?
Soal function move(n:integer):integer; begin if (n=1) then move := 1 else move := 2 * move(n-1) + 1; end; Berapa nilai kembalian pemanggilan fungsi move(16)?
Soal function hitung(n:integer):longint; begin hitung:=10; if n > 3 then hitung:=hitung(n-1) else hitung:=1; end; y:=0; for i:= 1 to 5 do y:=y+hitung(i); write(y); Apa hasilnya?
Soal function A(i,j:integer): integer; begin if (i >= 2) and (j >= 2) then A := A(i-1, A(i, j-1)+1) else if (i >=2) and (j = 1) then A := A(i-1, 2) else if (i = 1) and (j>= 1) then A := j else A := -1; end; Berapakah A(4,7)?