происходить внутри


происходить внутри тела цикла. В рекурсивном механизме - точно так же. Только здесь роль тела цикла играет тело процедуры. Заголовок процедуры, в отличие от заголовка цикла, не допускает анализа условия передачи управления, поэтому встраивать это условие следует в тело рекурсивной процедуры. Вот совсем простой пример, в котором суммирование чисел из входного текстового файла f организовано двумя способами - сначала без применения рекурсии, а затем с ее помощью: sum := 0; while not Eof(f) do begin Read (f, a); Sum := sum + a end; {sum - глобальная переменная} procedure SumElem; var a : integer; begin if not Eof(f) then begin Read (f, a); sum := sum + a; SumElem End end; Здесь первый - итерационный - механизм выглядит во всех отношениях предпочтительнее: * во-первых, программный код явно проще, а значит - понятнее, что существенно при отладке и в случае возможной модификации; * во-вторых, он короче, что также всегда ценится программистами;
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz