program contoh103;
uses wincrt;
var nama:array[1..25]of string[25];
nilai:array[1..25]of real;
jumlahnilai,rata:real;
i,banyaksiswa:byte;
procedure bacadata;
begin
clrscr;
{bagian membaca data}
i:=1;{pengisian dimulai indeks}
write('nama siswa (isi "x" jika selesai) : ');read(nama[i]);
while nama [i] <> 'x' do
begin
write('nilai ujian : ');readln(nilai[i]);
inc(i);{penambahan indeks}
write('nama siswa (isi "x" jika selesai) : ');readln(nama[i]);
end;
banyaksiswa:=i-1;
end;
procedure hitungrata;
begin
{bagian menghitung nilai rata-rata}
jumlahnilai:=0;
for i:=1 to banyaksiswa do
jumlahnilai:=jumlahnilai+nilai[i];
rata:=jumlahnilai/banyaksiswa;
end;
procedure cetak;
begin
{bagian cetak hasil}
clrscr;
writeln('daftar nilai ujian pascal ');
writeln('=====');
writeln('nama siswa ujian');
writeln('=====');
for i:=1 to banyaksiswa do
begin
gotoxy(3,4+1);write(nama[i]);
gotoxy(33,4+1);write(nilai[i]:6:2);
end;
writeln;writeln('=====');
writeln('nilai rata-rata : ',rata:6:2);
end;
begin {program utama}
bacadata;
hitungrata;
cetak;
end.
Tidak ada komentar:
Posting Komentar