Anda di halaman 1dari 5

Materi Persiapan Olimpiade Sains Bidang Komputer

Tingkat Kabupaten/Kota
oleh : Baharuddin Aziz
23 Juli 2016 (update: 28 Januari 2017, pukul 14:49 WIB)

Latihan Soal #05: OSK 2010 Soal 4 (OSK 2010 versi Final, No. 4)
(batas waktu pengerjaan: 75 menit) Robi sekarang 15 tahun lebih tua dari pada adiknya Soni. Pada y
Beri tanda silang (x) pada huruf pilihan di baris sebelah kanan tahun yang lalu umur Robi adalah dua kali dari umur Soni. Jika
dari nomor soal ybs. Soni sekarang berumur b tahun dan b > y, berapakah nilai b – y?
No Pilihan Jawaban No Pilihan Jawaban A. 13 B. 14 C. 15 D. 16 E. 17
1 A B C D E 26 A B C D E Soal 5 (OSK 2010 versi Final, No. 5)
2 A B C D E 27 A B C D E Enam acara pertunjukan kesenian akan berlangsung dari jam
3 A B C D E 28 A B C D E 17.00 hingga jam 21.00. Antara acara satu dengan acara
4 A B C D E 29 A B C D E
berikutnya harus terdapat jeda selama 5 menit. Setiap acara akan
5 A B C D E 30 A B C D E
diberi jatah waktu yang sama kecuali acara ketiga akan diberikan
6 A B C D E 31 A B C D E
7 A B C D E 32 A B C D E waktu lebih lama 10 menit dan acara terakhir akan diberi waktu
8 A B C D E 33 A B C D E tepat 1 jam. Berapa lama waktu jatah waktu acara ketiga?
9 A B C D E 34 A B C D E A. 29 B. 27 ½ C. 30 D. 39 E. 17 ¾
10 A B C D E 35 A B C D E Soal 6 (OSK 2010 versi Final, No. 6)
11 A B C D E 36 A B C D E
12 A B C D E 37 A B C D E Diketahui empat bilangan bulat positif W, X, Y dan Z yang juga
13 A B C D E 38 A B C D E memenuhi W < X < Y < Z. Jika hasil kali W dan Y adalah 32,
14 A B C D E 39 A B C D E dan hasil kali X dan Z adalah 50. Berpakah nilai X dikali Y?
15 A B C D E 40 A B C D E A. 20 B. 25 C. 36 D. 40 E. 44
16 A B C D E 41 A B C D E
Soal 7 (OSK 2010 versi Final, No. 7)
17 A B C D E 42 A B C D E
18 A B C D E 43 A B C D E Diketahui empat bilangan bulat positif W, X, Y dan Z. Jika hasil
19 A B C D E 44 A B C D E kali W dan Y adalah 32, dan hasil kali X dan Z adalah 100.
20 A B C D E 45 A B C D E Sementara diketahui juga hasil kali Y dan Z adalah delapan kali
21 A B C D E 46 A B C D E hasil kali W dan X. Berapakah y dikali z?
22 A B C D E 47 A B C D E A. 100 B. 160 C. 80 D. 200 E. 44
23 A B C D E 48 A B C D E
24 A B C D E 49 A B C D E Soal 8 (OSK 2010 versi Final, No. 8)
25 A B C D E 50 A B C D E Jika operasi (a mod b) adalah sisa dari operasi pembagian a oleh
b, berapakah (77.777.777 mod 100) + (55.555.555 mod 10)?
Jumlah benar = _____
A. 5 B. 12 C. 75 D. 77 E. 99
Jumlah salah = _____
Soal 9 (OSK 2010 versi Final, No. 9)
Nilai = _____
Seutas kabel serat optik yang panjangnya 200 meter diketahui
Bagian A: Aritmetika & Analitika (15 soal, nomor 1 s.d. 15)
terputus didalamnya tepat di satu posisi. Karena secara fisik
Soal 1 (OSK 2010 versi Final, No. 1) tidak terlihat adanya tanda-tanda dimana lokasi yang putus itu,
Sebuah tangki air memiliki enam buah kran air di bagian kabel dipotong-potong sbb.
dasarnya. Jika semua kran dibuka maka tangki yang terisi penuh  Pertama kabel dipotong ditengah, lalu masing-masing
akan habis isinya dalam 8 jam. Berapa jamkah yang dibutuhkan diperiksa,
untuk menghabiskan isi tangki bila hanya 4 buah kran yang  Bagian yang baik disimpan untuk disambung-sambungkan
dibuka? kembali nanti,
A. 9 B. 10 C. 11 D. 12 E. 14  Sementara yang di dalamnya terputus kembali dipotong
Soal 2 (OSK 2010 versi Final, No. 2) ditengahnya, hingga potongan sudah terlalu kecil, langsung
Adi dan sepuluh temannya sedang mendapatkan tugas prakarya. dibuang.
Mereka harus membuat dari kertas warna-warni bilangan- Potongan-potongan kabel yang baik kemudian disambung-
bilangan dari 1 sampai dengan 100 kemudian menempelkannya sambungkan kembali dengan biaya penyambungan 25 ribu per
di selembar karton yang panjang. Adi kebagian untuk membuat sambungan. Kabel yang sudah disambung-sambungkan itu nanti
semua angka lima (5) yang dibutuhkan. Berapa banyak angka masih dapat dijual seharga 5 ribu per meter. Asumsikan bahwa
lima yang harus Adi buat? tidak terjadi perubahan panjang yang signifikan sebelum dan
A. 20 B. 11 C. 19 D. 12 E. 10 setelah penyambungan, berapa banyak sambungan yang dibuat
agar nilai penjualan setelah dikurangi biaya penyambungannya
Soal 3 (OSK 2010 versi Final, No. 3) adalah sebesar- besarnya?
Tiga orang kakak-beradik memiliki perbedaan umur antara yang A. 3 B. 4 C. 5 D. 6 E. 7
tertua dan termuda adalah 10 tahun. Empat tahun yang lalu umur
anak kedua dua kali dari umur yang ketiga Sementara 15 tahun
yang lalu umur yang pertama dua kali umur yang kedua. Jika
umur-umur mereka sekarang dijumlahkan berapakah itu?
A. 48 B. 35 C. 45 D. 50 E. 40

