hitung:=0; n:=10; for i:=1 to n do if (i mod 2 = 0) then for j:=1 to 10 do if (j mod 2 = 0) then hitung := hitung + j else hitung := hitung + i; writeln(hitung);
-
Apakah output yang tampil di layar? Jawab: ……..
-
Jika kode di baris ke 2 diganti dengan
n:=1000
Apakah output yang tampil di layar? Jawab: ……..
-
Karena n awal bernilai 10, maka hitung akan bernilai (10/2)/2 * (2+10)*5 + 30*(10/2)
= 5*12*5/2 + 30*5
= 300 -
Jika n bernilai 1000, maka output menjadi
(1000/2)/2 * (2 + 1000) * 5 + 30 * (1000/2)
= 500/2 * (1002) * 5 + 30*500
= 1267500.
Pada potongan program tersebut, perintah hanya dijalankan ketika i merupakan kelipatan 2. Kemudian setiap nilai i, terdapat perulangan sebanyak 10 kali yang mana ketika j merupakan bilangan genap, hitung akan ditambah sebanyak bilangan tersebut. Sedangkan ketika ganjil, hitung akan bertambah sebanyak i. Jadi hitung akan bertambah ketika j = 1, 3, 5, 7 dan 9.
Berdasarkan hal tersebut, setiap i yang bernilai genap, hitung akan ditambahkan sebanyak 5*i dan ditambahkan 2, 4, 6, 8 dan 10 (merupakan j) = 30. Barisan perintah berjalan ketika i = 2, 4, 6,…, n. Jadi total i (belum dikali dengan 5) adalah (n/2)/2 * (2 + n) [rumus Sn, dengan banyaknya barisan adalah n/2].
Jadi hitung akan bernilai (n/2)/2 * (2 + n) * 5 + 30 * (n/2), karena Sn ditambahkan sebanyak 5 kali dan hitung akan dijumlahkan 30 sebanyak n/2 kali.
⅓ x ⅔ = 2/9 bagian
kok bisa gitu kak?
Kan ibunya dapat 1/3, jadi sisa 2/3 untuk anak-anaknya. Karena anaknya ada 3, jadi 2/3 itu dibagi 3 lagi buat masing-masing anak, sehingga bagian yang didapat anak-anaknya itu 1/3 dari 2/3 = 2/9.