Perfetto...
Il tuo programma andava bene comunque.
Sono modi diversi di fare la stessa cosa ...

il mio preferito č questo:
codice:
for i := 4 downto 1 do
	begin
		for k := 1 to i do
			begin
				if dato[k]> dato[k+1] Then {se il dato dell array č maggiore del successivo}
					Begin
						Appoggio:= dato[k]; { }
						dato[k]:= dato[k+1]; { <--Scambio }
						dato [k+1]:= Appoggio { }
					end;
			end;
	end;