Array Element Swapping

A program that swaps elements between two positions in an array. The program takes parameters n (array size), k and p (starting positions), and m (number of elements to swap). It validates that the swap is possible (indices don't exceed array bounds), fills the array with random numbers, then performs a three-step swap using a temporary array to exchange m elements starting at position k with m elements starting at position p.

Source Code:

INPUT "n, k, p, m", n, k, p, m ' вводим n, k, p, m... индексы начинаются с нуля!
IF k + m > n OR p + m > n THEN END ' если индекc вылезет за n то ничего не получится, выйдем сразу
DIM a(n) ' создаём основной массив
DIM temp(m) ' создаём времменный
FOR i = 0 TO n - 1
        a(i) = FIX(RND * 100) ' заполняем основной массив случайными числами
NEXT i

IF k > p THEN s = p ELSE s = k ' находим наименьший индекс s из k и p
' это нужно чтобы при копировании не затереть незаписанные в temp данные

FOR i = 0 TO m - 1
        temp(i) = a(i + s) ' копируем в temp массив c меньшим индексом 
NEXT i
FOR i = 0 TO m - 1
        a(i + s) = a(i + s + ABS(k - p))  ' копируем в a массив большим индексом
NEXT i
FOR i = 0 TO m - 1
        a(i + s + ABS(k - p)) = temp(i) ' копируем в массив с большим индексом temp
NEXT i