Hjem Personlig finansiering En genvejssøgning - dummies

En genvejssøgning - dummies

Video: Rekursion einfach erklärt - Funktionen in Java 5 ● Gehe auf SIMPLECLUB.DE/GO & werde #EinserSchüler 2025

Video: Rekursion einfach erklärt - Funktionen in Java 5 ● Gehe auf SIMPLECLUB.DE/GO & werde #EinserSchüler 2025
Anonim

Rekursion er et stort, skræmmende ord, som du ofte hører om programmering, især den frustrerende form for programmering, som de underviser på universitetet. Selvom det er et let koncept at beskrive, er det virkelig en tankegang, når det kommer til at forstå, hvordan rekursionen virker. De fleste mennesker accepterer bare det og fortsætter. Ikke her!

Rekursion er i grunden processen med en funktion, der kalder sig selv. For eksempel:

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

I dette stykke kode ser du et forfærdeligt eksempel på en rekursiv funktion, men det tjener illustrative formål her: Funktionen () funktionen kalder sig selv. Det er rekursion. Hvad der sker i dette eksempel er i grunden en uendelig sløjfe, og ved hjælp af en teknisk noget-eller-anden, der kaldes stack pointe r , , går computeren til sidst ned. Men det er bare en illustration.

For rekursion til arbejde skal funktionen have en bailout-tilstand, ligesom en løkke. Derfor skal enten værdien, der sendes til den rekursive funktion eller dens returværdi, testes. Her er et bedre eksempel på en rekursiv funktion:

ugyldig rekursion (int x) {if (x == 0) returner; ellers {sætter ("Boop!"); rekursion (- x);}}

Funktionen rekursion () accepterer værdien x . Hvis x er lig med nul, bøyler funktionen. Ellers kaldes funktionen igen, men værdien x er reduceret. Decrement Prefix-operatøren bruges, så værdien x er reduceret før opkaldet er lavet.

Prøven rekursion () funktion springer i grunden teksten Boop! et givet antal gange. Så hvis recursion () kaldes med værdien 10, kan du se, at teksten vises ti gange.

Den vanvittige del om rekursion er, at funktionen fortsætter med at kalde sig selv og indpakke sig strammere og strammere, som om den er i en spiral. I det foregående eksempel afvikler tilstanden x == 1 endelig det twisty rod, og trækker i stigende grad tilbage til funktionen er færdig.

Følgende kode viser et fuldt program ved hjælp af stikprøveudvinding () -funktionen.

#include void recursion (int x); int main () {recursion (10); returnere (0);} void recursion (int x) {if (x == 0) returnere; ellers {sætter ("Boop!"); rekursion (- x);}}

En fælles demonstration af rekursion er en factorial funktion. faktorial er resultatet af at multiplicere en værdi ved hvert af dens positive heltal. For eksempel:

4! = 4 × 3 × 2 × 1

Resultatet af denne faktor er 24. Computeren kan også foretage denne beregning ved enten at implementere en loop eller skabe en rekursiv funktion.Her er en sådan funktion:

int factorial (int x) {if (x == 1) returnere (x); ellers returnere (x * factorial (x-1));}

Som med de øvrige rekursive funktioner indeholder funktionen factorial () en exit betingelse: x == 1. Ellers kaldes funktionen igen med en mindre end den nuværende værdi på x . Men al handlingen foregår med returværdierne.

En genvejssøgning - dummies

Valg af editor

Microsoft Project 2010 Genvejstaster - dummies

Microsoft Project 2010 Genvejstaster - dummies

Microsoft Project 2010 maksimerer effektiviteten, når du administrerer projekter - men også genvejstaster i Project 2010 din tid på tastaturet: Her er nogle genvejstaster, du vil bruge hele tiden, når du bygger og arbejder med en projektplan. Indtastning af tastetryk Indsæt Indsætter ny opgave Ctrl + K Indsætter hyperlink F7 Starter stavekontrol Alt + F10 Tildeler ressourcer ...

Hvordan man ændrer gridlines i Project 2016 - dummies

Hvordan man ændrer gridlines i Project 2016 - dummies

Flere visninger i Project 2016 inkluderer gridlines for at angive visse elementer, f.eks. en pause mellem uger eller status dato (det vil sige den dato, hvor der er sporet fremskridt på et projekt). Disse linjer hjælper en person med at læse planen for at skelne mellem tidsintervaller eller brud på information; For eksempel kan netlinjer være ...

Projekt 2016 AutoFilter-funktion - dummier

Projekt 2016 AutoFilter-funktion - dummier

Projekt 2016 AutoFilter-funktionen er som standard tændt for alle nye tidsplanfiler. Pile vises i kolonneoverskrifterne i det viste ark. Når du klikker på pilen i kolonnen Ressourcenavne, er navnet på hver ressource, der er tildelt opgaver i projektet, angivet i alfabetisk rækkefølge sammen med ...

Valg af editor

Netværksadministration: Windows Command Omdirigering og piping - dummies

Netværksadministration: Windows Command Omdirigering og piping - dummies

Omdirigering og piping af Windows-kommandoer er relaterede teknikker. Omdirigering giver dig mulighed for at angive en alternativ destination for output, der vil blive vist med en kommando eller en alternativ kilde til input, der skal indtastes i en kommando. Du kan f.eks. Gemme resultaterne af en kommando ipconfig / all til en fil ved navn myconfig. txt ...

Netværksadministration: VPN Security - dummies

Netværksadministration: VPN Security - dummies

Udtrykket tunnel er nogle gange brugt til at beskrive en VPN, fordi VPN'en skaber en sikker tunnel mellem to steder, som kun kan indtastes fra begge ender. De data, der bevæger sig gennem tunnelen fra den ene ende til den anden, er sikre, så længe det er inden for tunnelen - det vil sige inden for ...

Netværksadministration: Windows Miljøvariabler - dummies

Netværksadministration: Windows Miljøvariabler - dummies

Windows-kommandoskallen giver flere miljøvariabler til kommandoer. Miljøvariabler begynder og slutter med procent tegn. Du kan bruge en miljøvariabel overalt i en kommando. For eksempel viser C:> echo% OS%, der kører på% PROCESSOR_IDENTIFIER% en linje som denne: Windows_NT kører på en x86 Familie 15 Model 2 Stepping 8, ...

Valg af editor

Sådan bruger du arv i PHP med objektorienteret programmering - dummier

Sådan bruger du arv i PHP med objektorienteret programmering - dummier

Objektorienteret programmering i PHP har en anden funktion, der gør det meget nyttigt til store projekter. Mange objekter er relateret til hinanden, og du kan bruge et familietræforhold til at forenkle din programmering. Hvordan man bygger en critter baseret på en anden critter Der er en ny critter i byen. Denne har den samme grundlæggende ...

Sådan bruges PHP til at lave en switch til HTML5 og CSS3 Programmering - dummies

Sådan bruges PHP til at lave en switch til HTML5 og CSS3 Programmering - dummies

Du kører ofte over en situation i HTML5 og CSS3 programmering, hvor du har et udtryk, der kan have mange mulige værdier. Du kan altid bruge strukturen til at klare denne situation, men PHP leverer en anden interessant mulighed. Koden til dette program anvender omskifterstrukturen. Tag et kig på, hvordan det er gjort: