Halo kawan-kawan "Jamane Komputer" apa kabar?? Semoga kalian semua dalam keadaan baik selalu. Pada kesempatan kali ini saya ingin berbagi pengalaman saya untuk memuat tentang soal-soal OSN bidang komputer. Soal ini saya buat hanya untuk latihan saja, jika soal-soal yang saya buat ini masih banyak kekurangan saya mohon maaf yang sebesar-besarnya. Mudah-mudahan contoh soal ini dapat membantu kalian semua yang sedang belajar untuk menghadapi lomba OSN bidang komputer.
ini ya kawan-kawan saya kasih soal-soalnya... Selamat mencoba:
1. | Perhatikan potongan program berikut ini: |
a,b : integer; begin for a := 0 to 3 do for b := 1 to 1+a do writeln('Aku pasti bisa'); |
|
Dari potongan program di atas, maka kalimat “Aku pasti bisa” akan tercetak sebanyak…. | |
a. 6 | |
b. 7 | |
c. 8 | |
d. 9 | |
e. 10 | |
2. |
Perhatikan potongan program berikut ini: |
procedure bulan(i:integer); var a,b : integer; begin b := 1; while b < i do begin a := 1; while a <= 100 do begin writeln('oke'); a := a * 5; end; b := b + 1; end; end; |
|
Apabila potongan program di atas dipanggil dengan fungsi bulan(5), berapakah banyaknya tulisan oke yang akan dicetak? | |
a. 10 | |
b. 11 | |
c. 12 | |
d. 13 | |
e. 14 | |
Potongan program berikut untuk mengerjakan nomor 3-5 |
|
Var
r,s,t,u : integer;
begin
readln(r,s,t,u);
if (r<s) then
if
(r>t) then
if (t<u) then
writeln('Aku Pelajar Purbalingga')
else
writeln('Aku Pasti Bisa')
else
if (s<u) then
writeln('Pascal itu mudah')
else
writeln('Rajin Pangkal Pandai')
else
if (r>u) then
if
(t<u) then
if (t>u) then
writeln('Say No to Drug')
else
writeln('Indonesia Jaya')
else
if
(r>t) then
if (r>u) then
writeln('Semoga jadi Juara')
else
writeln('Lomba Mapel Komputer'); |
|
3. |
Jika r =11, s =11, t=11, u=11 maka output program di atas adalah…. |
a. Aku Pelajar Purbalingga | |
b. Rajin Pangkal pandai | |
c. Indonesia Jaya | |
d. Semoga Jadi Juara | |
e. Tidak mengeluarkan tulisan apapun | |
4. |
Jika r=12, s=13, t=14, u=15 maka output program di atas adalah… |
a. Aku Pelajar Purbalingga | |
b. Pascal itu mudah | |
c. Pascal itu mudah | |
d. Say No to Drug | |
e. Lomba Mapel Komputer | |
5. |
Jika r=14, s=15, t=15, u=15 maka output program di atas adalah…. |
a. Aku Pasti Bisa | |
b. Semoga jadi Juara | |
c. Rajin Pangkal Pandai | |
d. Semoga jadi juara | |
e. Tidak mengeluarkan tulisan apapun | |
Potongan program berikut untuk mengerjakan nomor 6-7 |
|
var x,y : integer;
begin
x := 78;
y := 0;
repeat
x
:= x div 3;
y
:= y + 2;
until (x <= 3);
writeln(y); | |
6. | Nilai y dari potongan program di atas adalah… |
a. 6 | |
b. 7 | |
c. 8 | |
d. 9 | |
e. 10 | |
7. | Jika nilai awal X adalah 121, berapakah nilai X sebelum nilainya menjadi 1? |
a. 3 | |
b. 4 | |
c. 6 | |
d. 8 | |
e. 10 | |
Potongan program berikut untuk mengerjakan nomor 8-9 | |
var x,y,z : integer; begin x := 0; z := 0; for y := 1 to 7 do z := z + y; x := z shl 1; writeln(x, ' ',y); | |
8. | Output dari program di atas adalah… |
a. 30,6 | |
b. 56,7 | |
c. 56,8 | |
d. 66,9 | |
e. 70,7 | |
9. | Berapa kalikah proses z := z + y; dijalankan? |
a. 3 | |
b. 4 | |
c. 5 | |
d. 6 | |
e. 7 | |
Perhatikan Potongan Program berikut ini: | |
v
ar data : array[1..7] of integer; procedure dicoba(x:integer); begin data[1] := 2; data[2] := 6; data[3] := 1; data[4] := 3; data[5] := 4; data[6] := 9; data[7] := 8; if(x <= 8) then begin dicoba(x*2); write(data[x],' '); dicoba(x*2+1); end; end; | |
10. | Output yang dihasilkan jika dilakukan pemanggilan dicoba(2) adalah…. |
a. 1 2 3 | |
b. 2 6 4 | |
c. 3 6 4 | |
d. 3 6 4 9 | |
e. 1 3 6 4 |