В языке программирования Pascal подпрограммы делят на функции и процедуры. Последние не возвращают результат в основную ветку программы. Передача аргумента по ссылке и по значению. Решение задач на процедуры и функции.

Функция циклического сдвига

 

Написать функцию, которая циклически сдвигает одномерный массив вправо или влево на указанное число позиций. Сдвиг также должен быть кольцевым, то есть те элементы, которые уходят вправо или влево за пределы массива, должны помещаться с другого его конца.

Например, дан массив:
1 2 3 4 5 6
Кольцевой сдвиг вправо на 2 единицы:
5 6 1 2 3 4

 

Сортировка массива и бинарный поиск

Сформировать массив из случайных целых чисел в указанном пользователем диапазоне. Сообщить, есть ли в нем элемент, также указанный пользователем. Перед поиском элементы массива отсортировать (при этом оставив исходный массив без изменений), после чего воспользоваться бинарным поиском. В программе должны быть три процедуры - заполнение массива, сортировка, поиск элемента.