> -- Александр Ильин писал(а):
> ... действительно ли я не пытаюсь ... использовать OUT-параметр до инициализации.Александр, хочу обратить внимание на терминологическую неточность, которая поначалу даже ввела меня в заблуждение, когда я читал Ваш пост. Применительно к параметрам процедуры, термин "инициализация" означает действия компилятора, которые заключаются в том, чтобы присвоить параметрам начальные, заранее известные (до выполнения процедуры) значения. Это значения ноль и NIL, как определено в отчёте о языке КП. Параметры OUT как раз отличаются тем, что компилятор не выполняет их инициализацию, и до первого присваивания их значение не определено. В этом есть определённый смысл, оправдывающий введение OUT-параметров, ведь инициализация может быть слишком затратной.

В приведённой выше цитате я бы заменил "до инициализации" на "до вычисления". То есть в OUT-параметры должны быть записаны значения, которые станут известны только после выполнения процедуры. В частном случае это могут быть банально простые присваивания, но в общем случае это могут быть очень сложные вычисления.