# LatihanSoal05_OSK2010.odt Halaman 1 dari 5


Materi Persiapan Olimpiade Sains Bidang Komputer | Tingkat Kota/Kabupaten
Soal 10 (OSK 2010 versi Final, No. 10) Soal 14 (OSK 2010 versi Final, No. 14)
Ada 3 pedagang keliling: Ali, Bahar, dan Cholil, yang secara Jika ditekan 7 kali tombol merah setelah dihidupkan maka nada
berkala mengunjungi kota A untk berjualan. apakah yang terakhir terdengar?
• Ali mengunjungi kota A setiap 10 hari sekali dan terakhir ia A. do B. re C. mi D. fa E. sol
datang 3 hari yang lalu. Soal 15 (OSK 2010 versi Final, No. 15)
• Bahar mengunjungi kota A setiap 6 hari sekali dan besok ia
Jika sejak dihidupkan diikuti beberapa kali penekanan tombol
akan datang.
dan terdengan nada-nada “do-re-mi-fa-sol-do” maka berapa kali
 Cholil mengunjungi kota A setiap dua minggu sekali dan tombol merah ditekan dalam rangkaian penekanan itu?
terakhir ia datang 5 hari yang lalu. A. 3 B. 0 C. 4 D. 1 E. 2
Berapa hari lagikah berikutnya mereka akan bersamaan
mengunjungi kota A pada hari yang sama? >> Deskripsi berikut untuk Soal 16 dan Soal 17 <<
A. 101 B. 15 C. 45 D. 66 E. 37 Sebuah alat musik baru sedang dibuat. Musik hanya akan
membunyikan 5 nada saja: do, re, mi, fa, dan sol. Terdapat dua
>> Deskripsi berikut untuk menjawab Soal 11 s.d. Soal 13 << tombol untuk membunyikan nada-nadanya: tombol merah, dan
Sinbad menemukan informasi rahasia keberadaan suatu peti tombol putih. Nada yang akan dibunyikan saat penekanan suatu
harta karun di sebuah pulau terpencil berikut sebuah kertas tombol tergantung pada nada sebelumnya dan tombol apa yang
petunjuk. Nampaknya karena kertas petunjuknya sudah lapuk ditekan. Pada saat dihidupkan alat musik dalam keadaan „reset ‟.
maka sebagian tulisan tidak terbaca, yang terbaca hanyalah: “dari seperti tabel berikut (Sementara, pada saat dihidupkan maka
pohon beringin, melangkah ke timur ? langkah, lalu ke utara ? mesin akan langsung membunyikan nada do)
langkah, dan ke barat ? langkah, kemudian melangkah ke utara ?
Setelah menekan Setelah menekan
langkah, dan berakhir dengan 1 langkah ke timur”. Nada sebelumnya
tombol merah tombol putih
do mi re
re fa mi
mi fa mi
fa sol fa
sol mi do
Soal 16 (OSK 2010 versi Final, No. 16)
Setelah dihidupkan dilakukan penekanan 4 kali tombol maka
berapa banyak kemungkinan nada terakhir yang mungkin jika
Tanda “?” seharusnya berisi angka 1 dijit, bukan 0. Tanda “#”: diketahui nada setelah penekanan ke 3 bukan mi dan bukan fa?
laut/air. Tanda “.”: daratan. Tanda “@”: posisi pohon beringin. B. 1 B. 5 C. 2 D. 4 E. 3
Jarak antar tanda arah vertical/horizontal adalah satu langkah. Soal 17 (OSK 2010 versi Final, No. 17)
Soal 11 (OSK 2010 versi Final, No. 11) Sejak nada do terakhir terdengar sedikitnya berapa kali
Ada berapa posisi harta karun yang mungkin? penekanan yang harus dilakukan agar nada do kembali muncul?
A. 2 B. 5 C. 3 D. 1 E. 4 A. 1 B. 2 C. 3 D. 4 E. 5
Soal 12 (OSK 2010 versi Final, No. 12) >> Deskripsi berikut untuk menjawab Soal 18 s.d. Soal 21 <<
Jika ada informasi bahwa jumlah langkah adalah yang paling Enam bilangan bulat P, R, S, T, V, dan W saling berbeda dan
banyak dari semua kemungkinan maka berapa langkah kah itu? secara acak mengambil salah satu dari bilangan 10 sampai
A. 15 B. 9 C. 11 D. 6 E. 10 dengan 15. Diketahui juga bahwa:
Soal 13 (OSK 2010 versi Final, No. 13) P < S, R < T, R < V, T – W = 2,
Jika waktu itu malam hari dengan langit gelap gulita sehingga dan P adalah salah satu 12 atau 13
Sinbad kehilangan orientasi arah mata angin, ada berapa banyak Soal 18 (OSK 2010 versi Final, No. 18)
kemungkinan lokasi lain yang bisa ditemukan jika timur tertukar Urutan menaik mana yang memenuhi?
menjadi utara /selatan / barat saja? A. R, W, P, T, V, S
A. 0 B. 1 C. 2 D. 3 E. 4 B. W, V, T, R, P, S
>> Deskripsi berikut untuk Soal 14 dan Soal 15 << C. R, W, T, P, V, S
Sebuah alat musik baru sedang dibuat. Musik hanya akan D. R, T, W, P, V, S
membunyikan 5 nada saja: do, re, mi, fa, dan sol. Terdapat dua E. W, S, T, P, R, V
tombol untuk membunyikan nada-nadanya: tombol merah, dan Soal 19 (OSK 2010 versi Final, No. 19)
tombol putih. Nada yang akan dibunyikan saat penekanan suatu Kalau P = 13 mana yang benar?
tombol tergantung pada nada sebelumnya dan tombol apa yang A. S = 15
ditekan. Pada saat dihidupkan alat musik dalam keadaan „reset ‟. B. S = 12
seperti tabel berikut (Sementara, pada saat dihidupkan maka C. W = 14
mesin akan langsung membunyikan nada do) D. V = 12
Nada sebelumnya Setelah tombol merah Setelah tombol putih E. V = 10
do mi re Soal 20 (OSK 2010 versi Final, No. 20)
re fa mi
Jika W = 13, mana yang pasti benar?
mi fa mi
A. V = 10 D. S = 10
fa sol fa
B. T = 11 E. P = 14
sol mi do
C. R = 14
# LatihanSoal05_OSK2010.odt Halaman 2 dari 5
Materi Persiapan Olimpiade Sains Bidang Komputer | Tingkat Kota/Kabupaten
Soal 21 (OSK 2010 versi Final, No. 21) Soal 27 (OSK 2010 versi Final, No. 27)
Jika P > T, semua ini bisa benar KECUALI … Jika P turun dari bis setelah M (dan tidak pada halte yang sama),
A. W = 10 D. R = 11 dan tidak ada yang turun di halte 7, maka?
B. P = 13 E. T = 12 A. M turun setelah J.
C. V = 11 B. Q turun setelah J.
>> Deskripsi berikut untuk menjawab Soal 22 s.d. Soal 24 << C. Semua orang yang turun dari bis, turun pada pemberhentian
yang berbeda.
Enam siswa peserta olimpiade sains nasional bidang informatika
D. P kemungkinan meninggalkan bis pada halte 5 atau halte 8.
bernama J, K, L, M, N dan O. Mereka ditempatkan secara acak
E. Q kemungkinan turun pada halte 5 atau halte 8.
pada deretan bangku bernomor 1 sampai dengan 6 dari kiri ke
kanan. Ada beberapa hal yang diketahui: >> Deskripsi berikut untuk menjawab Soal 28 s.d. Soal 30 <<
• J pada bangku keempat. Tiga orang pecatur senior L, M, N dan 3 orang pecatur pemula
O, P, Q bertanding dalam sebuah turnamen.
• L dan N pada bangku di sebelah kiri dari bangku di mana K
duduk. Semua pecatur akan bertanding satu sama lain masing-masing
satu kali pertemuan.
• M duduk di sebelah kiri dari L.
 Diawal turnamen nilai seluruh peserta adalah 0.
