Recurgerea este ce? Recurgerea la programare (exemple)

Recursiile sunt evenimente interesante în sine, dar în programare ele au o importanță deosebită în cazuri individuale. Pentru prima dată când se întâlnesc cu ei, un număr destul de mare de oameni au probleme cu înțelegerea lor. Acest lucru se datorează unui câmp imens de utilizare potențială a termenului, în funcție de contextul în care este utilizat „recursivitate“. Dar se poate spera că acest articol va contribui la evitarea unei eventuale neînțelegeri sau neînțelegeri.

Ce este "recursiunea" în general?

recursivitatea esteCuvântul "recursiune" are o întreagă gamă de valori, care depind de aria în care este aplicată. Notația universală este următoarea: recursurile sunt definiții, imagini, descrieri de obiecte sau procese în obiectele în sine. Ele sunt posibile numai în acele cazuri în care obiectul este o parte din el însuși. În felul lor, matematica, fizica, programarea și o serie de alte discipline științifice definesc recursivitatea. Aplicație practică, ea a găsit în activitatea sistemelor de informare și experimente fizice.

Ce vrei să spui prin recurgerea la programare?

recursiunea în pascalSituațiile recursive sau recursul în programare sunt momentele în care procedura sau funcția programului se declară singură. Cât de ciudat ar părea cei care au început să învețe programarea, nu suna ciudat. Amintiți-vă că recursiunea nu este dificilă și, în unele cazuri, înlocuiesc ciclurile. Dacă computerul atribuie corect o procedură sau o apelare de funcții, pur și simplu începe să o execute.

Recursia poate fi finită sau infinită. Pentru ca primul să nu se mai numească, trebuie să existe și condiții de reziliere. Aceasta poate fi o scădere a valorii variabilei, iar atunci când se atinge o anumită valoare, opriți apelul și terminați programul / trecerea la codul ulterior, în funcție de necesitățile de a atinge anumite obiective. Prin recursivitate infinită se înțelege că va fi apelată în timp ce computerul sau programul în care se execută funcționează.

De asemenea, este posibilă organizarea unei recursiuni complexe utilizând două funcții. Să presupunem că există A și B. O funcție are un apel în codul său B, iar B, la rândul său, spune computerului să efectueze A. Recuperările complexe sunt o cale de ieșire dintr-un număr de situații logice complexe pentru logica calculatorului.

Dacă cititorul care citește aceste linii studiază ciclurile programelor, probabil că deja a observat asemănarea dintre ele și recursivitatea. În general, aceștia pot îndeplini sarcini similare sau identice. Cu ajutorul recursivității este convenabil să se facă o imitație a muncii ciclului. Acest lucru este util în special atunci când ciclurile în sine nu sunt foarte convenabile. Schema de implementare a software-ului nu diferă foarte mult de diferite limbi de programare la nivel înalt. Dar recursiunea în "Pascal" și recursiunea în C sau în altă limbă au propriile particularități. Acesta poate fi implementat cu succes în limbi de nivel inferior, cum ar fi Assembler, dar acest lucru este mai problematic și consumator de timp.

Copaci de recursiune



recurs în programareCe este un "copac" în programare? Acesta este un set finit format din cel puțin un nod care:

  1. Are un nod inițial special, care se numește rădăcina întregului arbore.
  2. Nodurile rămase sunt într-o cantitate diferită de zero, subpoziții pereche disjuncte, și sunt, de asemenea, un copac. Toate aceste forme de organizare se numesc substraturi ale copacului principal.

Cu alte cuvinte: copacii conțin substraturi care conțin copaci, dar într-o cantitate mai mică decât arborele anterior. Aceasta continuă până când unul dintre noduri are posibilitatea de a avansa, iar acest lucru va indica sfârșitul recursului. Există încă o nuanță asupra imaginii schematice: copacii obișnuiți cresc de jos în sus, iar în programare sunt desenați înapoi. Nodurile care nu au o extensie se numesc noduri finale. Pentru facilitarea desemnării și pentru conveniență, se utilizează terminologia genealogică (strămoși, copii).

