> -- Info21 писал(а):
> Не должен. Только граница, где процедура начинает обгонять, могла бы сдвинуться (см. ранее), и то вряд ли (цикл Дейкстры никак нельзя реализовать по особенному по сравнению с LOOP IF ELSIF ELSE EXIT END END).Вот ЦД:

WHILE (j < LEN(a, 1)) & ~(a[i, j] = v) DO INC(j)
ELSIF (j = LEN(a, 1)) & (i < LEN(a, 0)) DO j := 0; INC(i)
END

Обратим внимание на первую строчку

WHILE (j < LEN(a, 1)) & ~(a[i, j] = v) DO INC(j)

Если компилятор не сглупит, то он заменит её на такую:

WHILE (j < LEN(b)) & ~(b[j] = v) DO INC(j)

где "b = a[i]". И тогда ЦД будет выполняться не медленнее чем в случае со вложенной процедурой, так как именно этот цикл написан в её теле.