Proseguendo il precedente articolo dedicato alle funzioni ricorsive in C++, presentiamo una raccolta di 22 nuovi esercizi progettati per affinare le abilità di programmazione degli studenti. Ogni esercizio è accompagnato da una consegna chiara e mirata, e un’analisi del suo obiettivo didattico per guidare l’apprendimento.
- Controllare se un numero è pari
Scrivi una funzione ricorsiva che verifichi se un numero è pari. La funzione deve restituiretruese il numero è pari, efalsealtrimenti.
Obiettivo didattico: Questo esercizio introduce il concetto di base della ricorsione, insegnando agli studenti a lavorare con operazioni modulari e condizioni. - Calcolare il resto di una divisione
Scrivi una funzione ricorsiva per calcolare il resto di una divisione tra due numeri senza usare l’operatore%.
Obiettivo didattico: Questo esercizio aiuta a comprendere la sottrazione ricorsiva e sviluppa l’intuizione per risolvere problemi senza operatori predefiniti. - Calcolo del fattoriale
Scrivi una funzione ricorsiva che calcoli il fattoriale di un numero positivo. Il fattoriale è definito come il prodotto di tutti gli interi da 1 an.
Obiettivo didattico: Perfetto per introdurre l’idea di ricorsione a ritroso, questo esercizio consolida il concetto di caso base e caso ricorsivo. - Somma degli elementi di un array
Scrivi una funzione ricorsiva che calcoli la somma degli elementi di un array di interi.
Obiettivo didattico: Insegna agli studenti a iterare ricorsivamente sugli array e a implementare la somma cumulativa. - Verifica se un array è ordinato in ordine crescente
Implementa una funzione ricorsiva per verificare se gli elementi di un array sono ordinati in ordine crescente.
Obiettivo didattico: Introduce il concetto di confronto ricorsivo tra elementi consecutivi di un array. - Contare gli elementi pari in un array
Scrivi una funzione ricorsiva che conti il numero di elementi pari in un array.
Obiettivo didattico: Questo esercizio permette di applicare condizioni e contatori in un contesto ricorsivo. - Trova la posizione del valore massimo in un array
Scrivi una funzione ricorsiva che individui l’indice dell’elemento massimo in un array.
Obiettivo didattico: Aiuta a costruire algoritmi di ricerca sfruttando la ricorsione. - Somma dei primi N numeri dispari
Scrivi una funzione ricorsiva per calcolare la somma dei primi N numeri dispari.
Obiettivo didattico: Stimola il ragionamento sui numeri dispari e sull’accumulazione tramite ricorsione. - Separare le cifre di un numero con un trattino
Scrivi una funzione ricorsiva che separi le cifre di un numero con un trattino. Ad esempio, 145 diventa “1-4-5”.
Obiettivo didattico: Questo esercizio sviluppa abilità di manipolazione di stringhe e numeri. - Inverso di un numero
Crea una funzione ricorsiva che inverta un numero. Ad esempio, 123 diventa 321.
Obiettivo didattico: Introduce la manipolazione dei numeri attraverso operazioni di modulo e divisione. - Verifica se un array è un palindromo
Scrivi una funzione ricorsiva per verificare se un array è un palindromo.
Obiettivo didattico: Rinforza i concetti di confronto agli estremi di un array. - Ricostruzione di una frase
Scrivi una funzione ricorsiva che concateni gli elementi di un array di parole in una stringa separata da spazi.
Obiettivo didattico: Migliora le abilità di lavoro con stringhe e array. - Stampa di una stringa invertita
Implementa una funzione ricorsiva che inverta una stringa.
Obiettivo didattico: Dimostra come manipolare ricorsivamente le stringhe. - Calcolo della divisione intera
Crea una funzione ricorsiva che calcoli il quoziente intero di due numeri senza usare/.
Obiettivo didattico: Rafforza la comprensione della sottrazione iterativa. - Controllare se due numeri sono uguali
Scrivi una funzione ricorsiva per verificare l’uguaglianza tra due numeri.
Obiettivo didattico: Introduce condizioni semplici nella ricorsione. - Convertire un numero decimale in binario
Scrivi una funzione ricorsiva per convertire un numero in binario.
Obiettivo didattico: Unisce la ricorsione con i sistemi numerici. - Generare numeri da 1 a N in ordine inverso
Implementa una funzione ricorsiva che stampi i numeri da 1 a N in ordine inverso.
Obiettivo didattico: Introduce la ricorsione con decremento. - Verificare se un numero è una potenza di 2
Scrivi una funzione ricorsiva che verifichi se un numero è una potenza di 2.
Obiettivo didattico: Rafforza i concetti di divisione iterativa e logica binaria. - Stampa il primo carattere di una stringa
Scrivi una funzione ricorsiva per stampare il primo carattere di una stringa.
Obiettivo didattico: Abilita l’estrazione di elementi da stringhe tramite ricorsione. - Calcolo della serie di Fibonacci
Scrivi una funzione ricorsiva per calcolare il n-esimo termine della serie di Fibonacci.
Obiettivo didattico: Introduce una delle applicazioni più classiche della ricorsione. - Numero di zeri in un numero
Scrivi una funzione ricorsiva che conti quanti zeri ci sono in un numero.
Obiettivo didattico: Aiuta a manipolare numeri e condizioni. - Stampa di numeri da 1 a N
Scrivi una funzione ricorsiva per stampare tutti i numeri da 1 a N.
Obiettivo didattico: Consolidamento della ricorsione con incremento.
Questi esercizi rappresentano un passo fondamentale per chi vuole padroneggiare le funzioni ricorsive in C++. Studenti e insegnanti possono utilizzare questa guida per approfondire argomenti chiave della programmazione ricorsiva.



