Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Dubbio sulla ricorsione

M
Maryam1372 (1270 points)
15 32 38
in Es1 by (1.3k points)
recategorized by
Salve a tutti
Solo ora ho capito che le soluzioni devono essere per forza ricorsive. Ho appena finito il primo esercizio ,però l'ho fatto con iterazione anziche con la ricorsione. A causa di miei impegni lavorativi riesco a riprendere solo dopo il sabato e quindi avrò poco tempo. Vorrei sapere in questo caso il punteggio del mio esercizio sarà uguale a 0?
359 views
closed with the note: answered

2 Answers

Best answer
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
selected by
No, i test complessivi saranno di due tipi: 1) che controllano le funzionalità ma non la ricorsione 2) che controllano che le funzioni siano ricorsive

Non passerai i secondi ma passerai i primi
M
Maryam1372 (1270 points)
15 32 38
by (1.3k points)
Benissimo. Cmq cerco di conventirli
La ringrazio per la risposta
LeonardoEmili (35740 points)
13 65 155
by (35.7k points)

Ciao Maryam buona serata,

guarda sinceramente per il punteggio non so darti un valore esatto però devo dirti che purtroppo questo HW si basa sulla ricorsione pertanto sarà fortemente penalizzato chi non la userà, forse al pari di chi non svolgerà per niente l'esercizio. E' davvero un peccato che tu abbia risolto il primo problema ma non senza usare la ricorsiva. Voglio darti qualche suggerimento, poichè immagino che sarai arrivata alla soluzione con qualche metodo alternativo, e che non conoscendo il numero di iterazioni avrai basato il tuo programma su un grande while. Se sei arrivata a questo punto in realtà la soluzione del problema per passare una funzione a ricorsiva è piuttosto semplice, te la schematizzo:

  1. Scomponi il tuo problema in problema/dichiarazione e inizializzazione di variabili. Questa parte solitamente è la chiamata alla funzione del grade. Qui implementerai poi una funzione che una volta eseguita eseguirà la stesssa operazione ricorsivamente.
  2. Crea una seconda funzione che chiamerai dalla funzione principale suddetta, tale funzione avrà come argomento un argomento mutevole. Ti faccio un esempio. Se vuoi aver la moltiplicazione di n numeri parti con un caso noto. Ad esempio 5. Vuoi allora moltiplicare tutti i numeri secondo lo schema del fattoriale. Alla prima chiamata della tua funzione in x ci sarà 5, poi invece di ritornare il valore di totale * numero, ritornerai il totale_parziale (chiamiamolo così perché sarà richiamato) e poi al posto di x avrai x-1. E così via fino al caso 1, caso in cui uscirai dalla funzione ricorsiva con un return x.

Tutti questi consigli non vogliono essere inutili o perditempo, solo mi scoccerebbe che una soluzione non fosse accetta per un problema di ""forma"" . Tra mille virgolette ovviamente in quanto cambiando il programma secondo il modo che ti ho descritto sebbene potrebbe sembrarne banale la descrizione verbale, cambierebbe l'intero funzionamento del tuo programma, raggiungendo però lo stesso risultato, stavolta però secondo "le vie consentite".

Di nuovo,

buona serata

.

Leonardo Emili