Witam,
jestem studentką biologii i na zaliczenie musimy przekształcić gotowy kod Pascal na kod JAVA. Jest to program do sortowania i do wyboru mamy sortowanie przez wstawianie, sortowanie przez wybór oraz sortowanie szybkie. Problem polega na tym, że nikt nam niczego nie wytłumaczył. Kodowanie programu widzę pierwszy raz w życiu. Wcześniej nawet nie wiedziałam, że istnieje coś takiego jak Pascal. Szukałam pomocy w internecie, ale znalazłam tylko kilka rzeczy i dodatkowo z wieloma innymi rzeczami mam mnóstwo dylematów. Bardzo proszę o pomoc, jakieś wskazówki. Oczywiście najlepiej byłoby gdyby ktoś dał mi gotowca, ale wcale tego nie oczekuję, choć byłabym takiej osobie bardzo wdzięczna.
{ ************************************************************************* }
{ (C) 2007 LTKiA BiO— Uť (es) }
{ 1) program wczytuje losowe liczby do jednowymiarowej macierzy }
{ 2) wypisuje dane na ekranie, jeli jest ich mniej niľ 20 }
{ 3) porzĄdkuje (sortuje) dane rosnĄco odpowiedniĄ metodĄ }
{ 4) wypisuje na ekranie uporzĄdkowane dane }
{ ************************************************************************* }
program SortowanieSzybkie;
type
TABLICA1m=array [1..1000000] of Real;
procedure QuickSort(tyle:LongInt;var tab:TABLICA1m);
procedure sort(l,r:LongInt);
var
i,j: LongInt;
pom, w: Real;
begin
i:=l;
j:=r;
w:=tab[(l+r) div 2];
repeat
while w>tab[i] do i:=i+1;
while w
if not(i>j) then
begin
pom:=tab[i];
tab[i]:=tab[j];
tab[j]:=pom;
i:=i+1;
j:=j-1;
end;
until i>j;
if l
if i
end;
begin
sort(1,tyle);
end; { QuickSort }
{ PROGRAM GťŕWNY }
var
Dane : TABLICA1m;
Ilosc, i: LongInt;
begin
{ Przygotowanie danych wejciowych }
Write('Podaj liczb© generowanych danych wejsciowych (maks.=1000000): ');
Readln(Ilosc);
Randomize;
for i:=1 to Ilosc do Dane[i]:=Random(9999999); { przedzia od 0 do 9999999 }
{ wypisanie danych wejciowych na ekranie }
if Ilosc<20 then
begin
Writeln('Dane poczĄtkowe:');
for i:=1 to Ilosc do
writeln(Dane[i]:7:0); { wypisanie danych nieuporzadkowanych }
end;
QuickSort(Ilosc,Dane); { waciwe porzĄdkowanie }
{ wypisanie posortowanych danych wejciowych na ekranie }
if Ilosc<20 then
begin
Writeln('Dane po uporzĄdkowaniu:');
for i:=1 to Ilosc do
writeln(Dane[i]:7:0); { wypisanie danych uporzĄdkowanych }
end;
end.