OSP 2013

  1. Perhatikan potongan program di bawah ini!
    for i:=1 to n do
    begin
        for k:=i to n-1 do write(' ');
        for j:=1 to (2*i-1) do
            if (i=n) or (i mod 2=1) then write('*')
            else if j mod 2=1 then write('*')
            else write('0');
        writeln;
    end;
    for l:=n downto 2 do
    begin
        for m:=l to n do write(' ');
        for o:=(2*l-1) downto 3 do
            if o mod 2=1 then write('*')
            else write('0');
        writeln;
    end;    
    
  2. Apabila diberi masukan n=7, maka berapakah banyaknya ‘*’ yang dicetak pada layar?

    Untuk for bagian pertama:
    Untuk i yang bernilai ganjil, jumlah bintang = (2i – 1). Sehingga dari 1,3,5 dan 7 jumlah bintang = 1 + 5 + 9 + 13 = 28.
    Untuk i bernilai genap:
    j dimulai dari 1 sampai 2i-1, dan bintang tercetak ketika j merupakan bilangan ganjil yang mana berjumlah i. Karena itu jumlah bintang = 2 + 4 + 6 = 12.

    Untuk for bagian bawah:
    Perulangan dimulai dari n (7) sampai 2:
    Setiap pengulangan l terdapat pengulangan o yang mencetak ‘*’. Jumlah bintang yang tercetak adalah jumlah bilangan ganjil dari 3 sampai 2l-1 = l-1. Sehingga total dari n = 2 sampai n = 7 adalah 1 + 2 + 3 + 4 + 5 + 6 = 21.

    Dengan demikian total bintang yang tercetak adalah 28 + 12 + 21 = 61.

Share Now:

5 2 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x

Follow TikTok Kami @cahinfor

Pembahasan soal tahun 2023 sudah tersedia di TikTok Kami loh!