# while (Mas[i] &lt;

while (Mas[i] &lt; barrier) do i := i+1; while (Mas[j] &gt; barrier) do j := j-1; if i ? j then begin Swap{Mas[i], Mas[j]}; i := i+1; j:= j-1 end; until i &gt; j; Partition := j end; Упражнение #1. Напишите процедуру ShiftLeftArray, осуществляюшую сдвиг значений элементов вектора влево на одну позицию, причем параметров должно быть три - кроме вектора, задаются и левый, и правый индексы сдвигаемого участка (ниже нам понадобится именно такой вариант). Почти та же проблема возникает с операцией удаления, поскольку уменьшить размеры массива тоже нельзя. Обычным решением является сдвиг значений, расположенных правее заданной ячейки, влево. По завершении сдвига в последнюю компоненту заносится какое-то условленное значение; скажем, для символьных векторов им может быть пробел, для целочисленных значений - нуль. Упражнение #2. Напишите процедуру DelArray, воспользовавшись процедурой ShiftLeftArray. Вновь трудоемкость механизма пропорциональна длине сдвигаемого

Индекс
Элементарные функции Линейные уравнения Нелинейные уравнения Случайные числа