Yuk bantu teman kamu belajar dengan menambahkan soal di Kujawab. Klik disini..

Olimpiade Sains Kota (OSK) 2017 - Komputer , Nomor 28 - 29

Deskripsi untuk soal nomor 28 - 29

Suatu robot bergerak di atas suatu rel yang terentang dari kiri ke kanan dengan ujung pada jarak yang cukup jauh. Pada rel tertera angka-angka posisi per10cm membesar ke kanan, mulai dari 0cm, 10cm, 20cm, … dst. Robot akan bergerak menuruti deretan instruksi yang diberikan. Robot dapat menuliskan/ menghapus tanda X pada posisi robot. Instruksi-instruksi didefinisikan sebagai berikut:

  • [R] memerintahkan robot untuk berpindah 10 cm ke kanan,
  • [L] memerintahkan robot untuk berpindah 10 cm ke kiri,
  • [W] memerintahkan robot untuk menuliskan X pada posisinya,
  • [H] memerintahkan robot untuk menghapus X pada posisinya (jika ada),
  • [RX] memerintahkan robot untuk berpindah ke kanan sampai ketemu tanda X atau berhenti jika mencapai ujung kanan rel.
  • [LX] memerintahkan robot untuk berpindah ke kiri sampai ketemu tanda X atau berhenti jika mencapai ujung kiri rel.
  • Rep(n,…) adalah perintah untuk dapat melakukan pengulangan deretan perintah yang dituliskan menggantikan “….” sebanyak n kali, sementara
  • Rep(…) adalah perintah pengulangan terus menerus yang akan berhenti karena [LX] atau [RX] mencapai ujung rel. 
28

Pada suatu saat robot berada di posisi 0cm dan sejumlah tanda X diletakkan di posisi 80cm, 130cm dan 180cm. Pada robot diberikan perintah

[RX] [RX] [H] [LX] Rep(3, [L] ) [W] [RX] [RX] [H] [LX] [LX] (Rep(3, [L] ) [W]

Dimanakah posisi robot beserta tanda-tanda X itu sekarang? 

a. 0cm, 50cm, dan 80cm

b. 20cm, 50cm dan 80cm

c. 20cm, 80cm, dan 130cm

d. 50cm, 130cm, dan 180cm

e. 100cm, 130cm, dan 180cm 

29

Jika pada suatu saat robot berada di posisi 0cm, sejumlah tanda X berturut-turut berada pada suatu posisi di sebelah kanannya (lebih dari satu tanda X). Kemudian, robot menjalankan deretan perintah ini:

Rep(2, [RX] [H] ) [L] [W] [R] Rep(Rep(2, [RX] [H] ) [LX] [R] [W] )

Ada berapa banyak kah tanda X saat robot berhenti jika sebelumnya ada 11 tanda X?

a. 0

b. 5

c. 10

d. 15

e. 20