ricorsione è un concetto importante nel campo dell'informatica . Una funzione ricorsiva è quella che richiama , o chiama, se a un certo punto . Ricorsione può essere utilizzato per controllare il flusso del programma e risolvere problemi difficili in modo sorprendente. Ad esempio, è possibile scrivere una funzione ricorsiva che disegna un rettangolo alla console standard output utilizzando il linguaggio C + + . Ogni funzione ricorsiva disegna una singola linea del rettangolo , e poi si chiama fino a quando il rettangolo è completamente formato . Cose che ti serviranno
+ ambiente di sviluppo integrato (IDE) , come ad esempio Eclipse CDT
compilatore C + + , ad un GCC
Mostra più istruzioni
1
carico C + il C + + IDE facendo clic sulla relativa icona del programma . Quando si apre, selezionare " File /Nuovo /Progetto" e scegliere " Progetto C + +" per creare un nuovo progetto . Un file di codice sorgente di vuoto viene visualizzata nell'editor di testo parte dell'IDE.
2
Scrivi la firma della funzione per la funzione ricorsiva . Una firma funzione contiene il nome della funzione , il tipo di output e il tipo di ingresso . Per questa funzione , il nome è " recursiveRect ", il tipo di output è " vuoto" ( in altre parole , nessuna uscita ) e il suo tipo di ingresso è rappresentato da due numeri interi . Questi interi definiscono una riga corrente e una fila massimo . Scrivi la firma seguente funzione :
vuoto recursiveRect ( int curRow , int MaxRow ) per
{ }
3
di prova per vedere se la riga corrente ( dal titolo " curRow " ) è inferiore alla riga massima (che è intitolato " MaxRow " ) mettendo un semplice "if" tra la parentesi graffe della funzione " recursiveRect , " in questo modo:
se ( curRow < MaxRow ) per
{ }
4
scrivere una dichiarazione che stampa una stringa di caratteri asterisco ogni volta che l' istruzione "if" è soddisfatto . Inserire la seguente riga tra le parentesi graffe della "if" nel passaggio precedente :
cout << "********" << endl;
5
Scrivi una chiamata di funzione ricorsiva alla funzione " recursiveRect " ponendo la dichiarazione seguente tra le parentesi graffe della "if" . Notare che la variabile " curRow " ha un " + +" che lo precede. Questo incrementa la riga corrente e permette la successiva chiamata di funzione per stampare la riga successiva nel rettangolo
recursiveRect ( + + curRow , MaxRow ) .
6
scrivere una dichiarazione di ritorno in la parte inferiore della funzione , subito dopo le parentesi graffe della "if" :
ritorno ;
7
Creare una funzione principale , da dove si chiama , o invocare , la funzione rettangolo ricorsiva
int main () {
recursiveRect ( 0 , 4 );} . sul pulsante verde "Play " che si trova presso il
8
Press superiore della IDE . Il programma verrà eseguito e chiamare la funzione ricorsiva , che poi si chiama altre tre volte . Il risultato è un rettangolo di quattro righe , che assomiglia a questo :
********
********
** ******
********