Z Pascal na JAVA - program do sortowania


(Camilly Inc) #1

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.

(Pablo_Wawa) #2

Żartujesz? Na jakim to przedmiocie i jakiej uczelni? Ja bym złożył oficjalną skargę na prowadzącego ćwiczenia.

P.S Pewnie i tak Ci to niewiele da, ale wyszukaj w Google "QuickSort Java".


(Namekxxx) #3

Przez wstawianie:

http://www.algorytm.org/algorytmy-sorto ... t-2-j.html

Przez wybór:

http://www.algorytm.org/algorytmy-sorto ... ect-j.html

Szybkie (QuickSort):

http://www.algorytm.org/algorytmy-sorto ... ick-j.html