De ce este folosit în programare?

funcția de recursivitateUtilizarea recurgerii în programare a găsit o soluție pentru o serie de probleme complexe. Dacă trebuie doar să faceți un apel, atunci este mai ușor să utilizați un ciclu de integrare, dar cu două sau mai multe repetări, pentru a evita construirea unui lanț și a le face să fie executate ca un copac, și se aplică situații recursive. Pentru o clasă largă de probleme, organizarea procesului de calcul în acest mod este cea mai optimă din punct de vedere al consumului de resurse. Astfel, o recursiune în Pascal sau în orice alt limbaj de programare la nivel înalt este o funcție sau o procedură de apel înainte de îndeplinirea condițiilor, indiferent de numărul de apeluri externe. Cu alte cuvinte, în program există doar un singur acces la subrutina, dar va apărea până la un anumit moment în avans. Într-un fel, acesta este un analog al ciclului cu utilizarea sa specifică.

Diferențele de recurs în diferite limbi de programare

În ciuda schemei generale de implementare și aplicării specifice în fiecare caz individual, recursul în programare are propriile caracteristici. Acest lucru poate duce la dificultăți în timpul căutării materialului necesar. Dar ar trebui să ne amintim mereu: dacă un limbaj de programare numește funcții sau proceduri, atunci apelul de recursivitate este un lucru care poate fi realizat. Dar diferențele cele mai semnificative se manifestă atunci când se folosesc limbi de programare mici și înalte. Se referă în special la posibilitățile de implementare a software-ului. Execuția depinde în cele din urmă de ce sarcină este stabilită, în conformitate cu aceasta, este scrisă recursiunea. Funcțiile și procedurile sunt folosite diferit, însă scopul lor este întotdeauna același - de a se forța să se numească.

Recurgerea este ușoară. Cum să amintesc doar conținutul articolului?

exemple de recursiunePentru începători să o înțeleagă, poate fi dificilă la început, deci avem nevoie de exemple de recursiune sau de cel puțin una. Prin urmare, ar trebui să dea un mic exemplu de viața de zi cu zi, care va ajuta să înțeleagă esența acestui mecanism pentru realizarea obiectivelor în programarea. Luați două sau mai multe oglinzi, setați-le astfel încât toate celelalte să fie afișate într-una singură. Puteți vedea că oglinzile se afișează în mod repetat, creând un efect de infinit. Recurențele aici sunt, în mod figurat vorbind, reflecții (vor fi multe dintre ele). După cum puteți vedea, este ușor de înțeles, ar fi o dorință. Și prin studierea materialelor de programare, puteți înțelege mai departe că recursiunea este, de asemenea, o sarcină foarte ușoară.

Distribuiți pe rețelele sociale:

înrudit
Programarea orientată pe obiecteProgramarea orientată pe obiecte
Limbaj de programare JavaLimbaj de programare Java
Cercetarea științifică a operațiunilor folosind metode matematiceCercetarea științifică a operațiunilor folosind metode matematice
Cum de a învăța programarea de la zero în limbi de programare populareCum de a învăța programarea de la zero în limbi de programare populare
Microcontrolere de programare pentru începători: ușor și accesibilMicrocontrolere de programare pentru începători: ușor și accesibil
Encapsularea este ceea ce? Încapsulare în programareEncapsularea este ceea ce? Încapsulare în programare
Ceea ce a venit pe stack, "că sa întors: fundația abstractă a realitățiiCeea ce a venit pe stack, "că sa întors: fundația abstractă a realității
Care este un factor? Cazuri speciale de utilizareCare este un factor? Cazuri speciale de utilizare
Compilează ce?Compilează ce?
Variabila în programare este complet caracterizată de ce?Variabila în programare este complet caracterizată de ce?
» » Recurgerea este ce? Recurgerea la programare (exemple)