Anda di halaman 1dari 15
a SELEKSI TIM OLIMPIADE KOMPUTER INDONESIA 2006 TINGKAT PROVINSI Bidang Komputer Teori Pemrograman Pascal Waktu : 168 Menit DEPARTEMEN PENDIDIKAN NASIONAL DIRERKTORAT JENDERAL PENDIDIKAN DASAR DAN MENENGAH DIREKTORAT PENDIDIKAN MENENGAH UMUM TAHUN 2005 OLIMPIADE INFORMATIKA TINGKAT PROVINSI 2005 SELEKSI TIM OLIMPIADE KOMPUTER INDONESIA 2006 TEORI PEMROGRAMAN PASCAL Banyak Soal : 112 Nomor Waktu: _168 Menit PILIHLAH JAWABAN YANG PALING BENAR! BERIKAN TANDA | @ ] PADA LEMBAR JAWAB. Petunjuk Pengerjaan Soal Baca dan kerjakan setiap soa) dengan hati-hati dan seteliti mungkin Setiap soal memiliki bobot yang sama—sebab itu jangan terpaku pada satu soal yang Anda rasa sulit. Kerjakan soal yang, Anda rasa paling mudah dabuls ‘ Setiap soa! henya menuliki satu ‘=oab yang paling benar, Pada beberapa soal Anda mungkin menjumpai beberapa pilihan yang menurut Anda sama-sama benar. Anda harus memikitkan baik-baik, jawaban manakah yang paling tepat, } Beberapa soal mengacu pada baris tertenta dalam program. Baris yang dimaksud akan ditunjukkan oleh komentar program, seperti (baris-1€. Gunakan pemandu ini untuk mengacu pada baris yang dimaksud dalam soa! Jangan risau dengan soal yang salah—soal yang salah akan dianulir (dihapuskan). Bila Anda menemukan Kesalahan, Taporkan hal tersebut pada akhir sesi, bukon pada saat mengerjakan soal, Walaupun demikian, pengetikan soal ini sudah diusahakan seteliti mungkin, jadi jangan terbun-bur menganggap setiap keanchan sebagai kesalakan soal!! 5. Berikut ini adalah set karakter yang digunakan dalam semua listing program. Gunakan daftar ini untuk menghilangken keragu-raguan untuk huraf yang mirip: 96 9 © ee ofa eee Dia ae stcs > 2? © ap cD EB ou bow oN Pook & eevee eee Be : cae ahig i = nop & = 6 ae ae jerikut ini adalah beberapa istlah yang, akan muncul dalam soal-soal: Runtime error: kesalahan (error) yang, terjadi pada saat program dijalankan. Bila nuntime error terjadi, akan tampil pesan seperti “Runtinve error 109 at 0000,03D5" dan program tersebut sezera dihentikan. + Compile error kesalahan yang, terjadi dalam penerjemahan program Pascal (sebelum program tersebut bisa dijalankan), % Ekspresi: bagian dari scbuah perintah Pascal, yang menghasilkan nilai tertentu. Misalnya, di dalam perintah writeln(t * 204 5) maka i * 2 + © adalah ekspresi. Bila Anda tidak pernah mendengar istilah eksprest ‘sebelumnya, pandanglah eksprest scbagai “ramus” yang ditulis dalam bahasa Pascal. + Parameter (di dalam fungsi/prosedut): cksprest yang disertakan di dalam tanda kurung di dalam pemanggilan fungsi atou prosedur tersebut, Misalnya, dalam perintah Kriteln(‘Jurlah = ', J); ekspresi ‘umlan = ‘dang adalah parameter dari prosedur Wz iveln. e 8 ) 3 [1] Manakah pemyataan tentang identifier yang,salaby [3] Manakah penggunaan fangsi berikut yang, tidak dapat ‘entifier dapat digunakan untuk nama variabel, nama diizinkan dalam deklarasi konstanta? fangs, nana prosedur atau nama Konstanta, ©. const ani0; s-ordla) ; b Jika'scbuch identifier telah dideklarasikan untuk nama | d= const a=/10/7 selength(a) : Narlabel pada program. ulama, maka sub program | © const ae20"s_sopos (1. a) {prosedur atau fungs) tidak bolch menggunakan nama | f+ comet ar20z ochre): sdontifier tersebut 9. const acid; sehigh(a) : © Nama identifier dapat diawali dengan huruf atau karakter tunderscore (.) 4. Karakter ke-dua dan seterusnya harus berupa hurl, angka, underscore atau kombinasinya. Semua pernyataan (9, , c dan d) semuanya benar. [4], Ekspresi Konstanta manakah yang tidak dibenarkan? a const key="A 7 G= (ord (key) -10) /5; b. conse message~’ Error’; comessage+#13#10 c const flageTRUE; nflag-FALSE; finish-not flag and nflag: [2] Carilah deklarasi array yang salah! array[-1.-1) of Gcy,2) b. var a:array[crue,.falsel of 1..10; a D. VEE gg7rey (Soo lisa] of set of byte; | d- const setopans{merah, kuning, hijau): Sec ciezray(sa A ofp! “ord (merah) +1; @. var avazray(booleas] of *x"..'2") e Up= DA) 2X1; aaupe 217 ‘Oiimpiade Sains Provinsi 2003 Bidang Informatika-Komputer 7 [5] Perhatikan deklarasi berikuts type ‘tpoint-array {2 vearray UA". yretring (21; end: Bagaimana mendeklarasikan Konstanta untuk tipe di atas? a. const point epoinz= (Ge: (true, false) jy: AB), Ge: (false, true) :y: BC") } b. const point :tpointe (ix t°A') cerue,x(*8] :false,y: AB), Ge ('a'] :falsa,x(*8) true, y: BC"); ¢. const poine:tpoine (Ge: (crue; false) .y:/A8") 5 Ge: (Ease; true) .y:/8C")) 5 d. const point :tpeint: (be: (erue, false) , (7:°A8")). Ge: (£alse, crue), (y2/B0"1)); fe. const point :tpoint= (ix: (true, false) ry: /AB), (ac: [Zalee, true) ;y:"BC" 1); 2] of vecora 'a") ef boolean; [6] Dari deklarasi konstanta dt layar jika diberikan perintaly wriceln(poine (2).x(°3"1}; alas, apa yang muncul dt . TRUE bl FALSE AB a. BC ©. tidak ada tampilan apa-apa di layar [7] Perhatikan deklarasi berikut: Type BusRoute = record first: 0.297 interval: 1.159; howoften: string (21; end; var Grarray[0..899] of BusRoute; Manakah perintah pemberian nilai (assignment statement) yang valid? a. €[0] -howoften (1) :='A'; eo] showoften (2) :='8"; b with cf2) do first :=0; interval :a1; . e-firet (0] :=1; echowoften (1) :=!A"; d. with © do incerval:=1; fe. Semua perintah di atas tidak valid 8] Jka pada sebuah file input terdapat data yang harus dibaca dalam bentuk segitiga bilangan seperti aed ‘Maka struktur data yang paling tepat untuk menyimpan keseluruhan data tersebut adalah a. Array satu dimensi b. Array dua dimensi Record a. Objek fe. Pascal tidak mengenal tipe data untuk menyimpan segitiga bilangan. [9] Diketabui deklarasi sebagai berikut: const Mat = 50 ; Maw = 50; pe Row = 1..MaxM + Column 22. -Maxw ; Direction = (wast, north, east, south: Dengan menggunakan deklarasi di atas, dellarasi variabe] ‘manakah yang tidak valid? a, var Module: record wallsareay (Direction) of boolean; nesicteger; end: b. var Map:array{Row, Column] of record nrsinteger; end; c. var Map:array [Row] of Set of Dixection d. var Map:array(Row, Column] of record D:direction; nr: 0. -MaxtieMaxat end: ©. Semua deklarasi di atas adalah valid. [10] Perhatikan program berikut: type Charsetsset of char; ‘mysetl, myset2, myset3:charset; eh: char begin myaet2:<('D!,'T!,12"] mysett =A. HNL: MySet3i-MySeti - ityset2; for ch:='Z' downte 'c! do if ch in MySet3 then MySeta := [pred (ch)]; end. Jika program dijalankan, maka isi dari Mysec3 adalah: a Etc) be bet, Dr, et, ed Piano ee ee a. ta) CAE [21] Perhatikan program berikut: ‘Setbytel, setbyte2 isbytes begin tino; while iclo do Begin ine (4,31; petbytel end: setbyte2 s# [2..5, ena. Jika program cijlankan, maka isi dari setbyt adalah 11,2,4,5,10, 12) set of byte; te sethytel + (id; 10. ~ setbytet: Bl ie3. 321 e. (3,12) a. (6,9 eo ‘Glimpiade Sains Provins! 2003 Bidang Informatika Kompotet {12} Peshatian program beret en one cone, for tis a x0 20 do ere deieeinis! af Jika program dijalankan maka ouput i layar adalah: ma ba ‘ i te 8 os tte i tone cue wo ee [13] Tipe data manakah yang tidak dapat dibandingkan dengan menggunakan operator > (lebih besa)? a, Character b string © Real a. set © Semua tipe data (a,b, dan 4) dapat dibandingkan smenggunakan operator > [14] Jka ada dekdorasi beribut var 2+ “Integer; S: string c: char: Ei _Tateger: Bizyte; Ekspresi manakah yang bernilsi False?” sizeot(P) = 4 Sizeot(P*) = 2 Sizedt(s) = 255 Sizeor(c) = Sizeot(s) SizeOr (I) > Sizeof(B) naeee [15] Apakah output program «i bawah ini? ver 1, J: Integers begin Bote 10; Yends for i is 8 tot a inc(j. i dec Chi; writelaG, * end. i: Program tidak dapat berhenti 61 10 ao 45 10 469 [16] Peshaitkan program di bawah ini: type thari = (senin, selase, rabu, xamis); ver hari: chars; Gs thari; begin fark i= rabu; for i:= senin to abu do if ord(i) mod 3 = 0 then nari + pred{hari) else Snethars): end. [171 Sotelah program dijalankan, apakah isi dari variabel hari? a senin Db selasa rake a. kamie ‘&tesjadi compile error [28) Masih menggunakan program di atas,jike disisipkan perintah writeln(‘Tsi variabel bari Revsi7 di bawah baris ke-0, mala yang muncul di Iayar adalah a. Tei vayiabel hari + senip bl Tei variabel hari : selaba © Toi variabel hari = rabu . Tai variabel hari + kamis terial compile error [19] Perhathan program berikut: ‘aybrchar; begin Yor areta' to ‘a do for b:-a downto ‘a! do ie acab then write (b) elee weitelnial: end. JHika program dijalankan, maka output di layar adalah be cea bea be ® bad cba ‘ab abe sped dea > aap abe bb gaee [26] Perhatikan program di bawah ink “AE So integer procedure a: eine begin fret, 8) writeld,! ‘Glimpiade Seine Provingi 2005 Bidang Informatia-Komputer arinc (i); arine (2): inc (hia; ‘Apa keluaran program diatas? a § 1015 b 15 21 28 & 15 20 25 a 51228 © Tidak dapatditentukan [23] Perhatikan program di bawab ial: a beword: procedure tukar(var a,brword) + begin 5. wapia) ? aiceuep tb) | era begin, 'a7=§0001; b:=30002; tukar (a,b): weiteinia, 2h Apa yang tercotak di layar setelah program dijalankan? a2 bot © a2 a 2-2 1-256 [22] Bila procedure cukar diubah menjadi procedure tukar (var a,b:word}; begin Qisatb; besacby assasb; end; ‘Malka hasil yang tercetak di layar adalat: ppoee [23] Bila procedure cukar diubah menjadi [procedure tukar(a,b:word) ; Yar o:word: begin Gisa; areby b end: ‘Maes hasil yang tercotak di layar adalal: a 1-T wb o21 © 12 42-2 fe. Tidak dapat ditentukan [2a] Pechattkan program di bawah int erbyte: Eunction a:boolean; begin weite('a'); Eunction b: integer beoin mite ('b!): Bincrdial: begin Tea then e:5 Grenot fer teritelate) : end ‘Hasil yang nampak di layar adalah afalse anfalse aba2se angalse ‘Terjadi compile error pans [25] Perhatikan program di bawah ini: fs vext; i: integer: begin’ Beeicn|£, ‘inp Peser!#); eeadin|i.3)? close (£ writen 3: end. ext: [281 Misalkan file tnpuc.cxt berisi baris-baris sebagai berthut: i ‘Bagaimanakah output darl program tersebul? e394 bo i eo dd. Tergantung dari apa yang dimasukkan oleh user . Terjadi runtime errr karena is file input «txt tidak sestiai untuk progeam ini (27) Perhattkan fangst cekursi di bawah ini function rektrsi (n:integer} -real; begin TE et chen rekursi:=berat (1) elee ‘Pekursi :-berat (n] ¢rekursi (n-1)/10 ends ‘Bila diketahui ist dari array berat berturut-turut adalah 10. 50, 52.3, maka berapakah yang dihasilkan oleh pemanggllan rekurs! (2)? a. 20.23 b. ss.74 © 55.23 a. 65.23 fe. Tidak ada jawaban yang benar [28] Apakah output dari program berikut ini: ‘Olimpiade Sains Provinsi 2005 Bidang Informatika Komputer var I, 3, K: Integer: besin| J 3 ae. togdo ke Te * K b aoa fe Salah semua [29] Beropakah output dati program berikat ini , 3, Keinceger; bes! for I:= 1 toa do Segin Enc UK) + for J:20 co T do; incite, SV: Salah semua 30} Berapa karakterkah yang dapat ditampung oleh tipe data ansistring di FP? ae 255 d. i024 Ansistring dak mempunyai batasan panjang. [31] Error yang ada dalam program dl bawah ini adalah: a, runtime error b. identifier expected © ype mismatch, d._Fexpected ©. tidak ada error Var x integers y:real, begin xo end. [32] Output dari program di bawah ini adalat: a. layer kosong b, abeabe © abcabe 4. terjadi runtime error fe. terjadi compile error ‘yriteCabe’ abe); clsser; end. 183] Manakah type di bawah ini yang tidak termasuk ordinal? a. Integer Boolean Real Word fe Tidak ada jawaban [38] Manakah yang tidak termasuk reserved word? Buses «procedure integer efor [25] Manakah yang bukan merupakan identifier yang valid? a. Programl 1b, Program Satu Program t Program| e _1Program [36] Output dari program di bawah ini adalah: a. TRUE b. FALSE eu a0 fe. terjadi error : type mismatch begin ‘weite(false and(teue or teue or true or false and true and false and true and false)): end. [97] Output program di bawah ini adalal a0 box tidak dapat diketabui 255 ‘e. terjadi compile error var x: byte; begin begin begin X20 x XOF writela (x) lend; end end. [38] si dari variable x pada program di bawah ini adalah; a ‘error type mismatch tiak dapat diketahui 498 ‘Olimpiade Sains Provingi 2005 Bideng Informatika: Komputer x: char, begin xem chr(ord(y)-Ds end. [39] Output dari program TRUE FALSE 2 1 0 —— Boolean, begin xl y= Gl) ory: ym suce(y); swritela(ord(s); end. [40] not (a and b), expression ini sama dengan: a. TRUE b. FALSE & (nota) and (not b) 4d. (nota) or (not b) @ a0rb [41] Yang tidak termasuk “stable sorting algorithm” adalah; a quick sort b. bubble sort &selection sort 4. mergecort fe. counting sort 39] Yang termasuk “linear time sorting” adalah: ‘quick sort bubble sort selection sort a. merge sort ©. counting sort ®. [43] Deklarasi array yang benar adalah: a. array (1... 10] ofbyte b. array (30) of byte © aray [a'..z) of byte a. array [i t0 10] of byte © array [arbre] of byte [44] Deidarasi pointer yang benar adalah: a. varx: pointer of byte: BL varx: byte’ vars: byte; d.varx:@byte; fe. varx: bytes maka nilai dari variable x adalah: (x bertype * d. 255 8. 65535 146] Output program di bawah adalah a. 100 b. aamaax nnn dx fe. texjadi compile error x: Mbyte; begin : ‘new(s); xh 1005 Wwriteln@oOooxA0—9); end. [47] Isi dasi variable x di bawah ini adalah: a0 v2 2 x= Ge sh b)*2; end. [M49] Isi dai variable x di bawab ini adalak: a 7 bo «8 4. overtiow error compile eror xi byte begin x= 83; x= xahl 20 she17 hl sh 5; | end. 149] Output dari progeam di bawah ini adalah a 123456789 987654321 12345 a 54321 © ZZ ‘Diimpiade Sains Provinsi 2005 Bidang Informatike-Kompater ss: stringls): i byte; begin 's:= 123456789; for i= 110 length(s) do sli] == sllength(s)-i+1}; wiriteln(s): end, [50] Variable yang mempunyai ukuran 16-bit bestipe a. bytedan word b shortint dan integer &bytedan shortint dd. word dan integer ce. real dan extended [51] Variabel bertipe shortint dapat menampung nila, a. 256 128 17 d 255 ©. 200 [8%] Output program di bawah adalah: a b 2 0 then begin abet): writes) endl begin abc(9}; end 156) Output program di bawah adalah. a, AISENODNI b. INNNNNNNN| © INAINAINA dd. NDONESIAL © INDONESIA si string: isbyte begin ‘5: INDONESIA’ for l= 1 to length(s)+1 dos: copy(s.2, length(s)-1)+s(1), end, 157] Output program di bawah adalah: 0 ba tak tentu 9 FALSE i=byte; begin writelng) end, lrpiade Sains Provinel 2005 Biang Infommauka-Kowputer 158] Output program di bawah adalah: a8 boa < 38 ot eB function abe(x: byte) by begin fx <2 then abe = x else abe abetsl) + abe(s-2) end: begin ‘writeln nd. 159] Expression yang menghasilkan nilai 38 adalaby a. exp@ting); b. exp), © expngy"3): d.In@)*exp@): & InGexp6); [60] Output dart program di bawah adatah ao b 256 «512 1028 e. 2088 var ab: byte; x: integer: begin Mond fora 1to3do for b= 1to3dox:=x*2; {baris ke-6} write(x), end, [61] Jika program pada nomor 61 di atas, (baris ke-6} diganti dengan: For b=1 toa dox = <3, outputnya adalah 3 b 6 243 4-729 e787 Usa) ka program pada nomer 61 di ass, (bars ke) cigant dengan: For b=1 toa do =1; outoutnya ada ma 6 . syntax error Loo, tak berhenti [63] var t: byte: ‘string: begin 's:= ‘Saya senang mengerjakan soal Pascal’; (baris ke-t} for i:=1 tolength(s) do begin if si] ~ a" then 8 = copy (ei length(e-1)*copy Li): end; write( end. (Output dari program di atas adalah: Saya senang mengerjakan soal Pascal kan soal Pascal Saya senangmengerja ‘senang mengerjakan soal PascalSaya kan soal PascalSaya senang mengerja, soal PascalSaya senang mengerjakan eno re {64} Jka program nomor 64 di atas pada (basis ke-t) digant! dengan” "5. = Bahasa” Pascal adalah bahasa pemeogeaman.”, outputnya adalah rmanBahasa Pascal adalah bahasa pemwogea Bahasa Pascal adalah bahasa pemrograman Pascal adalah bahasa pemogeamanBahasa bbahasa pemrograman adalah Bahasa Pascal adalah bahasa penwrograma:‘sa:s0) oF (<0) oF (€<>0)) then Pervataan kondisi di atas dapat disingkat menjadi. 2% i{(a.or bor 0) then (arbre <> 0) then if{a+b*e © 0) then ifla+bre © 0) then ‘salah semua (7 Function xyz(n : byte) : integer: “igs) then xyz a else xyz 21 + xy2(0-1); End Begin. write(xy2(5)); end. (Curput dari program di atas adalah: ad bos < 10 415 2 2 [72] Semua operator berikut dapat digunakan pada ekspresi lupe data integer dan real, kecuali«. a 2 ay eo mod [73] Salah satu operator numeric yang juga dapat digunakan pada ekepresi tipe data string adalah . b a7 © mod [74] Semua operator berikut adalah operator Boolean, kecualt a and & or not 4. x0r 175] Perhatikan potongan program di bawah int begin readin(s): h for 1=1 t0 length(s) do begin case ord(sfi) of 64..77:hlij-mehe(ord(e[i}) +13); 78. 90:h[i}:=chr(ord(sfi})-13%; 97..109:hfi}-mehr(ords[iI}=13)s, 110. 122:hfi}-=ehr(ord(s{iD)-13}s end; ends witeln(h)s end. Jika isi variabel s adalah "Qv znan nga xrznhna, qv fvgh nan nym kKeluaran yang dihasilkan program adalah, Di mana ada keriauan, di situ ada jalan ‘di mana ada kemauan di situ ada jalan Qv znan ngn xrenhna, qv fugh ngn wayna (Tidak ada output) di MANA ADA KEMAUAN, DI SITU ADA JALAN + Untuk nomor 76-81, perhatikan program di bawab int: Keterangan: soal tigp nomor TIDAK saling berkitan program spiral; u var n:]..5; a:1. 5; ree-array{0..6,0..6) of char: isi’AI Z's BKS.5} (0.65 0.245 ‘gerak:(kanan,bawah,kiri,atas); Fitext; procedure baca; {baca file input} bexin ‘assign(f/spiral.in’); reset); read( hn); readin; close end; procedure tulis; (tulis output} begin assign(f;spiral. out’; rewrite((); for b:=1 1.n do begin for k=! 10 n do begin vwrite(ree[b,k]): write( ts end; writeln(n; end; closet end: procedure batas; {buat batas pada matriks) begin for i-=0 to n+1 do begin reo[0,i:=#2; {batas atas) reofi.0]:=#2; {batas kiri} reo{n=1i}:=#2; {batas bawah} reofisnt l]o#2: {batas karan) nds end; procedure tikawal; (letakkan karakter awal} be isi’; (Karakter awal) case A of Tibegin {tengah} bim(ntl) div 2; ko=(n+1) div 2; geval 2begin {kir atas} bial; kent; gerake=kanan; end Sibegin (Kanan atas} bei: ken; gerak:=bawah; ‘Giimpiade Saing Provinei 2005 Bidang Informatika Komputer ‘bon; ki=1; gerak=atas; ends end; reefb kisi; end pproceduse isimotriks; {isi matriks} cease gerak of kanan:begin if rac(b,k+1]#0 then ine(gerals) clse bewin Keke 1; ine(si); reefb,k]=Isi; ine fend end bawahibegin if rec{b1,k]#0 then ine(gerak) else begin ‘bi=b+1; ino(isi)s reel end; end; kici:begin if ree{b,k-1]#0 then inc(gerak) alse begin Kemkel; inetisi; reek) en; end; atas:begin if ree[b-1,k]#0 then gerak'=kanan else begin be=b-1; ineisi); reefb,k):=isi inc); ends end; end; until Jesqrtn): end: ines isis inet; procedure proses; {proses data} ‘begin batas;ttkawal; isimatriks; end; bowin bbaca; proses; tulis; end Untuk nomor 76-79, isi file spiral. in adalah: $ {176} Jka program dijalankan is fike spiral out adalah aABCDE eA PQRSE 4. IM IN 1 PQ OxYTG ALU AT ESR NWwVUH AK AV fA BIC MLKJI aw ix D> AH (OE bMNOPQ ©. 0MON 00 0P OA LUTSR OL OW OX 0Q 0B KVABC 0K OV OY OR OC IWXYD 07 0U oT as oD 1HGFE — O10HOGOFOE [771 Jika baris kedua pada prosedur ttkawal yaitu isi diubah menjadi isi’, Keluaran program menjadi. aabede [Error 76: Constant out of range] parst — d.fm info fpf oxyte Aunt awvuh fk fy fa fb miki fw ix fy fa fit fe iree bmnapq — ¢ [Error 26: Type mismatch.) latse kvabe jwxyd ihgfe 76] Jika baris kedua pada prosedur tthawal yaitu isi~'A; diubah menjadi isi, keluaran program menjadi aabede [Error 76: Constant out of range.) patst 4. [Tidak ada output} oxytg nwvuh mIkji beret ¢. [Srror 26: Type mismatch} ffere free Feree ferret [79] Jika isi prosedur tulis diubah menjadi assign(f/spiral out); rewite(()s swriteln(geralds end; elosett)s keluaran program menjadi ‘pada file spiral.out: kanan pada layar tertampil: kanan tidak ada output pada file dan layar; tidak ada pes kesalahan te rertampil pesan kesalahan e. pada layar tertampil: gerak [80] Jka masukan pada file spiral in adalah 4 2, keluaran program adalah a ABCD’. [Tidak ada output) LMNE _ .. [Error 76: Constant out of range ] KPOF 4d [Program tidak dapat berhenti) SIHG — e.[Program tidak dapat dijalankan]) ‘Olimpiads Sains Frovinsi 2005 Bidang informmatike-Komputer {81] Jika boris kedua pada prosedur ttk wal yaitu isk~'A'; iubah menjadi isi='Z dan masukan pada spiral.in ‘adalah 3 1, maka keluaran program. adalah. a ab b B_Zl Zz © [Error 76: Constant out of range] ¢.D. {Tidak ada output] fe £ Salah semua [a2] Pada Pascal terdapat tipe data set yang dideklarasikan slengaa cara, ‘type sel char b. type set=char; type dataset of integer; type dataset of char; e.ype dataset of strings [3] Berikut adalah tipe data yang TIDAK dapat dijadikan tipe casar (base type) dati tipe data set, KECUALL. a. longint string [semua tidak dapat] a. real a,b, ¢ [semua dapat} 184] Panjang variabel bertipe string maksimal a 256 b. 235 cE. sebesar memori yang tersedia 4. 254 1028 [85] Berapakah nilai n setelah program berikut selesai dieksekusi? var minteger; begin ni=16 shl 4; nd. ad b. 256 © 16 4 64 ©. {tidak ada jawaban yang memenuhi] [86] Apabila operator shl pada program di atas diubah ‘menjadi shy, nilain yang dihasilkan program adalah, al b. 256 « 16 a 64 fe. {tidak ada jawaban yang memenuhi] [87] Perhatskan deklarast variable berikut ini sarray{l..100] of b biboolean;, e-char; diset of char; ecintege Fstring(15}; geal; spresi yang diperbolehkan dalam bahasa Pascal adalah, afe}=g mod e; bafl] or af2); emord(e}*all}8: d=fe}tfehr(al Dh, {tidak ada jawaban yang memenuhil (68) Layout program dalam Pascal yang benar adalah «. begin end a. program [identifier begin ‘ype [identifiers var [identifier], 4. var [identifier]; {program usama}; begin end {program utame end; ». program [identifier ‘var (identifier); begin «type [identifier program utama); var [identifier]; end begin procedure [identifier ‘program [identifier]; begin {program vtama}; end, end. {9} Berit adalah pernyataan yang bener tentang identifier, KECUALL 4. panjang identifier bebas, tapi hanya 63 karakter pertama yang berari/signfikan , karaider perama dari suatu identifier harus berupa hurt . tandatitk () dipergunakan untuk membentuk uaified identifier 4. anya huruf,angka, dan underscore () yang diperbolehkan untuk dijadikan unsur pembentuk identifier [semua pernyataan benar] [90] Yang tidak termasick reserved word adalah, 8. inherited b. string ©. record 4. aay ©. integer [91] Fungsi yang dapat mengubah masukan berupa desimal menjadi biner dengan benar di bawah ini adalah. 8, funtion Bit(B,P:byte):char; var Mcbyte; begin Mi=I shi; if(B and M)>0 then Bit:="0' else Bit", end: ‘Ofimpiade Sains Provinsi 2005 Bidang Informatika Komputtr TT var Bil, Lbyte; ‘begin readln(Bil}; for end, 7 downto 0 do write Bit(Bil)}; b. function BixB,Pibytey char, var Mbyte; begin = she Ps if B und M)-0 then Bits ond var Bil, Fbyte; begin readin(BiD; for 10 to 7 do wrte(Bix(Bilt); end. else Bit="1' . function Bit(B,Pbyte):char, var Mcbyte: if @ and M)>0 then Bi end; vvar Bil, Lbyte; begin readln(Bil); for I:=0 t0 7 do write(Bit(Bil,t)); end. se Bit 4. function Bit(B,P-byte):char; var Mcbyte; begin Mz=1 shi P; if B or M0 then Bit-=0' else Bit ends var Bil, Lbyte; begin readin(Bil); for l=? downte 0 do write(Bix(Bil)); nd ¢. [tidak ada program yang benar) [92] Bila D, MY bertipe integer dan D=2, M=9, Y=86, apakah ‘output dai writeln(D and M or ¥)? a. Tre > 86 e 2 4. [salah semua} eo [93] Cara menukar dua clemen array yang benar adalah... var data:aray(l.64] of byte; igik’oyte; a ken jonis om; data}; data} data); dati} = ata; data =k; data =eataf ke [tidak ada yang benar] b 4. afi; {9a} Jika variable R bertipe byte, ekspresi yang mempunvai hhasil yang sama dalam Pascal adalan: ‘a. {ne(R); dan Dec(R); bb. Ine(R); dan R=Ord(R}, fe. Tne(R); dan R=; d. Dee(R}; dan R:=R-+ fe. Dec(R); dan R=Pred(R); 195] vari: byte; begin itt end, Program di stas menggunakan memory sebesar ‘a. Lbyte b. 17 byte c. Tbit di7bit fe. salah semua [96] Perintah esc apabila dibaca menggunakan character berupa: a #27 b. AIS c. 86 a P £oH [97] function Prima(a : longint): var x, y integers begin sx=trune(sqrt(n)}#15 ye=25 while xy do ifn mod y=0 then break else ine(y); Primacex~ end; begin alia ungsi di atas menghasitkan : ‘a, Compile Error b. True c. False as © Prima [98] Apabila angka 5 diganti 1 maka : ‘Compile Error Tre False 1 Prima paere [99] vara, b: integer; begin ab; wwriteln(a=b) end ‘Output soal di atas adalah = TRUE FALSE wb bisa True bisa False Compile Error [200] wpe ‘Table = array (1.10) of integer ‘Glimpiade Seins Provinsi 2005 Bidang Informatika-Komputer ‘Table : ¢Table; Cts integer; procedure Putar2(I, integer; Table : (Table); var i, integer; procedure TulisHasil; vari: integer; beg for i=! 10 9 do ‘write(Tablefi, writeln(Tableti#1)} end begin if =r then ‘TulisHasil else foriv=I tor do begin ‘ustable[if; table(i)table(; tablef{}= Putar2(i+1, r, Table); end; end vari: integers begin Cro; for i140 10.do. Tablefi}-=i; Putar2(1, 10, Table); end ‘Keluaran pertama adalah : 12345679810 a b 12345697810 12345678910 compile error no output [101] vara,b, G dye, f: boolean: begin atrue; br=false; e-truc; d:=false; e:=true; f=false; ifa then begin if then begin ife then wwriteln(’A benar B benar C salah’) writeln(A benar B benar C benar); end eke bei ife then \writeln('A benar B salah C Bensr’) else writeln(“A benar B salah C Salah’); end else ifd then begin ‘fe then begin if fthen ‘writeln(D benar E benar F benar’) else writeln(D benar B benar F salah’; end else begin if f then vwriteln(’D benar E salah F benar’) else ‘writeln(D benar E salah F salah’); end, end end Output dari Jawaban di atas adalah : ? ‘A benar B benar C salah b. Abbenar B benar C benar c. A benar B salah C Salah dA benar B salah C Benar di layar tidak ada tulisan [102] Bila a diganti menjadi a:false, maka, outputnya ‘adalah ? D benar E benar F benar b. Denar E benar F salah €. Denar E salah F benar 4. Denar E salah F salah e. Di layar tidak ada tulisan [103] var st, $2, 83, 9: string: begin sl='TIM; s2:="OLIMPIADE’ s3:="KOMPUTER': s4:='TNDONESIA’ writela(s]+s24s3484); end Hasil compile dati program tersebut adalah: a, 'TIM'OLIMPIADE"KOMPUTER"INDONESIA’ bFIMOLIMPIADEKOMPUTERINDONESIA © COMPILE ERROR d. TIDAK ADA KELUARAN TIM OLIMPIADE KOMPUTER INDONESIA [104] var pl, p2, p3, Ns integer; st: strings begin st="TOKI singkatan dari Tim Olimpiade Komputer Indonesia’; N: pl==post', st); p2posto' st) p3=pos(}’, st); end Nilai p1, p2, p3 secara berturut turut adalah a. 7360 b. 3670 © 3607 ‘Olimpiade Sains Provins! 2005 Bidang fnformada Komputer 4. 0736 7036 [105] Dari soal di atas, mana variable yang tidak scharusmya ditulis 7 pl p2 23 N st {05} begin = 1000; k=1000; ists writeinc); end. vari, j,k: integer, Nilai yang tertulis adalah a 1000000 b. 16960 16430 d. -16961 fe. -16430 var ik 1s integers Jnl; k:=0; 10; for i=1 t0 10 do begin Est; kjk end; writeln(); end, Berapa nilai | ketika i= 8? 35 21 34 89 24 [108] Berapa nila] ketika i= 107 55 21 34 89 95 (109 begin for j=1 103 do for i=1 t0 3 do; variteln(it);, end, ‘var i,j: integer Keluaran Program éi atas adalah a. ERROR ketika melakukan compile bo zi 6 9 4. 369 e, 123246369 (110) Diselenggarakan di manakah Olimpiade Sains ‘Nasional pada bulan Septembar 2005 mendatang? ambi Jakarta Pekanbaru Yogyakarta Medan, opese [111] Medali apakah yang diraih Indonesia pada IOI ke 16 tahun 2004 di Athena, Yunani? ‘Dua Emas, Satu Perungge Satu Emas, Dua Perak Dua Perak, Satu Perunggu. Satu Perak, Satu Perunggu. Satu Emas, Satu Perak cpoge [112} Sejak tahun berapakah Indonesia mengikuti JOT? 11995 (101 ke 7, Findhoven, Belanda) 1996 (IOI ke 8, Veszprém, Hungaria) 1997 (101 ke 9, Cape Town, Afrika Selatan) 1998 (IOI ke 10, Setubal, Portugal) 11999 (OT ke 11, Antalya, Turlc) saoee Selamat Mengerjakan, Jadilah yang Terbaik ‘Glimplade Sains Provinsi 2003 Bidang Informatika-Komputer @

Anda mungkin juga menyukai