Contoh soal dan pembahasan Olimpiade Komputer materi FUNGSI dalam Turbo Pascal

2008 April 4
by Doantara yasa

Untuk soal 1 – 2
FUNCTION fak (x, y: integer) : Integer;
BEGIN
   if y:= 0 then fak := 1
   else
      fak := x * fak (x, y-1);
END;
Writeln (fak(5, 3));
 
1. Apa hasil dari program di atas!
   a. 125
   b. 8
   c. 81
   d. 3
   e. 15

Pembahasan :
Ini adalah contoh kasus fungsi dengan mempergunakan rekursi (fungsi yang mampu memangil dirinya sendiri)
Nilai x awal adalah 5, nilai  y awal adalah 3 maka
fak (5,3) —> 5 * fak (5, 3-1) = 5 * 25 = 125
fak (5,2) —> 5 * fak (5, 2-1) = 5 * 5 = 25
fak (5,1) —> 5 * fak (5,1-1) = 5 * 1 = 5
fak (5,0) (proses selesai karena y =0)
Jadi yang muncul adalah
125

2. Jika writeln (fak(5,3)) diganti menjadi writeln (fak(4,5)), hasil dimunculkan adalah…
    a. 20
    b. 9
    c. 1024
    d. 64
    e. 5

Pembahasan:
Kasus ini sama seperti pada soal 1
Nilai x awal adalah 4, nilai  y awal adalah 5 maka
fak (4,5) —> 4 * fak (4, 5-1) dengan mempergunakan hasil fak ( 4,4) –>  4 * 256 = 1024
fak (4,4) —> 4 * fak (4, 4-1) dengan mempergunakan hasil fak ( 4,3) –>  4 * 64 = 256
fak (4,3) —> 4 * fak (4,3-1) dengan mempergunakan hasil fak ( 4,2) –>  4 * 16 = 64
fak (4,2) —> 4 * fak (4,2-1) dengan mempergunakan hasil fak ( 4,1) –>  4 * 4  = 16
fak (4,1) —> 4 * fak (4,1-1) = 4 * 1 = 4
fak (4,0) (proses selesai karena y =0)
Jadi yang muncul adalah
1024

3. Manakah yang salah dari deklarasi dibawah ini
  a. function info(a:byte):real;
  b. function info:byte;
  c. function info(a,b:byte) : real;
  d. function info(a: real; b:integer):real;
  e. function info(a:real);

Pembahasan
Ingat bentuk dekelarasi dari suatu fungsi
FUNCTION nama_fungsi(daftar_fungsi):tipe;
- daftar parameter berisi sejumlah parameter
- tipe menyatakan tipe dari hasil fungsi
- Jika fungsi tidak memiliki parameter, tanda () tidak perlu disertakan.
jadi jawabannya adalah e.function info(a:real); 

22 Tanggapan leave one →
  1. 2008 November 19

    mas soal no satu kayaknya salah,….
    berani taruhan kalo dijalankan pasti ada error…
    bukan

    <if y:= 0 then fak := 1

    tapi

    if y= 0 then fak := 1

    ……

  2. 2009 Januari 29

    Maz Tolong kirim soal olimpiade komputer + Pembahasannya

  3. 2009 Februari 16
    ismail permalink

    mas tolong kirim soal dan pembahsan olimpiade pasl

    mki ebum ny

  4. 2009 Maret 4
    Maulana Base permalink

    Maz, tolong kirim soal-soal olimpiade TI serta pembahasannya, please, soalnya saya mw seleksi….

  5. 2009 Maret 20
    Arief permalink

    Tolong kirim kan contoh soal dan pembahasan olimpiade komputer

  6. 2009 Maret 30
    yesi permalink

    wahhh sulit bgd soalx…

    matek gue

  7. 2009 April 2

    mas,,, gw ikut olympiade neh….
    bisa kasih tau gk contoh soal yang lainya buat pembelajaran …
    tq

  8. 2009 April 5

    Mas tolong kirimin dong contoh-contoh soal olimpiade komputer & pembahasannya….
    kalo boleh secepatnya…soalnya aku butuh banget….!!!!!!!

  9. 2009 April 7
    ami permalink

    tolong jelaskan pembahasan fungsi fak lebih rinci lagi….mksh

  10. 2009 April 8
    Benny permalink

    Kirimin soal olympiade kmptr + pembahasannya duNkz….benny_hackz@yahoo.co.id

  11. 2009 April 10
    Niza permalink

    abli penjelasan’y g ad yg lbh mdh lg…….???
    pusing bgt nie………….!!!

  12. 2009 April 14
    bara permalink

    maz tolonk donK kirimin soal-soal olimpiade TI + pembahasannya. maaf lo to do point bgd….

  13. 2009 April 14
    aizcheryz permalink

    lagi lagi lagi
    kurang ni soalnya mas

  14. 2009 Mei 1
    ary permalink

    mas……………………..
    tolong kirim soal pascal dan pembahasannya

  15. 2009 Mei 15

    mas………………

    bagi soalnya dunkzzzz
    hari senin mau seleksi nie………..
    plis yo, mas………

    send to:
    kasihhh_dach@yahoo.co.id

  16. 2009 Mei 15

    tolomh kirimin soal olimpiade kptr + pembahasan
    sendy_2509@yahoo.com

  17. 2009 Mei 22
    eva permalink

    mas tolong kirimin saoal algoritma yang fungsi..
    misalnya… kita masukkan hari sekarang keluarnya hari besoknya…
    contoh :
    input : kamis
    output : jumat

    tlong cpatan mas ya…
    tank’be4…

    • 2009 Juni 9

      ini di declare pake enumerasi dulu jadinya

      type hari=(senin,selasa,rabu,kamis,jumat,sabtu minggu);

      trus manggilnya pake fungsi:

      ord() => untuk hari itu juga
      pred() => untuk hari sebelumnya
      succ() => untuk hari setelahnya

  18. 2009 Juni 14

    Soal perpangkatan tuh…

  19. 2009 Oktober 3
    miko permalink

    maz,,ada soal lagi ga’

  20. 2009 Oktober 18
    OoLey permalink

    Uuahh.. bagus tuh?! Kalau punya contoh2 soal dan pembahasannya yang lebih banyak kirim ke email ku yg childy.charming@gmail.com ya? Please…. Butuh banget nih..

Tinggalkan Balasan

Note: You can use basic XHTML in your comments. Your email address will never be published.

Berlangganan umpan komentar ini melalui RSS