Soal:
Buatlah program hitung nilai dengan ketentuan sebagai berikut:
Layar Masukan
Hitung Nilai
---------------
Nama Siswa :
Nilai Mid Test :
Nilai Final Test :
Nilai Tugas Mandiri :
Proses
Buatlah fungsi untuk hitung nilai akhir dengan konten proses:
Nilai murni final test = nilai final test x 30%
Nilai murni mid test = nilai mid test x 30%
Nilai murni tugas mandiri = nilai tugas mandiri x 40%
Nilai akhir = summary nilai murni
Buatlah fungsi grade untuk mencari nilai akhir berdasarkan nilai akhir:
Nilai akhir >=85, grade = A
Nilai akhir >=76, grade = B
Nilai akhir >=67, grade = C
Nilai akhir <67, grade =D
Layar Keluaran:
Hasil Perhitungan
---------------------
Nilai Mid Test : …x 30%
Nilai Final Test : …x 30%
Nilai Tugas Mandiri : …x 40%
-----------------------------
Nilai Akhir : Grade :
Jawaban:
uses crt; {deklarasi unit yang digunakan untuk memanipulasi layar monitor}
{deklarasi fungsi dengan nama fungsi nilai akhir diikuti dengan nama parameter, yang dipanggil secara acuan dan
tipe data fungsi adalah integer}
function nilaiakhir(var mt,ft,tm:integer;var mmt,mft,mtm,na:real):integer;
begin
mmt:=mt*0.3;{perhitungan nilai murni mid test}
mft:=ft*0.3; {perhitungan nilai murni final test}
mtm:=tm*0.4; {perhitungan nilai murni tugas mandiri}
na:=mmt+mft+mtm; {perhitungan nilai akhir}
end;
{deklarasi fungsi grade diikuti nama parameter yang proses pemanggilannya dilakukan secara acuan dan
tipe data fungsi adalah integer }
function grade(var na:real;var grd:char):integer;
begin
{proses seleksi nilai akhir untuk mencari grade}
if na>=85 then
grd:='A'
else if na>=76 then
grd:='B'
else if na>=67 then
grd:='C'
else if na<67 then
grd:='D'
end;
{deklarasi variabel}
var nm:string; mid,final,tugas:integer;
n_mid,n_final,n_tugas,n_akhir:real;
n_grade:char;
{bagian pernyataan/program utama}
begin
clrscr;{perintah untuk membersihkan layar}
writeln('Hitung Nilai');
writeln('------------');
write('Nama Siswa : ');readln(nm); {menginput nama}
write('Nilai Mid Test : ');readln(mid); {menginput nilai mid test}
write('Nilai Final test : ');readln(final); {menginput nilai final test}
write('Nilai Tugas Mandiri : ');readln(tugas); {menginput nilai tugas mandiri}
nilaiakhir(mid,final,tugas,n_mid,n_final,n_tugas,n_akhir); {pemanggilan fungsi nilai akhir disertai pemanggilan parameternya}
grade(n_akhir,n_grade); {pemanggilan fungsi grade disertai pemanggilan parameternya}
clrscr; {membersihkan layar}
writeln('Hasil Perhitungan');
writeln('-----------------');
writeln('Nilai Mid Test : ',mid,' x 30% : ',n_mid:2:0); {menampilkan nilai mid tes}
writeln('Nilai Final Test : ',final,' x 30% : ',n_final:2:0); {menampilkan nilai final tes}
writeln('Nilai Tugas Mandiri : ',tugas,' x 40% : ',n_tugas:2:0); {menampilkan nilai tugas}
writeln('------------------------------------------');
writeln('Nilai Akhir : ',n_akhir:2:0); {menampilkan nilai akhir}
writeln('Grade : ',n_grade); {menampilkan grade}
readln; {menahan tampilan hasil}
end.
Tampilan Masukan:
Tampilan Keluaran:
27 Mei 2009
TUGAS PASCAL III
Langganan:
Posting Komentar (Atom)

0 komentar:
Posting Komentar