Часто встречаю в типовых такой код:
Перем а;
ЗаполнитьЗначение(а);
Б=а[0];
Я же привык к такому коду:
а=ЗаполнитьЗначение();
Б=а[0];
Т.е. в типовых часто в процедуру передают переменную с которой идет работа внутри этой процедуры. По окончании работы процедуры используется изменная переменная.
Я же привык (по моему так и учили) что нужно стремиться чтобы функции и процедуры были автономны и для возврата параметра лучше использовать функции.
Так как правильно?
Функция должна возвращать результат своей работы на то она и Функция.
Согласен с (17) если нужно тебе передать ошибку из функции наверх генерируй исключение.
Если функция должна возвратить несколько значений они должны быть упакованы в структуру или иной подходящий объект.
Если вам нужно изменить переданные параметры то используйте процедуру и называйте её понятно