Recursivitatea în pascal

Recursivitatea în pascal

Nachnems. Pentru a începe să înțeleagă definiția simplă recursivitatii: „Recursivitatea - o auto-reproducere“ În acest stadiu, doar pentru a fi măsurat, astfel încât funcția se va apela. Tratamentul va avea loc direct în interiorul funcției.

Eu cer sa nu judece strict acest exemplu, se demonstrează numai ce se va continua caracteristica a narațiunii. După cum se poate vedea dintr-o bucată de cod, avem o buclă fără sfârșit, pune pur și simplu funcția la infinit se va apela, pentru că i-ai spus asta. Probabil deja ghicit că ar trebui să creeze o stare în care funcția nu se va apela.

exemplu recursivitatii: Dacă aveți o pată de grăsime pe rochie, nu vă faceți griji. Petele de ulei scoase din soluție benzină benzinom.Pyatno scholochi.Scheloch essentsiey.Sled îndepărtat din esența freca maslom.Hu, și modul în care pentru a îndepărta petele de ulei, să știi!

Esența algoritmului într-o scădere treptată a parametrului, cu alte cuvinte, ne îndreptăm în direcția opusă, numărând de la sfârșitul factorial ((n-1) * (n-2) .. 3 * 2 * 1). Pentru o mai bună înțelegere a algoritmului, recomand sa se familiarizeze cu schema logică a programului:

Notă: Săgeata roșie indică funcția samovyzov.

Trebuie remarcat faptul că funcția vede numai acele variabile care au fost transmise. Ie dacă ați creat o variabilă A = 5, atunci funcția aceasta nu vezi, dacă utilizați un apel direct (de referință variabilă standard).

Acum, să ia în considerare corpul programului

Și acum să ne uităm la întreaga funcție în întregime:

De ce recursivitate? Sarcina principală a recursie în copac parcurgeri, un apel la rădăcinile care este posibilă numai cu ajutorul recursivitatii.