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