Rabu, 05 Agustus 2009

contoh program fungsi dan prosedur

program contoh2 ;
uses
wincrt;
const
max = 20;

var
jml : integer;
bil : array[1..max] of integer;
hasil_rata:real;
bil_genap:integer;

procedure entry;
{menerima masukan n bilangan, berupa bil integer}
var
i: integer;
begin

for i:=1 to jml do
begin
write('data ke ',i,' = ');readln(bil[i]);
end;
end;

procedure get_max(n:integer);
{mencari max dan minimum dari n bilangan integer}
var
i : integer;
max, min : integer;
i_max, i_min : integer;
begin
max := 0;
min := 30000;
for i:= 1 to n do
begin
if bil[i] > max then
begin
max := bil[i];
i_max := i;
end ;
if bil[i] < min then
begin
min := bil[i];
i_min := i;
end;
end;
writeln ('nilai maksimum = ', max,' pada indeks ke : ',i_max);
writeln ('nilai minimum = ', min,' pada indeks ke : ',i_min);
end;

procedure cari_rata(n :integer; var rata:real);
{mencari rata-rata dari n bilangan}
var
jml,i : integer;
begin
jml :=0;
for i:= 1 to n do
jml := jml+bil[i];
rata := jml/n
end;

function genap(n:integer):integer;
{mencari banyaknya bilangan genap}
var
i:integer;
jml_genap:integer;
begin
jml_genap := 0;
for i:=1 to n do
begin
if (bil[i] mod 2)=0 then
jml_genap := jml_genap + 1;
end;
genap := jml_genap ;
end;

{main program}
begin
clrscr;
write ('masukan jml data :');readln(jml);
entry;
get_max(jml);
cari_rata(jml,hasil_rata);
writeln('Rata-rata : ',hasil_rata);
bil_genap := genap(jml);
writeln('Jml bilangan genap: ',bil_genap);
end.

Tidak ada komentar:

Posting Komentar