Assalamualaikum wr wb..
Hai...hai... sahabat sahabat programmers. Kali ini saya posting mengenai program dengan array. Program ini mengenai penilaian mahasiswa :)
program asti_array_nilai_mahasiswa;
uses wincrt;
type
baris1=array[1..50] of string;
baris2=array[1..50] of real;
var
nama:baris1;
nilaimid,nilaiuas:baris2;
ket,max,min:real;
pil:integer;
i,n,cacah,posisi:byte;
j,kethuruf:char;
cari:string;
procedure menu;
begin
writeln('CARI=.................');
writeln('1. Nama mahasiswa');
writeln('2. Nilai UTS tertinggi');
writeln('3. Nilai UTS terendah');
writeln('4. Nilai UAS tertinggi');
writeln('5. Nilai UAS terendah');
writeln('6. Keluar program');
write('Pilihan Anda= ');readln(pil);
writeln;
end;
begin
writeln(' ..::Mengisi nilai PD mahasiswa::..');
repeat
begin
inc(n);
write('Nama : ');readln(nama[n]);
write('Nilai UTS : ');readln(nilaimid[n]);
write('Nilai UAS : ');readln(nilaiuas[n]);
writeln;
write('Isi lagi? <y/t> ');readln(j);
writeln;
end;
until (j<>'y');
writeln('DATA NILAI PD
MAHASISWA');
writeln;
writeln('+____+_______________+________________+_________________+______________+');
writeln('|No. | Nama
| Nilai UTS |
Nilai UAS | Keterangan
|');
writeln('+____+_______________+________________+_________________+______________+');
for i:=1 to n do
begin
ket:=(nilaimid[i]+nilaiuas[i])/2;
if ket>80 then begin kethuruf:='A'; end
else
if ket>60 then begin kethuruf:='B'; end
else
if ket>40 then begin kethuruf:='C'; end
else
if ket>20 then begin kethuruf:='D'; end
else
kethuruf:='E';
writeln(i:3,nama[i]:15,nilaimid[i]:15:2,nilaiuas[i]:15:2,kethuruf:15);
writeln('+____+_______________+________________+_________________+______________+');
writeln;
end;
readln;
begin
repeat
clrscr;
menu;
case pil of
1: begin
cacah:=0;
writeln('..::Mencari Nama
mahasiswa::..');
write('Siapa yang akan dicari?
');readln(cari);
for i:=1 to n do
begin
if nama[i]=cari then
begin
posisi:=i;
inc(cacah);
writeln(cari,' ada di nomor
',posisi:2,', dengan nilai sebagai berikut.');
writeln('Nilai UTS =
',nilaimid[posisi]:2:2);
writeln('Nilai UAS =
',nilaiuas[posisi]:2:2);
writeln('Keterangan= ',kethuruf);
end;
end;
if cacah=0 then writeln('nama ',cari,'
tidak ada di dalam daftar');
writeln('Jadi, nama ',cari,' ada
',cacah,' anak');
end;
2: begin
cacah:=0;
writeln('..::Mencari nilai UTS
tertingi::..');
max:=nilaimid[1];
for i:=1 to n do if
nilaimid[i]>max then max:=nilaimid[i];
for i:=1 to n do
begin
if nilaimid[i]=max then
begin
posisi:=i;
inc(cacah);
writeln('Nilai UTS tertinggi
yaitu ',max:4:2,' diraih oleh nomor ',posisi:2,' bernama ',nama[posisi]);
end;
end;
writeln('Jadi, nilai UTS tertinggi
ada ',cacah,' anak');
end;
3: begin
cacah:=0;
writeln('..::Mencari nilai UTS
terendah::..');
min:=nilaimid[1];
for i:=1 to n do if
nilaimid[i]<min then min:=nilaimid[i];
for i:=1 to n do
begin
if nilaimid[i]=min then
begin
posisi:=i;
inc(cacah);
writeln('Nilai UTS terendah
yaitu ',min:4:2,' diraih oleh nomor ',posisi:2,' bernama ',nama[posisi]);
end;
end;
writeln('Jadi, nilai UTS terendah
ada ',cacah,' anak');
end;
4: begin
cacah:=0;
writeln('..::Mencari nilai UAS
tertingi::..');
max:=nilaiuas[1];
for i:=1 to n do if
nilaiuas[i]>max then max:=nilaiuas[i];
for i:=1 to n do
begin
if nilaiuas[i]=max then
begin
posisi:=i;
inc(cacah);
writeln('Nilai UAS tertinggi
yaitu ',max:4:2,' diraih oleh nomor ',posisi:2,' bernama ',nama[posisi]);
end;
end;
writeln('Jadi, nilai UAS tertinggi
ada ',cacah,' anak');
end;
5: begin
cacah:=0;
writeln('..::Mencari nilai UAS
terendah::..');
min:=nilaiuas[1];
for i:=1 to n do if
nilaiuas[i]<min then min:=nilaiuas[i];
for i:=1 to n do
begin
if nilaiuas[i]=min then
begin
posisi:=i;
inc(cacah);
writeln('Nilai UAS terendah
yaitu ',min:4:2,' diraih oleh nomor ',posisi:2,' bernama ',nama[posisi]);
end;
end;
writeln('Jadi, nilai UAS terendah
ada ',cacah,' anak');
end;
6: donewincrt;
end;
writeln;
write('Apakah Anda
ingin mencari lagi? <y/t> ');readln(j);
until (j<>'y');
end;
end.Selamat menjalankannya ...
0 komentar :
Posting Komentar