Deskripsi Untuk Soal Nomor 30 dan 33
function hitung(a: integer): integer;
begin
if (a < 0) then
begin
write('-');
hitung(-a);
end
else if (a > 1) then
begin
tmp := hitung(a/2);
write(a mod 2)
end
else writeln(a);
end;
Apa yang akan dicetakkan pada pemanggilan hitung(100)?
Apa yang akan dicetakkan pada pemanggilan hitung(-150)?
Pada pemanggilan hitung(1000) berapa kali perintah write(a mod 2) akan dijalankan?
Untuk pemanggilan hitung(M) menghasilkan keluaran berupa bilangan berdigit 8 berapa bilangan terkecil M yang mungkin?
"I think, therefore I am." -Descartes
Program diatas bertujuan mengkonversi angka 'a' dalam desimal ke biner-nya.
30. ) 100(10) = 1100100(2)
31. ) -150(10)= -(biner(150)= -10010110(2)
32. ) Perintah "write(a mod 2)" dikerjakan sebanyak "jumlah bit - 1" , jumlah bit 1000 adalah 10, maka perintah dijalankan sebanyak 9 kali.
33. ) Bilangan biner berdiget 8 terkecil adalah 10000000(2) = 128(10)
Masuk untuk menulis jawaban