program puz_sort;
uses crt;
var i,n:integer;
	a:array [1..100] of real;
    hold:real;
    b:boolean;
begin
    clrscr;						{Очистка экрана}
    write('Введите размер массива N=');
    readln(n);                         		{Ввод размерности массива}
{******** Ввод массива **************************************************}
	writeln('Введите массив:');
    for i:=1 to n do read(a[i]);
{************************************************************************}
{******** Вывод неупорядоченного массива ********************************}
    writeln('Неупорядоченный массив:');
    for i:=1 to n do write(a[i]:0:0,' ');
{************************************************************************}
	writeln;
{******** Пузырьковая сортировка массива ********************************}
    b:=true;
    while b do
    	begin
        	b:=false;
            for i:=1 to n-1 do
            	if a[i]>a[i+1] then
                	begin
                    	hold:=a[i];
                        a[i]:=a[i+1];
                        a[i+1]:=hold;
                        b:=true
                    end
        end;
{************************************************************************}
{******** Вывод упорядоченного массива **********************************}
	writeln('Упорядоченный массив:');
    for i:=1 to n do write(a[i]:0:0,' ');
{************************************************************************}
end.

    Source: geocities.com/tphelp/pas

               ( geocities.com/tphelp)