Recursie is een van de meest krachtige ideeën in alle van de informatica . Vaak aangeduid als een "verdeel - en - heers" benadering van het oplossen van problemen, recursie kunt u een probleem op te lossen door het oplossen van een of meer " kleinere " versies van hetzelfde probleem , en dan het doen van een kleine hoeveelheid extra of combineren van werk . Op deze wijze kan een groot aantal zeer complexe problemen worden opgelost met ongelooflijk elegant algoritmen . Wat je nodig hebt Microsoft Visual Basic Toon Meer Aanwijzingen 1 Maak een nieuwe Visual Basic -functie . Bijvoorbeeld : . Functie ggd ( ByVal x As Integer , ByVal y als Integer ) Zoals IntegerEnd Functie Deze functie zal de grootste gemene deler van twee getallen berekenen kopen van 2 Voeg een test tussen de functie en End Function lijnen om onderscheid te maken tussen de " base case " en de " recursieve geval . " Base gevallen zijn erg belangrijk in recursieve functies - zonder een, zal uw code veroorzaken meestal een oneindige lus en waarschijnlijk crashen van uw programma . Bijvoorbeeld , het basisscenario voor de functie " ggd " ziet er als volgt uit: Als y = 0 Then ' Dit zal de basis caseElse worden' Dit zal de recursieve caseEnd zijn Als < br > 3 Voeg een base case . Dit is de waarde die uw functie levert wanneer een probleem optreedt zo klein dat het niet kan breken het verder . Voor de functie " ggd " , het ziet er zo uit: Terugkeer x 4 Voeg een recursieve geval . Wanneer uw functie terugkeert , hij beroept zich met een eenvoudiger probleem dat zal helpen het grotere probleem op te lossen. Voor de functie " ggd " , wordt het eenvoudiger probleem gekozen dat het resultaat is eigenlijk het resultaat van het gehele complex probleem . Het ziet er zo uit : Terugkeer ggd ( y , x mod y ) 5 Test uw functie . Het is altijd belangrijk om recursieve functies met behulp van de base case en een aantal recursieve gevallen als input te testen . Probeer te denken van tests die buiten de norm zou kunnen zijn , zoals negatieve getallen .
|