Come fare un rettangolo con una funzione ricorsiva in C ++

November 3

La ricorsione è un concetto importante nel campo dell'informatica. Una funzione ricorsiva è quella che richiama, o chiama, per sé ad un certo punto. Ricorsione può essere utilizzato per controllare il flusso del programma e risolvere problemi difficili in modi sorprendenti. 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 quindi si definisce finché il rettangolo è completamente formato.

istruzione

1 Caricare il C ++ IDE facendo clic sulla sua icona del programma. Quando si apre, selezionare "File / Nuovo / Progetto" e scegliere "Progetto ++ C" per creare un nuovo progetto. Un file di codice sorgente vuoto appare nella parte editor di testo dell'IDE.

2 Scrivere la firma di funzione per la funzione ricorsiva. Una firma funzione contiene il nome della funzione, il tipo di output e il suo tipo di ingresso. Per questa funzione, il nome è "recursiveRect", il tipo di uscita è "vuoto" (in altre parole, nessuna uscita) e il suo tipo di ingresso è rappresentato da due numeri interi. Questi numeri interi definiscono una riga corrente e una fila massima. Scrivi la seguente firma funzione di:

vuoto recursiveRect (int Currow, int MaxRow)

{}

3 Test per vedere se la riga corrente (dal titolo "Currow") è inferiore alla fila massima (che si intitola "MaxRow") ponendo un semplice "if" tra le parentesi graffe della funzione "recursiveRect," in questo modo:

if(curRow < maxRow)

{}

4 Scrivere una dichiarazione che stampa una stringa di caratteri asterisco ogni volta che il "se" è soddisfatta dichiarazione. Inserire la seguente riga tra le parentesi graffe del "if" nel passaggio precedente:

cout << "********" << endl;

5 Scrivere una funzione chiamata ricorsiva alla funzione "recursiveRect" mettendo la dichiarazione di seguito tra le parentesi graffe del "if". Si noti che la variabile "Currow" ha un "++" che lo precede. Ciò incrementa la riga corrente e consente la funzione chiamata successiva stampare la riga successiva nel rettangolo.

recursiveRect(++curRow, maxRow);

6 Scrivere una dichiarazione di ritorno in fondo della funzione, subito dopo le parentesi graffe del "if":

return;

7 Creare una funzione principale, da dove si chiamerà, o invocare, la funzione ricorsiva rettangolo.

int main ()

{RecursiveRect (0, 4);}

8 Premere il tasto verde "Play" nella parte superiore della IDE. Il programma verrà eseguito e chiamare la funzione ricorsiva, che poi si definisce altre tre volte. Il risultato è un rettangolo a quattro righe, che assomiglia a questo: