procedure tulis(n,m:integer); var i,j,k:integer; begin for i:=1 to n do begin for j:=1 to (n div m) do for k:=1 to m do writeln('*'); for j:=1 to (n mod m) do writeln('-'); end; end;
-
Bila kita memanggil prosedur tulis(30,30), berapakah jumlah ‘*’ yang tertulis? {tuliskan angkanya}
-
Bila kita memanggil prosedur tulis(n,m), berapakah jumlah simbol (‘*’ maupun ‘-‘) yang tertulis? {tuliskan/nyatakan dalam m atau n}
-
Karena n dan m bernilai 30, maka total ‘*’ yang tertulis adalah 30*(30/30)*30 = 900.
-
n/m menghasilkan pembagian n oleh m dengan pembulatan ke bawah, artinya n/m dapat ditulis dengan (n – (n mod m))/m.
Total simbol tercetak adalah
n*((n – (n mod m))/m)*m + n*(n mod m)
= n*(n – (n mod m)) + n*(n mod m)
= n*(n – (n mod m) + (n mod m))
= n*(n)
= n2.
Jumlah ‘*’ yang tercetak adalah n*(n/m)*m sedangkan ‘-‘ berjumlah n*(n mod m).