program_infobilangan;
function CekGenap(x: integer) : boolean; begin
CekGenap:=not boolean(x mod 2);
end;
function CekPrima(x:integer) : boolean;
var
prima:boolean;
i: integer;
begin
prima:=true;
if(x<=1) then begin
prima:=false;
end else begin for i:=2 to (x div 2) do begin
if(x mod i = 0) then begin
prima:=false;
break;
end;
end;
end;
CekPrima:=Prima;
end;
function Faktorial(x:integer): longint;
var
hasil : longint;
i : integer;
begin
hasil :=1;
for i:=x downto 1 do begin
hasil := hasil*i;
end;
Faktorial := hasil;
end;
procedure InfoBilangan(x:integer);
begin
writeln;
writeln('Informasi Bilangan');
writeln('==================');
case cekgenap (x) of
true : writeln(x,'merupakan bilangan genap');
false: writeln(x,' merupakan bilangan ganjil');
end;
case CekPrima(x) of
true: writeln(x,' merupakan bilangan prima');
false: writeln(x,'bukan merupakan bilangan prima');
end;
writeln(x, '!= ',faktorial(x));
end;
var
bil : integer;
begin
write('Mauskan bilangan bulat yang akan diperiksa: ');
readln(bil);
InfoBilangan(bil);
readln;
end.
Program di atas adalah program untuk memberikan informasi apakah bilagan yang dimasukkan genap/ganjil, prima/bukan prima, dan menghitung nilai faktorialnya.
Yang ane nggak ngerti :
untuk yang dicetak biru : ane nggak paham kenapa cukup begitu aja untuk mengecek bilangan genap/ganjil padahal yang ane tau programmnya lebih panjang dari itu.
untuk yang dicepat merah : ane [removed]void(0); mengapa harus sampe (x div 2)