You are on page 1of 7

Soal : 1.

var a,b,c : ^integer; begin new(a); new(b); a^:= 7; b^:= 5; c:= a; a:= b; writeln(a^, ,b^); dispose(c); dispose(b); end. Output program di atas : a. 7 5 b. 5 7 c. 5 5 d. 7 7 2. var a,b : integer; p : string; x,y : string; begin x:= Lomba Pemrograman; y:= Aku menang; a:= pos(m,x); b:= pos(m,y); p:= copy(x,b,1); a:= pos(p,y); writeln(a, ,b, ,p); end. Output program di atas : a. 8 4 b b. 8 5 a c. 8 8 a d. 5 5 b

3. begin writeln(ln(27)/ln(3)-ln(8)/ln(2):0:0) end. Output program di atas : a. 1 b. -1 c. 3 d. 0 4. function a:Boolean; begin write(Selamat); a:=false; end; function b:Boolean; begin write(Berlomba); b:=true; end; begin if a or b then writeln(Pemrograman); end. Output program di atas : a. SelamatBerlombaPemrograman b. BerlombaPemrograman c. Pemrograman d. Berlomba

5. var x,y : string; i : integer; begin x:=Lomba Pemrograman; y:=; for i:= 1 to length(x) do y[i]:= x[length(x)-i+1]; for i:=1 to length(x) do write(y[i]);

end. Output program di atas : a. Lomba Pemrograman b. abmoL namargormeP c. namargormeP d. namargormeP abmoL 6. const nama :string = ; nilai : integer = 0; var data : record nama: string; nilai : integer; end; begin data.nama := ; data.nilai := 0; with data do nama := Adi; nilai := 85; writeln(data.nama, ,nilai, ,data.nilai, ,nama); end. Output program di atas : a. Adi 0 85 b. 85 0 Adi c. Adi 85 0 d. 85 0 7. procedure tambah(a,b,hasil : integer); begin hasil := a+b; a:= 0; b:= 0; end; var a,b,hasil : integer; begin hasil := 0; a := 2; b := 3; tambah(a,b,hasil);

writeln(a, ,b, ,hasil); end. Output program di atas : a. 2 3 0 b. 2 3 5 c. 0 0 5 d. 0 0 0 8. var i,j : integer; begin for i :=1 to 3 do for j :=i to 3 do write(*); writeln; end. Output program di atas : a. * ** *** b. *** *** *** c. *** ** * d. ****** 9. const i: integer = 10; begin for i := 1 to 5 do write (i, ); end. a. 1 2 3 4 5 b. 1 2 3 4 5 c.10 10 10 10 10

d. program eror (variabel identifier expected) Gunakan program berikut ini untuk menjawab 2 soal di bawah ini : program Uji; var T: text; i,j,k : integer; begin assign(T,input.txt); reset(T); readln(T,i,j,k); writeln(i, ,j, ,k); readln(T,i); readln(T,j); writeln(i, j); close(T); end. 10. Misalkan input.txt berisi baris-baris sebagai berikut : 3149 526 87 0 Bagaimana output dari program tsb ? a. 3 1 4 9 526 87 b. 3 1 4 95 c. 3 1 4 52 d. 3 1 4 58 11. Misalkan input.txt berisi baris-baris sebagai berikut : 1 2 3 4 5 Bagaimana output dari program tsb ? a. 2 3 1 45 b. 1 0 0 23 c. 1 3 2

45 d. 1 2 3 45 12. Misalkan A dan B bertipe integer dan masing-masing bernilai 10 dan 4. Ekspresi mana yang menghasilkan nilai nilai 5 ? a. A div 7 *B b. B div 7 * A c. A * B div 7 d. A * B / 7 13. Berapakah keluaran program ini, bila pemakai memeberi nilai m = 8 ? var c,m,j : integer; begin j:= 1; write (m= ); readln(m); for c := 5 to m do j : = j * (m-4); writeln(j); end. a. 120 b. 24 c. 1 d. 256 13. Bila pada soal sebelumnya m = 1, maka berapa keluaran program ? a. 0 b. 5 c. 1 d. salah semua 14. I dan J masing-masing bertipe integer yang masing-masing bernilai 13000 dan 5, dan L adalah variabel bertipe LongInt. Ekspresi manakah yang bias menghasilkan 65000 dengan tepat dalam bahasa Pascal ? a. L:= I * J; b. L := LongInt(I*J); c. L:= LongInt(J * I); d. L : = Longint(I) * J;

15. Perhatikan potongan program berikut. Bagaimanakah hasil eksekusi program tersebut? Function Log2(A: word):word; Var L : integer; Begin L:= 0; While A > 1 do Begin Inc(L); A:= A div 2; End; Log2 := L; End; Var A, LogA : word; Begin A:= 31; LogA:= Log2(A); Writeln(A, ,LogA); End. a. 31 4 b. 1 4 c. 1 5 d. 31 5

You might also like