Senin, 22 Oktober 2012

Program Array_Dalam_Record

Kali ini saya akan sharing tentang program pascal, yaitu program menghitung nilai mahasiswa yang menggunakan array dalam record. mudah-mudahan bermanfaat.
Baik langsung saja mulai dari Sytak programnya dulu....

Program Array_Dalam_Record;
uses crt;
type data = record
     nama : string[50];
     uts,uas,tgs : byte;
     na : real;
     grade : char;
end;
var
   n,i : integer;
   x : array[1..100] of data;
begin
clscr;
  write('Masukan Jumlah Data : '); readln(n);
  writeln;
  for i:=1 to n do
  begin
      with x[i] do
      begin
           writeln;
           writeln(' DATA KE-',i,'');
           writeln('===================================');
           write('Masukkan nama        : '); readln(nama);
           write('Masukkan nilai Tugas : '); readln(tgs);
           write('Masukkan nilai UTS   : '); readln(uts);
           write('Masukkan nilai UAS   : '); readln(uas);

           na:= (0.2*tgs) + (0.3*uts) + (0.5*uas);
           if (na <= 100) and (na >= 80) then
           grade:= 'A'
           else
           if (na <= 79) and (na >= 60) then
           grade:= 'B'
           else
           if (na <= 59) and (na >= 40) then
           grade:= 'C'
           else
           if (na <= 39) and (na >= 20) then
           grade:= 'D'
           else
           if (na <= 19) and (na >= 0) then
           grade:= 'E';
      end;
  end;
  writeln;
  writeln(' * * * * * * * * DAFTAR NILAI AKHIR MAHASISWA * * * * * * * *');
  writeln('=============================================================');
  writeln;
  gotoxy(1,(n*10)); write('|   NAMA    ');
  gotoxy(1+10,(n*10)); write('| TUGAS ');
  gotoxy(1+25,(n*10)); write('| UTS ');
  gotoxy(1+30,(n*10)); write('| UAS ');
  gotoxy(1+35,(n*10)); write('| Nilai Akhir ');
  gotoxy(1+50,(n*10)); write('| Grade |');
  for i:=1 to n do
   begin
    with x[i] do
      begin
        gotoxy(1,(n*10+i)); write(' ',nama);
        gotoxy(1+10,(n*10+i)); write('| ',tgs);
        gotoxy(1+25,(n*10+i)); write('| ',uts);
        gotoxy(1+30,(n*10+i)); write('| ',uas);
        gotoxy(1+35,(n*10+i)); write('| ',na:0:2);
        gotoxy(1+50,(n*10+i)); write('| ',grade,'');
      end;
  end;
readln;
end.

Nah.....
dan ini hasil Runing programnya....!!!

Selamat Mencoba...!!!
:D

Tidak ada komentar:

Posting Komentar