mam we wtorek sprawdzian, jedno z polecen to bedzie zliczenie porownan i przesuniec w jakims algorytmie

porownania to logiczne, po kazdym if musi byc inc(porownania);

pytanie: przesuniecia = ?

np. jak mam sortowanie babelkowe, to jesli zamieniam 2 elementy, to to sa 3 przesuniecia czy 1?
poza tym przypisywanie danych z tablicy liczb do posortowania do tymczasowych zmiennych to tez przesuniecie?

tu macie przykuadowy kod jakiejs smiesznej wersji sortowania przez wstawianie, trzeba poprawic rzekomo buedne ustawienie licznikow porow, przes

[code]
procedure wstaw(var tab:ttab);
var min,i,j,kopia,minpos :integer;
begin
min:=32767;
for i:=1 to ile do if tab[i]<min then begin
min:=tab[i];
minpos:=i;
end;
tab[minpos]:=tab[1];
tab[1]:=min;
porow:=0;
przes:=0;
for j:=2 to ile do
begin
i:=j-1;
kopia:=tab[j];
inc(przes);
inc(porow);
while kopia<tab[i] do
begin
tab[i+1]:=tab[i];
inc(przes);
i:=i-1;
end;
tab[i+1]:=kopia;
inc(przes);
end;
end;
[/code]

z gory dzieki za pomoc!