récursivité est un concept important dans le domaine de l'informatique. Une fonction récursive est celui qui invoque ou appelle, lui-même à un certain moment . Récursivité peut être utilisé pour contrôler le flux de programme et de résoudre des problèmes difficiles de manière surprenante. Par exemple , vous pouvez écrire une fonction récursive qui dessine un rectangle sur la console de sortie standard en utilisant le langage C + + . Chaque fonction récursive tire une seule ligne du rectangle , puis appelle lui-même jusqu'à ce que le rectangle est complètement formé . Choses que vous devez
C + + environnement de développement intégré (IDE ), tels que Eclipse CDT
compilateur C + + , une telle GCC
Afficher plus d' instructions
1
charge l' C + + IDE en cliquant sur son icône du programme. Quand il s'ouvre, sélectionnez "Fichier /Nouveau /Projet " et choisissez " C + + Project " pour créer un nouveau projet. Un fichier de code source vide apparaît dans la partie éditeur de texte de l'IDE.
2
Ecrire la signature de fonction pour la fonction récursive . Une signature de fonction contient le nom de la fonction , son type de sortie et de son type d'entrée. Pour cette fonction , le nom est " recursiveRect , " le type de sortie est «vide» ( en d'autres termes , pas de sortie ) et son type d'entrée est représentée par deux nombres entiers. Ces entiers définissent une ligne actuelle et une rangée maximum. Ecrire la signature de fonction suivante:
vide recursiveRect (int CURROW , int maxRow )
{}
3
test pour voir si la ligne actuelle ( intitulé « CURROW " ) est inférieure à la ligne maximale ( qui est intitulé " maxRow " ) en plaçant un simple " if" entre le accolades de la fonction " recursiveRect , " comme ceci:
if ( CURROW < maxRow )
{}
4
écrire une déclaration qui imprime une chaîne de caractères astérisque chaque fois que l' instruction "if" est satisfaite. Placez la ligne suivante entre les accolades de l' instruction "if" dans l'étape précédente:
cout << " ******** " << endl;
5
écrire une fonction récursive appel à la fonction " recursiveRect " en plaçant la déclaration ci-dessous entre les accolades de l' instruction "if" . Notez que la variable « CURROW " a un "+ +" qui le précède . Cette incrémente la ligne actuelle et permet à l' appel de fonction suivant pour imprimer la ligne suivante dans le rectangle
recursiveRect (+ + CURROW , maxRow ) .
6
écrire une déclaration de retour au le bas de la fonction , juste après les accolades du "if" :
retour
;
7
créer une fonction principale , d'où vous appelez , ou invoquer , votre fonction récursive rectangle
int main () {
recursiveRect (0 , 4) ;} . sur le bouton vert "Play" situé au
8
de presse haut de l' IDE . Le programme se déroulera et appeler la fonction récursive , qui elle-même trois fois plus appelle ensuite . Le résultat est un rectangle de quatre lignes , qui ressemble à ceci:
********
********
** ******
********