Сортировка по возрастанию методом пузырька (язык программирования КуМир)

Тема: 
Массивы

Заполнить массив случайными числами, вывести массив на экран. Отсортировать элементы массива по возрастанию с помощью метода пузырька (сортировки простыми обменами), после чего снова вывести массив.

Сортировка методом пузырька по возрастанию заключается в следующем. По массиву из N элементов делается N-1 проходов (итераций цикла). В каждом проходе делается N-i сравнений соседних элементов, где i - это номер итерации внешнего цикла. Если очередной элемент (j) больше, чем следующий (j + 1), то в соответствующих ячейках массива производится обмен значениями. В результате выполнения внутреннего цикла наибольший элемент из просматриваемой области массива оказывается в его конце. На следующей итерации внешнего цикла область сравнений уменьшается на 1 с конца (т.к. N-i, где i увеличивается на 1 на каждой итерации).

Например, дан массив из 5-ти элементов. На первой итерации внешнего цикла при выполнении внутреннего цикла первый элемент сравнивается со вторым (1-я итерация), второй с третьим (2), третий с четвертым (3), четвертый с пятым (4). После этого наибольший элемент оказывается на пятом месте.
На второй итерации внешнего цикла во внутреннем цикле сравниваются элементы, начиная с 1-го и заканчивая 4-м, т.е. выполняется три итерации внутреннего цикла. И т. д.

алг сортировка пузырьком
нач
  цел N = 10
  целтаб a[1:N]
  цел i, j, b
 
  нц для i от 1 до N
    a[i] := irnd(100)
    вывод a[i], " "
  кц
  вывод нс
 
  нц для i от 1 до N-1
    нц для j от 1 до N-i
      если a[j] > a[j+1] то
        b := a[j]
        a[j] := a[j+1]
        a[j+1] := b
      все
    кц
  кц
 
  нц для i от 1 до N
    вывод a[i], " "
  кц
кон

Пример выполнения:

6 79 99 32 47 5 38 66 69 39 
5 6 32 38 39 47 66 69 79 99