Soal 22 (OSK 2010 versi Final, No. 22)
 1 angka diberikan jika berhasil mengalahkan pecatur pemula.
Mana urutan cara mereka duduk dari kiri ke kanan yang
memenuhi?  2 angka diberikan jika berhasil mengalahkan pecatur senior.
A. M, N, L, J, O, K D. O, J, M, K, N, L  Jika pecatur senior kalah dalam satu game, nilainya akan
B. K, O, N, J, L, M E. O, L, M, J, N, K dikurangi 2.
C. L, M, N, K, O, J  Jika pecatur pemula kalah dalam satu game, nilainya akan
Soal 23 (OSK 2010 versi Final, No. 23) dikurang 1.
Mana yang pasti benar?  Jika sebuah pertandingan berakhir dengan seri, maka
A. K pada posisi di sebelah kiri dari J. pertandingan tersebut akan diulang
B. N pada posisi di sebelah kiri dari L. Soal 28 (OSK 2010 versi Final, No. 28)
C. N pada posisi di sebelah kiri dari M.
Berapakah nilai maksimum yang dapat diraih oleh seorang
D. O pada posisi di sebelah kiri dari K.
pecatur senior, jika di menderita 2 kekalahan dalam turnamen
E. M pada posisi di sebelah kiri dari K.
tersebut?
Soal 24 (OSK 2010 versi Final, No. 24)
A. 4 B. 2 C. 0 D. 3 E. 1
Jika O pada bangku terkanan, siapa yang duduk di bangku
Soal 29 (OSK 2010 versi Final, No. 29)
kelima?
Berapa permainan yang harus dimenangkan oleh seorang pecatur
A. N B. J C. L D. M E. K
pemula untuk menempatkan posisinya dalam klasemen diatas
>> Deskripsi berikut untuk menjawab Soal 25 s.d. Soal 27 << seorang pecatur senior yang pernah kalah sekali dari pecatur
Pada suatu ketika sebuah bis sekolah mengantar pulang enam senior lainnya?
siswanya yaitu J, K, L, M, N, P dan Q. Sekolah berada pada A. 2 B. 4 C. 3 D. 1 E. 5
kilometer (KM) ke 1 pada sebuah jalan raya. Saat menurunkan
Soal 30 (OSK 2010 versi Final, No. 30)
siswa, bis hanya mungkin berhenti pada halte-halte yang
posisinya di KM ke 2, ke 3, ke 4 dan seterusnya. Kita sebut halte Jika P memenangkan seluruh permainan kecuali satu game
2, halte 3, halte 4 dan seterusnya. Pada saat itu, di halte 3 dan melawan L dan tidak kalah dari pemenang dalam turnamen
halte 6, tidak ada siswa yang turun. Ketika bis tersebut melaju tersebut, Siapakah yag mungkin akan menjadi juara dalam
setelah berhenti di halte 8, hanya tersisa 3 orang siswa di dalam turnamen tersebut?
bis dan P dan Q tidak termasuk di dalamnya. Diketahui juga P A. O atau Q
turun terlebih dahulu dari pada Q (tidak pada halte yang sama). B. L atau P
Soal 25 (OSK 2010 versi Final, No. 25) C. M atau N
D. Salah satu diantara M, N, O atau Q
Jika J turun dari bis pada dua halte setelah M turun, di manakah
E. Semua pemain kecuali L atau P
kemungkinan J turun dari bis?
A. Halte 2 dan halte 4.
B. Halte 2, halte 4 dan halte 7. Bagian B: Algoritmika (10 soal, nomor 16 s.d. 25)
C. Halte 5, halte 7 dan halte 8. Soal 31 (OSK 2010 versi Final, No. 31)
D. Halte 7 dan halte 8. // x dan y bertipe integer
E. Halte 4 dan halte 7. x := -16; y := 8;
x := x + y;
Soal 26 (OSK 2010 versi Final, No. 26) x := y – x;

