Friday, July 5, 2013

Program Pascal Pengurutan Maksimum, Studi Kasus Perlombaan renang

program urut;
uses wincrt;
 var
data: array [1..100] of integer;
data2: array [1..100] of integer;
w,p,n,j,k,temp,temp2,k2 : byte;
dump,dump2,tb,tk,tb2,tk2:integer;
begin
writeln('====================================================');
writeln('Data Waktu Tempuh Lomba Renang 150 Meter Putra-Putri');
writeln('+++++ Inputan Waktu Dalam Detik +++++');
writeln('====================================================');
writeln('');
{masukan jumlah inputan data}
write('Masukan Jumlah Peserta Renang Putra:');readln(n);
for j:=1 to n do
begin
write('Inputkan Waktu Tempuh Peserta Putra No.Punggung - ',j);
write(' : ');
readln(data[j]);
end;
begin
writeln('');
writeln('Sekarang Inputkan Waktu Tempuh Peserta Renang Wanita');
write('Masukan Jumlah Peserta Renang Putri:');readln(p);
     for w:=1 to p do
     begin
     write('Inputkan Waktu Tempuh Peserta Putri No.Punggung - ',w);
     write(' : ');
     readln(data2[w]);
end;
{Pengurutan Data Terkecil Untuk Menentukan Pemenang Renang Pria dan Posisi No.Punggung}
tb:=data[j];
tk:=data[j];
tb2:=data2[w];
tk2:=data2[w];
for j:=1 to n do
if data[j] > tb then
 tb:=data[j]
else
if data[j] < tk then
 tk:=data[j];
 end;
for j:=1 to n do
begin
     if data[j]=tk then
 begin
      tk:=data[j];
      dump:=j;
 end;
end;
{Pengurutan Data Terkecil Untuk Menentukan Pemenang Renang wanita dan Posisi No.Punggung}
for w:=1 to p do
if data2[w] > tb2 then
 tb2:=data2[w]
else
if data2[w] < tk2 then
 tk2:=data2[w];



for w:=1 to p do
begin
     if data2[w]=tk2 then
 begin
      tk2:=data2[w];
      dump2:=w;
 end;
end;



begin
writeln('');
writeln ('Data Peserta Renang Pria sebelum diurutkan');
for j:=1 to N do begin
writeln('data[' ,j, ']= ',data[j]);
end;

{Pengurutan untuk Peserta Renang Pria}
for j:=1 to n-1 do begin
for k :=j+1 to n do begin
if (data[k] < data[j]) then begin
temp := data[k];
data[k] := data[j];
data[j] :=temp;
 end;
end;
end;

begin
writeln ('Data Peserta Renang Wanita sebelum diurutkan');
for w:=1 to p do begin
writeln('data[' ,w, ']= ',data2[w]);
end;
end;
{Pengurutan untuk Peserta Renang Wanita}
for w:=1 to p-1 do begin
for k2:=w+1 to p do begin
if data2[k2] < data2[w] then begin
temp2 := data2[k2];
data2[k2] := data2[w];
data2[w] :=temp2;

 end;
end;
end;



writeln('');
writeln ('Data Waktu Peserta Renang Pria setelah diurutkan ');
for j:=1 to N do begin
writeln ('data[' ,j, '] = ',data[j]);
end;

end;

writeln ('Data Waktu Peserta Renang wanita setelah diurutkan ');
        for w:=1 to p do begin
        writeln ('data[' ,w, '] = ',data2[w]);
end;


writeln(' --------------------------------------');
writeln('Juara 1 Renang Pria catatan waktunya:  ',tk ,' Detik Peserta dengan No.Punggung ', dump);
writeln('Juara 1 Renang Wanita catatan waktunya:  ',tk2 ,' Detik Peserta dengan No.Punggung ', dump2);

readln;
writeln;

end.

0 comments: