Table of Contents
_________________
1. Chiarimenti HW8-req
.. 1. Lista dei colori vuoti, che non "riempie" il pattern o casi "incoerenti".
.. 2. Si assume che nella lista dei colori non vi siano ripetizioni.
.. 3. Non e' esplicitamente richiesto di calcolarsi il numero totale di combinazioni.
.. 4. Nel testo la dimensione D corrisponde ad un lato della immagine quadrata.
.. 5. Immagini doppioni ma passo i test.
.. 6. Ricorsione, dummy function, impostazione, ricorsione non rilevata.
.. 7. Img_properties è ovviamente una stringa che contiene del testo NON un file.
.. 8. Immagini di 1 pixel e ricorsione non riconosciuta
1 Chiarimenti HW8-req
=====================
Spero che questo post possa chiarire alcuni dettagli su *HW8* dato il
numero di domande che sono state fatte. Premettiamo che quando
prepariamo gli HW non è che nei test regolari e segreti vi vogliamo
"ingannare" con dei casi speciali. A volte semplicemente non riusciamo
a specificare immediatamente tutti i possibili casi e rendere
l'esercizio cyrstal clear.
Facciamo chiarezza su un po' di punti:
1.1 Lista dei colori vuoti, che non "riempie" il pattern o casi "incoerenti".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In questo caso il problema non si pone perchè se ci pensate bene è
come aver finito le mosse possibli in un albero di gioco e quindi il
vostro stato iniziale coincide direttamente con la fine. In altre
parole, a partire da quella condizione non potete generare niente
quindi la struttura dati che è chiesta al ritorno deve essere per
forza vuota. Riposta: Lista vuota. Se scrivete bene il codice vi
dovrebbe venire naturale di generare una lista vuota, senza casi
particolari da gestire.
1.2 Si assume che nella lista dei colori non vi siano ripetizioni.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Questa osservazione è pertinente. Si assume che non vi siano
ripetizioni di colori ossia che i colori all'interno della lista siano
sempre unici.
1.3 Non e' esplicitamente richiesto di calcolarsi il numero totale di combinazioni.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Anche se e' un'ottima cosa per ragionare sul problema. Una volta che
impostate la ricorsione correttamente vi dovrebbe venire gratis.
1.4 Nel testo la dimensione D corrisponde ad un lato della immagine quadrata.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Il testo specifica dimensione ma si intende la dimensione di un
singolo lato dell'immagine quadrata.
1.5 Immagini doppioni ma passo i test.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ottima osservazione. Quick answer: se avete doppioni è probabile che
ci sia qualcosa non va, quindi dovete sistemare il vostre
codice. Long: Potete inserire assert che rileva questa casistica. Mi
sono dimenticato di inserire il controllo prima sulla grandezza della
lista. Ovviamente il risultato non è corretto ed è passato in maniera
fortuita. Cercate di sistemare a monte (prima) il vostro programma
perchè non dovrebbe generare doppioni. Anche perchè è probabile che
non passiate i timeout se generate più immagini del dovuto. Nel
frattempo decidiamo con gli altri docenti se aggiornare i test.
1.6 Ricorsione, dummy function, impostazione, ricorsione non rilevata.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Evitate la cosa sgradevole di inserire una funzione dummy che va in
ricorsione. Il problema è strutturato in modo che si risolve bene in
modo ricorsivo. Ho spiegato a lezione che un modo per attaccarlo è
come albero di gioco in cui vi è da costruire un'immagine. Si parte
dallo stato vuoto e uno può fare una mossa aggiungendo un pixel o un
qualcosa che vi porta in un altro stato più vicino alla soluzione.
Nel caso dei pattern c'è da pensare bene alle prossime mosse. Contano
anche le funzioni ricorsive che sono definite esternamente ad ex() ma
sono invocate poi dentro ex() ovviamente. Se definite una inner
function ricorisiva dentro ex() mi sa che NON passate il test di
ricorsione. Ottimo avvertimento anche in vista dell'esame.
1.7 Img_properties è ovviamente una stringa che contiene del testo NON un file.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.8 Immagini di 1 pixel e ricorsione non riconosciuta
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Alcuni test hanno il controllo alla chiamata ricorsiva disattivato
(vedi primo test), nel caso in cui non vi siano colori multipli. Se
hai anche un solo pixel ma piu' di un colore ha senso controllare la
ricorsione (caso 2). Ho notato che test 13 non controlla la
ricorsione ma e' un errore dato dalla spostamenti di alcuni test
(andrebbe controllato invece).
Spero possa aiutare e diminuire incertezza. Via via che ci sono
dubbia cerco di aggiornare il post.
_________________
1. Chiarimenti HW8-req
.. 1. Lista dei colori vuoti, che non "riempie" il pattern o casi "incoerenti".
.. 2. Si assume che nella lista dei colori non vi siano ripetizioni.
.. 3. Non e' esplicitamente richiesto di calcolarsi il numero totale di combinazioni.
.. 4. Nel testo la dimensione D corrisponde ad un lato della immagine quadrata.
.. 5. Immagini doppioni ma passo i test.
.. 6. Ricorsione, dummy function, impostazione, ricorsione non rilevata.
.. 7. Img_properties è ovviamente una stringa che contiene del testo NON un file.
.. 8. Immagini di 1 pixel e ricorsione non riconosciuta
1 Chiarimenti HW8-req
=====================
Spero che questo post possa chiarire alcuni dettagli su *HW8* dato il
numero di domande che sono state fatte. Premettiamo che quando
prepariamo gli HW non è che nei test regolari e segreti vi vogliamo
"ingannare" con dei casi speciali. A volte semplicemente non riusciamo
a specificare immediatamente tutti i possibili casi e rendere
l'esercizio cyrstal clear.
Facciamo chiarezza su un po' di punti:
1.1 Lista dei colori vuoti, che non "riempie" il pattern o casi "incoerenti".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In questo caso il problema non si pone perchè se ci pensate bene è
come aver finito le mosse possibli in un albero di gioco e quindi il
vostro stato iniziale coincide direttamente con la fine. In altre
parole, a partire da quella condizione non potete generare niente
quindi la struttura dati che è chiesta al ritorno deve essere per
forza vuota. Riposta: Lista vuota. Se scrivete bene il codice vi
dovrebbe venire naturale di generare una lista vuota, senza casi
particolari da gestire.
1.2 Si assume che nella lista dei colori non vi siano ripetizioni.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Questa osservazione è pertinente. Si assume che non vi siano
ripetizioni di colori ossia che i colori all'interno della lista siano
sempre unici.
1.3 Non e' esplicitamente richiesto di calcolarsi il numero totale di combinazioni.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Anche se e' un'ottima cosa per ragionare sul problema. Una volta che
impostate la ricorsione correttamente vi dovrebbe venire gratis.
1.4 Nel testo la dimensione D corrisponde ad un lato della immagine quadrata.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Il testo specifica dimensione ma si intende la dimensione di un
singolo lato dell'immagine quadrata.
1.5 Immagini doppioni ma passo i test.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ottima osservazione. Quick answer: se avete doppioni è probabile che
ci sia qualcosa non va, quindi dovete sistemare il vostre
codice. Long: Potete inserire assert che rileva questa casistica. Mi
sono dimenticato di inserire il controllo prima sulla grandezza della
lista. Ovviamente il risultato non è corretto ed è passato in maniera
fortuita. Cercate di sistemare a monte (prima) il vostro programma
perchè non dovrebbe generare doppioni. Anche perchè è probabile che
non passiate i timeout se generate più immagini del dovuto. Nel
frattempo decidiamo con gli altri docenti se aggiornare i test.
1.6 Ricorsione, dummy function, impostazione, ricorsione non rilevata.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Evitate la cosa sgradevole di inserire una funzione dummy che va in
ricorsione. Il problema è strutturato in modo che si risolve bene in
modo ricorsivo. Ho spiegato a lezione che un modo per attaccarlo è
come albero di gioco in cui vi è da costruire un'immagine. Si parte
dallo stato vuoto e uno può fare una mossa aggiungendo un pixel o un
qualcosa che vi porta in un altro stato più vicino alla soluzione.
Nel caso dei pattern c'è da pensare bene alle prossime mosse. Contano
anche le funzioni ricorsive che sono definite esternamente ad ex() ma
sono invocate poi dentro ex() ovviamente. Se definite una inner
function ricorisiva dentro ex() mi sa che NON passate il test di
ricorsione. Ottimo avvertimento anche in vista dell'esame.
1.7 Img_properties è ovviamente una stringa che contiene del testo NON un file.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.8 Immagini di 1 pixel e ricorsione non riconosciuta
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Alcuni test hanno il controllo alla chiamata ricorsiva disattivato
(vedi primo test), nel caso in cui non vi siano colori multipli. Se
hai anche un solo pixel ma piu' di un colore ha senso controllare la
ricorsione (caso 2). Ho notato che test 13 non controlla la
ricorsione ma e' un errore dato dalla spostamenti di alcuni test
(andrebbe controllato invece).
Spero possa aiutare e diminuire incertezza. Via via che ci sono
dubbia cerco di aggiornare il post.