Jika K dan L sudah turun tapi tidak bersamaan sebelum bis Nilai variable x dan y setelah eksekusi operasi- operasi tersebut:
meninggalkan halte 8, manakah pernyataan dibawah ini yang A. x=-8 dan y = 8
paling salah? B. x = 24 dan y = -8
A. J tidak turun dari dalam Bis C. x = 8 dan y = 18
B. M tidak turun dari dalam Bis D. x = 8 dan y = -16;
C. N tidak turun dari dalam Bis E. x = -8 dan y = 16;
D. Q tidak turun dari dalam Bis
E. Semua pilihan diatas benar

# LatihanSoal05_OSK2010.odt Halaman 3 dari 5


Materi Persiapan Olimpiade Sains Bidang Komputer | Tingkat Kota/Kabupaten
Soal 32 (OSK 2010 versi Final, No. 32) pemanggilan lagi(1,10) akan mencetakkan keluaran:
// x dan y bertipe integer A. ebacdhfgij D. fghijabcde
x := 20; y := 35;
x := x + y; B. abcdefghij E. cdefghijab
y := x - y;
x := x - y; C. jihgfedcba
Nilai pasangan variabel x dan y setelah operasi x:=x-y dieksekusi >> Potongan kode berikut untuk Soal 37 s.d. Soal 40 <<
adalah … Algoritma dengan pseudopascal berikut dimaksudkan untuk
A. x = 35, dan y =55 menjumlahkan bilangan bilangan pada suatu array tabeldata
B. x = 35, dan y = 20 hanya pada elemen array bernomor indeks kelipatan 2 (yaitu: 2,
C. x = 15, dan y = 5 4, 6, 8, dst...) sampai dengan elemen ke 30 dan mencetak
D. x = 15, dan y = -20 hasilnya ke layar. Diketahui, array tabeldata berindeks dari 1
E. x = -35, dan y = 15 sampai dengan 40.
Soal 33 (OSK 2010 versi Final, No. 33) sum := 0;
// inisialisasi i
procedure cetak(a : byte); while i < hargabatas do
begin begin
while a > 0 do sum := sum + tabeldata[i];
begin //increment i
write(a mod 2); end;
a := a shr 1; writeln(sum);
end;
end; Soal 37 (OSK 2010 versi Final, No. 37)
Prosedur di atas bila dipanggil dengan parameter 123 (yaitu Berapakah harga untuk menginisialisasi variabel i pada baris "//
cetak(13)) akan mencetak: inisialisasi i" agar algoritma bekerja seperti yang diharapkan?
A. 123 A. 0 B. 1 C. 2 D. 3 E. 4
B. 321
C. 123613015731 Soal 38 (OSK 2010 versi Final, No. 38)
D. 1111011 Perintah manakah yang harus diberikan menggantikan "//
E. 1101111 increment i"?
Soal 34 (OSK 2010 versi Final, No. 34) A. i := i + 1; D. i := i + 2;
Suatu array X berindeks dari 1 s.d. 10 dan setiap elemennya B. i := i – 1; E. i := i shl 2;
berisi huruf-huruf berurutan dari 'a' sampai 'j'. Suatu algoritma C. i := i mod 2;
bekerja pada array tersebut sbb. (Prosedur swap(a,b) adalah Soal 39 (OSK 2010 versi Final, No. 39)
menukarkan harga a dan b) Berapakah variabel hargabatas seharusnya diberi harga agar
for i := 1 to 10 do algoritma bekerja seperti yang diharapkan?
swap(X[i],X[10-i+1]);
for i := 1 to 10 do A. 31 B. 25 C. 30 D. 35 E. 40
write(X[i]);
Soal 40 (OSK 2010 versi Final, No. 40)
Hasil yang dicetak adalah …
Apa yang akan dicetak oleh algoritma jika setiap elemen array
A. abcdefghij berisi harga yang sama dengan nomor indeksnya jika algoritma
B. jihgfedcba dituliskan sebagaimana yang seharusnya?
C. ebacdhfgij A. 240 B. 464 C. 15 D. 465 E. 30
D. fghijabcde >> Potongan kode berikut untuk Soal 41 dan Soal 43 <<
E. cdefghijab if (a and not (not c and not b)) or not ((c and b) or not a) then
writeln('ding')
Soal 35 (OSK 2010 versi Final, No. 35) else
writeln('dong');
Dari soal no 19, jika algoritma yang bekerja pada array tersebut
Soal 41 (OSK 2010 versi Final, No. 41)
adalah sbb
for i := 2 to 9 do Pemeriksaan ekspresi lojik (dari struktur if-then) tersebut bisa
swap(X[i-1],X[i+1]; digantikan dengan ekspresi berikut ...
for i := 1 to 10 do
write(X[i]); A. ((a <> c) or (a = b) or b)
Hasil yang akan dicetak adalah … B. ((a = c) and (a <> b) and not b)
A. ebacdhfgij C. (a and (c or b)) or (not (c and b) and a)
B. abcdefghij D. ((a and c) or b) or ((not c or not b) and a)
C. jihgfedcba E. a and not b and not c
D. cdefghijab Soal 42 (OSK 2010 versi Final, No. 42)
E. fghijabcde Agar algoritma selalu menuliskan 'dong' maka kondisi yang tepat
Soal 36 (OSK 2010 versi Final, No. 36) adalah …
Dari soal no 19, suatu algoritma bekerja pada array tersebut sbb A. Variabel a dan variabel c keduanya harus true sementara
procedure lagi(a: integer; b: integer); variabel b tidak penting
var t: integer; B. Variabel b berharga true yang lain tidak penting
begin
t := (a+b) div 2; C. Variabel a dan variabel b keduanya harus true sementara
if (a <= b) then variabel c tidak penting
begin
write(X[t]); D. Variabel b harus false sementara yang lain harus true
lagi (a,t-1); E. Variabel b dan variabel c keduanya harus true sementara
lagi (t+1,b);
end
variabel a tidak penting
end;

# LatihanSoal05_OSK2010.odt Halaman 4 dari 5


Materi Persiapan Olimpiade Sains Bidang Komputer | Tingkat Kota/Kabupaten
Soal 43 (OSK 2010 versi Final, No. 43) Soal 48 (OSK 2010 versi Final, No. 48)
Jika variable a berharga false maka … Pemanggilan Bintang(1000) menghasilkan pencetakan "*"
A. algoritma selalu menuliskan 'dong' jika salah satu lainnya sebanyak?
true A. 2000 baris
B. algoritma selalu menuliskan 'ding' apapun harga variabel B. 1994 baris
b dan variabel c C. 1000 baris
C. algoritma selalu menuliskan 'dong' apapun harga variabel b D. 500 baris
dan variabel c E. 10 baris
D. algoritma selalu menuliskan 'dong' jika variabel b dan Soal 49 (OSK 2010 versi Final, No. 49)
variabel c berharga true
Untuk menghasilkan pencetakan "*" sebanyak 200 kali
E. algoritma selalu menuliskan 'dong' jika variabel b dan
memerlukan pemanggilan dengan?
variabel c false
A. Bintang(100)
>> Potongan kode berikut untuk Soal 44 dan Soal 45 <<
B. Bintang(102)
ts := 0;
ms := 0; C. Bintang(116)
for i := 1 to n do D. Bintang(200)
begin
ts := Max(ms-ts, X[i] + ts); E. Bintang(1000)
ms := Max(ts+ms, 0);
end;
Soal 50 (OSK 2010 versi Final, No. 50)
writeln(ms); function tail(x, y: integer): integer;
begin
Soal 44 (OSK 2010 versi Final, No. 44) if (y=0) then
tail:=x
Jika array berisi harga-harga sebagai berikut: else
tail:=tail(y, x mod y);
1, -1, 1, -1, 1, -1, 1 end;
(berarti juga n berharga 7) maka algoritma akan mencetak harga Fungsi rekursif di atas ekivalen dengan fungsi …
… A.
A. -5 B. -1 C. 13 D. 5 E. 8 function tail(x, y:integer): integer;
var z:integer;
Soal 45 (OSK 2010 versi Final, No. 45) begin
while (y<>0) do
Jika jumlah data adalah N maka berapa kalikah fungsi Max(a,b) begin
akan dipanggil selama algoritma itu dijalankan? z:=x mod y;
x:=y;
A. N B. N/2 C. 2N D. N2 E. log(N) y:=z;
end;
>> Potongan kode berikut untuk Soal 46 dan Soal 47 << tail:=x;
end;
procedure Star (t: integer);
begin B.
if (t < 2) then
function tail(x, y:integer): integer;
write('*')
begin
else
if (y=0) then
begin
tail:=x
Star (t-1); Star (t-2)
else
end;
tail:=tail(y mod x, y);
end;
end;
Soal 46 (OSK 2010 versi Final, No. 46) C.
Berapa kalikah simbol '*' dituliskan jika procedure tersebut function tail(x, y:integer): integer;
var z:integer;
dipanggil dengan perintah Star(6)? begin
while (y<>0) do
A. 8 B. 6 C. 1 D. 13 E. 2 begin
Soal 47 (OSK 2010 versi Final, No. 47) z:=x mod y;
x:=y;
Untuk menghasilkan keluaran antara 100 – 200 buah simbol '*' y:=z;
end;
pemanggilan adalah dengan perintah? tail:=z;
end;
A. Star (5)
B. Star (10) D.
C. Star (11) function tail(x, y:integer): integer;
begin
D. Star (15) if (x=0) then
E. Star (100) tail:=x
else
>> Potongan kode berikut untuk Soal 48 dan Soal 49 << tail:=tail(y, x mod y);
end;
procedure Bintang(t: integer);
begin E.
if (t > 0) then
function tail(x, y:integer): integer;
begin
begin
for i := 1 to t do writeln('*');
if (y=0) then
Bintang(t div 2); // t dibagi 2 dan dibulatkan ke bawah
tail:=y
end;
else
end;
tail:=tail(y, x mod y);
end;

# LatihanSoal05_OSK2010.odt Halaman 5 dari 5

Anda mungkin juga menyukai