Monday, September 19, 2016

Contoh Soal Pascal untuk OSN Jilid 1


 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

   

1 komentar so far

nomor 6 kok gk ada jawaban nya??


EmoticonEmoticon