program data;
uses wincrt;
var
NAMA :ARRAY [1..10] OF STRING;
NIM :ARRAY [1..10] OF STRING;
T_MANDIRI :ARRAY [1..10] OF INTEGER;
N_ABSEN :ARRAY [1..10] OF INTEGER;
N_UTS :ARRAY [1..10] OF INTEGER;
N_UAS :ARRAY [1..10] OF INTEGER;
N_AKHIR :ARRAY [1..10] OF REAL;
N_HURUF :ARRAY [1..10] OF CHAR;
M_KULIAH :ARRAY [1..10] OF STRING [15];
N,I :INTEGER;
BEGIN
WRITE('INPUT BANYAK DATA : ');READLN(N);
FOR I:=1 TO N DO
BEGIN
WRITELN;
WRITELN('DATA' ,I);
WRITE('INPUT NAMA : ');READLN(NAMA[I]);
WRITE('INPUT NIM : ');READLN(NIM[I]);
WRITE('INPUT M_KULIAH : ');READLN(M_KULIAH[I]);
WRITE('INPUT T_MANDIRI : ');READLN(T_MANDIRI[I]);
WRITE('INPUT N_ABSEN : ');READLN(N_ABSEN[I]);
WRITE('INPUT N_UTS : ');READLN(N_UTS[I]);
WRITE('INPUT N_UAS : ');READLN(N_UAS[I]);
END;
FOR I:=1 TO N DO
BEGIN
Clrscr;
N_AKHIR[I]:=(0.1*N_ABSEN[I])+(0.2*T_MANDIRI[I])+(0.3*N_UTS[I])+(0.4*N_UAS[I]);
if (N_AKHIR[I]>=80) AND (N_AKHIR[I]<=100) then
N_HURUF[I]:='A'
else
if (N_AKHIR[I]>=70) AND (N_AKHIR[I]<80) then
N_HURUF[I]:='B'
else
if (N_AKHIR[I]>=60) AND (N_AKHIR[I]<70) then
N_HURUF[I]:='C'
else
if (N_AKHIR[I]>=50) AND (N_AKHIR[I]<60) then
N_HURUF[I]:='D'
else
if (N_AKHIR[I]>=0) AND (N_AKHIR[I]<50) then
N_HURUF[I]:='E'
END;
WRITELN;
WRITELN;
WRITELN(' KARTU HASIL STUDY MAHASISWA PUTERA-BATAM 2009-2010 ');
WRITELN('=============================================================');
WRITELN('NO NAMA NIM M_KULIAH N_AKHIR N_HURUF ');
WRITELN('=============================================================');
FOR I:=1 TO N DO
BEGIN
WRITELN(I:1 , NAMA[I]:10 ,NIM[I]:10 ,M_KULIAH[I]:13 ,N_AKHIR[I]:12:0,N_HURUF[I]:12);
END;
WRITELN('=============================================================');
READLN;
DONEWINCRT;
END.