Ver. 1.0 Beta, Nie masz kompilatora? Teraz możesz pisać skrypty ONLINE! Wersja podstawowa -nie zawiera wszystkich poleceń Pascala. Służy do nauki podstaw

Sortowanie w Turbo Pascalu, sortowanie b±belkowe, sortowanie trzech liczb

Pascal

Sortowanie w Turbo Pascalu, sortowanie b±belkowe, sortowanie trzech liczb

Sortowanie b±belkowe


Poniższy program przedstawia sposób sortowania tablicy metod± b±belkow±. Algorytm b±belkowego sortowania jest do¶ć wolny, gdy porówna się go z algorytmem QuickSort lub sortowaniem stogowym.



PROCEDURE Sortuj;
VAR i, j:Byte;
   Temp:Integer;
BEGIN
 FOR i:=1   TO MaxTab-1 DO
 FOR j:=i+1 TO MaxTab DO
   BEGIN
     IF Tab[i]>Tab[j] THEN
     BEGIN
       Temp:=Tab[i];
       Tab[i]:=Tab[j];
       Tab[j]:=Temp;
     END;
   END;
END;

Sortowanie trzech liczb


Program demonstruje sortowanie 3 liczb. Warto zwrócić uwagę na definicję procedury podmień.



 procedure podmien (var l1,l2:integer);


Gdyby nie poprzedzaj±ce słowo var dwie zmienne, procedura nie spełniłaby swojego założenia, ponieważ jej zadaniem jest zamiana obydwu warto¶ci, tzn, do zmiennej l1 wstawić to co w l2 i na odwrót.


Gdy normalna procedura (bez słowa var) jest wywoływana, komputer tworzy w pamięci kopię fragmentu pamięci gdzie s± parametry. Nawet gdy zamienimy je miejscami, nie zmieni± się prawdziwe zmienne l1 i l2 bo operowali¶my na kopiach. Gdy korzystamy z var, mamy dostęp do oryginałow.




program sortowanie;

 procedure podmien (var l1,l2:integer);
 var tmp :byte;
 begin
   tmp := l1;
   l1 := l2;
   l2 := tmp;
 end;

 procedure wyswietl (l1,l2,l3:integer);
 begin
   writeln(l1, ' ' , l2 , ' ' , l3);
 end;
 var l1, l2, l3 : integer;



begin
l1:=4;
l2:=6;
l3:=2;


wyswietl(l1,l2,l3);

if (l1>l2) then podmien(l1,l2);
if (l2>l3) then podmien(l2,l3);
if (l1>l2) then podmien(l1,l2);

wyswietl(l1,l2,l3);
end.

 

Programy ON-LINE!

W kursie
sortowanie w pascalu, sortowanie b±belkowe, typy sortowania

Strona korzysta z plików cookie w celu ¶wiadczenia usług Google (reklamy, statytyki) oraz Facebook. Je¶li chcesz zablokować pliki cookies wyłacz je w swojej przegl±darce. Potrzebujesz pomocy? kliknij