Contoh dan Pembahasan Materi Uji Olimpiade Sains Bidang Informatika

Contoh dan Pembahasan Materi Uji Olimpiade Sains Bidang Informatika

Berikut ini merupakan dokumen pembekalan Olimpiade Sains Nasional (OSN) bidang Informatika tahun 2006. Pembekalan dilengkapi dengan contoh soal beserta detail penyelesaiannya. Secara umum materi uji tertulis terbagi atas tiga komponen utama: materi uji analitika dan logika, materi uji aritmatika, dan materi uji algoritmika.

Contoh soal
1. Diberikan fungsi berikut

function apaini(a: integer; b: integer): integer;
var x,y,r: integer;
begin
    x := a;
     y := b;
     while (y <> 0) do
	    begin
	        r := x mod y;
	        x := y;
	        y := r;
	        end;
     apaini := x;
     end;

Pertanyaan: Jika fungsi tsb dipanggil dengan “writeln(apaini(414, 662));” berapakah yang dicetaknya?

Pembahasan: Pemanggilan tsb akan dijalankan dengan variabel a mula-mula berharga 414 dan b berharga 662. Kedua variabel dalam algoritma tidak mengalami perubahan apapun, jadi fungsinya hanya menyampaikan harganya ke variabel x dan y masing-masing.

Dalam fungsi tersebut terdapat struktur loop while-do dengan variabel yang aktif (berubah-ubah) dalam loop tersebut bernama x dan y. Terdapat variabel lain yaitu r yang berfungsi sebagai variabel pembandu operasi. Dalam struktur begin-end di dalam loop while-do tsb terjadi perubahan harga x diganti dengan y dan y diganti dengan harga r yang sebelum x dan y berubah r diisi x mod y. Jadi algoritma ini saling memodulokan dua bilangan. Dalam memahami loop while-do, penting diperhatikan inisialisasi dan kondisi iterasi berakhir. Inisialisasinya adalah mengisi variabel x dengan 414 dan y dengan 662. Iterasi akan berakhir apabila y sebagai variabel yang akan memodulokan x berharga 0. Jadi urutannya:
414 mod 662 = 414
662 mod 414 = 248
414 mod 248 = 166
248 mod 166 = 82
166 mod 82 = 2

Download Contoh dan Pembahasan Soal Olimpiade Sains Bidang Informatika:

Download dari 4shared (daftar/login dulu) » Download Link

14 komentar

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *