Acasă Finanțe personale O gust de recurență - dummies

O gust de recurență - dummies

Video: Ravioli pesce gatto e taccole, tagliatelle tonno e melanzane "Ep.2/3 Menù di Natale #chefnunzio 2024

Video: Ravioli pesce gatto e taccole, tagliatelle tonno e melanzane "Ep.2/3 Menù di Natale #chefnunzio 2024
Anonim

Recursion este un cuvânt mare, înfricoșător pe care îl auziți frecvent despre programare, în special despre felul de programare frustrant pe care îl predau la universitate. Deși este un concept ușor de descris, este într-adevăr un suflet minte atunci când vine vorba de înțelegerea modului în care funcționează recursiunea. Cei mai mulți oameni acceptă și continuă. Nu aici!

Recurgerea este în esență procesul unei funcții care se numește ea însăși. De exemplu:

void funct (int x) {funct (x);}

În această bucată de cod, vedeți un exemplu teribil de funcție recursivă, (). Asta e recursiunea. Acum, ceea ce se întâmplă în acest exemplu este, practic, o buclă fără sfârșit și, datorită unui lucru tehnic sau altul, numit stack pointe r , , computerul se prăbușește în cele din urmă. Dar este doar o ilustrare.

Pentru recursul la muncă, funcția trebuie să aibă o condiție de salvare, la fel ca o buclă. De aceea, fie valoarea trecută la funcția recursivă, fie valoarea returnată trebuie să fie testată. Iată un exemplu mai bun al unei funcții recursive:

recursion void (int x) {if (x == 0) întoarcere; altfel {puts ("Boop!"); recursion (- x);}}

Funcția recursion () acceptă valoarea x . Dacă x este egal cu zero, funcția se înmulțește. În caz contrar, funcția este chemată din nou, dar valoarea x este redusă. Operatorul de prefix decrement este folosit astfel încât valoarea x este redusă înainte de apelul este efectuat.

Funcția recursion () a probelor scutește textul Boop! de un anumit număr de ori. Deci, dacă se numește recursion () cu valoarea 10, se vede că textul este afișat de zece ori.

Partea nebună despre recursivitate este că funcția continuă să se numească ea însăși, înfășurându-se mai strânsă și mai strânsă, ca și cum ar fi într-o spirală. În exemplul precedent, condiția x == 1 în cele din urmă se desprinde că mizeria twisty, tragerea din ce în ce mai înapoi până când funcția este terminată.

Următorul cod afișează un program complet utilizând funcția recursion sample ().

#include recursion void (int x); int principal () {recursiv (10); retur (0);} recursiune voidă (int x) {if (x == 0) întoarcere; altfel {puts ("Boop!"); recursiunea (- x);}}

O demonstrație comună a recursivității este o funcție factorială. Factorul este rezultatul înmulțirii unei valori cu fiecare dintre numerele sale pozitive. De exemplu:

4! = 4 × 3 × 2 × 1

Rezultatul acestui factorial este 24. Calculatorul poate face acest calcul, fie prin implementarea unei buclă, fie prin crearea unei funcții recursive.Iată o astfel de funcție:

int factorial (int x) {if (x == 1) retur (x); altul returnează (x * factorial (x-1));}

Ca și în cazul celorlalte funcții recursive, funcția factorial () conține o condiție de ieșire: x == 1. În caz contrar, funcția este chemată din nou cu o valoare mai mică decât valoarea curentă de x . Dar toată acțiunea are loc cu valorile returnate.

O gust de recurență - dummies

Alegerea editorilor

Administrator de rețea: Zone de căutare inversă - dummies

Administrator de rețea: Zone de căutare inversă - dummies

Interogări DNS obișnuite sunt interogări de căutare înainte corespunde unui nume de domeniu complet calificat. O căutare inversă este opusul unei căutări forward: returnează numele de domeniu complet calificat al unei gazde pe baza adresei sale IP. Căutările inverse sunt posibile din cauza unui domeniu special numit ...

Rețea Elemente de bază: Clienți și servere - manechine

Rețea Elemente de bază: Clienți și servere - manechine

Computerul de rețea care conține hard disk-urile, imprimantele și alte resurse care sunt partajate cu alte calculatoare de rețea se numește un server. Acest termen vine în repetate rânduri, deci trebuie să-l amintiți. Scrie-o pe spatele mâinii tale stângi. Orice computer care nu este un server este numit client. Aveți ...

Retea Bazele: Poduri - dummies

Retea Bazele: Poduri - dummies

O punte este un dispozitiv care conecteaza doua retele astfel incat sa actioneze ca si cum ar fi o rețea. Podurile sunt utilizate pentru a împărți o rețea mare în două rețele mai mici din motive de performanță. Vă puteți gândi la un pod ca pe un repetor inteligent. Repetoarele ascultă semnale care coboară pe un cablu de rețea, amplifică ...

Alegerea editorilor

ÎMprumuta și tweak idei de la alte comunități online - dummies

ÎMprumuta și tweak idei de la alte comunități online - dummies

, Mai degrabă decât să ia ideile altcuiva complet pentru dvs. comunitate online, încercați să riffați pe aceeași idee, dar nu atât de mult încât este evident că nu sunteți creierul din spatele brainstorming-ului. Idei sunt acolo pentru a lua, dar nu ar fi mai degrabă văzute ca cineva inovatoare, nu cineva care scours pe web ...

Branding Blogul tău

Branding Blogul tău

Branding blog-ul tău merge mult spre a face dacă este ușor de recunoscut pentru cititorii tăi. Când vedeți un punct roșu în interiorul unui cerc roșu, ce magazin vine în minte? Ce zici de acele arcuri de aur? Un nume de marcă apare în minte atunci când vedeți simbolul swoosh? La fel ca magazinele populare, restaurantele și încălțămintea ...

Construiți un Blog Mama care este Sellable - dummies

Construiți un Blog Mama care este Sellable - dummies

Dacă obiectivul pe termen lung este de a vinde blogul dvs. ar trebui să o construiască cu acest scop în minte. Evitați asocierea prea intensă a blogului cu marca dvs. personală. Un blog care poate fi valoros cu orice scriitor la cârma trebuie să îndeplinească majoritatea, dacă nu toate, următoarele criterii: Blogul este concentrat ...

Alegerea editorilor

Cum să creați o nouă campanie de anunțuri LinkedIn - dummies

Cum să creați o nouă campanie de anunțuri LinkedIn - dummies

LinkedIn oferă servicii de publicitate pentru afacerea dvs. Dacă vă decideți să utilizați LinkedIn ca instrument de marketing, va trebui doar să obțineți o nouă campanie de anunțuri în lucrări. Când sunteți gata să începeți o nouă campanie, urmați acești pași:

Opțiuni de filtrare pentru anunțul dvs. LinkedIn - manechine

Opțiuni de filtrare pentru anunțul dvs. LinkedIn - manechine

Ce opțiuni de filtrare aveți pentru anunțul dvs. LinkedIn? Alte rețele de publicitate vă permit să filtrați publicul vizat de câteva atribute cunoscute ale persoanei care vă va vedea anunțul, sexul și locația membrilor din public. LinkedIn vă permite să faceți un pas mai departe permițându-vă ...

Oferind și primind viziuni pe LinkedIn - manechine

Oferind și primind viziuni pe LinkedIn - manechine

Deși mulți oameni cred că "Nu este ceea ce știi, știi, "care este unul dintre principalele motive pentru care LinkedIn este atât de valoros, mulți oameni (recrutorii, angajații, directorii executivi, investitorii și altele) sunt foarte interesați de ceea ce știi. În mod logic, oamenii care vă cunosc cel mai bine sunt oamenii din rețeaua dvs., care ...