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

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Consigli Homework 8

aa91 (3450 points)
6 14 46
in HW8 by (3.5k points)
edited by
Voglio condividere con voi alcuni consigli che a me hanno aiutato molto a svolgere questo HW.

- scrivere su un pezzo di carta come "si muove" il tuo programma, collegando con una freccia (stile diagramma di flusso) le varie funzioni che si chiamano a vicenda, così eviti di calcolare più volte lo stesso valore e guadagni in efficienza oltre ad avere una mappa logica chiara, molto utile nella ricorsione in quanto è stato difficile per me astrarre.
- dividi il programma in quante più funzioni possibili, così da poterle testare singolarmente e verificare che l'output attesto rispecchia quello che fornisce la funzione
- non usare subito il return per verificare la correttezza del tuo programma ma usa le print( es: "Vinto w") in caso di termine partita, è un po noioso contare le vittorie ma dopo quando ultimi tutto devi solo capire come sommare le vittorie senza preoccuparti di verificare che il tutto sia corretto
-usa una board di prova che modifichi pian piano te e che puoi controllare negli output

Ovviamente se avete altri consigli scrivete pure sotto

5 Answers

I
Ivano.Piredda (7880 points)
5 8 30
by (7.9k points)
Guardate le ultime lezioni registrate in presenza, in particolare quella sul gioco del Tris, e guardate anche gli ultimi webinar del Prof Sterbini!!!

Mi hanno aiutato moltissimo!!!
G
Giosuè (280 points)
2 2 4
by (280 points)
Grazie, io consiglio di usare molto il debug, a me ha salvato.
M
MattiaCavalieri (4140 points)
0 0 6
by (4.1k points)
Io ho trovato molto utile importare rtrace (utilizzata nelle lezioni del Prof Sterbini) per vedere effettivamente lo sviluppo della funzione ricorsiva e le chiamate effettuate. Mi ha svoltato!
Alegau (6770 points)
1 2 43
by (6.8k points)
Guardati le lezioni del prof a me hanno aiutato molto
anon3 (10560 points)
20 66 138
by (10.6k points)

Ottimi consigli! laugh

Ovviamente se avete altri consigli scrivete pure sotto

1) Per chi non ha molta familiarità con le classi, conviene utilizzare la classe Tree preimpostata con "from tree import Tree", piuttosto che crearsene una da sé;

2) Personalmente ho trovato comodo rendere ricorsive due funzioni: una per salvarmi tutti i nodi dell'albero (le varie configurazioni della chessboard) e una per controllare le "foglie" finali, in modo da contare numero di vincite/perdite/pareggi. 

3) Dumbothello, la funzione originale, conviene "toccarla" il meno possibile, sia a livello di ordine mentale che di intricacy, ecc. Personalmente io la ho usata esclusivamente per aprire il file e ritornare il risultato.