Do you need any help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 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 2021-22 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.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

Dubbio esercizio 2 homework 3

v
val9 (9770 points)
0 28 53
asked Dec 2, 2018 in Es2 by val9 (9,770 points)

Ho un dubbio su due metodi dello Skyline che devono essere implementati: aggiungi e fondi.

1) Se aggiungo un rettangolo allo skyline devo immediatamente modificare la sua immagine o posso farlo direttamente nella funzione save

2)Analogamente nel caso di due skyline da fondere: posso costruire la nuova immagine in save o devo farlo necessariamente all'interno del metodo fondi?


 

1 Answer

Best answer
_andrea_ (45670 points)
2 40 297
answered Dec 2, 2018 by _andrea_ (45,670 points)
selected Dec 5, 2018 by val9
I test che usano i metodi aggiungi() e fondi() richiamano anche il metodo save() alla fine
v
val9 (9770 points)
0 28 53
commented Dec 2, 2018 by val9 (9,770 points)

Ti ringrazio per la delucidazione e ne approfitto per porre altre due domande. 

1) Posso modificare l'immagine di partenza quando aggiungo dei rettangoli oppure devo comunque crearne una da zero?

2) Questa riguarda il metodo cancella della classe Rettangolo. Posso iterare in qualche modo sugli oggetti della classe Skyline per rimuovere il rettangolo da ogni skyline oppure devo optare per qualche altra strada?

_andrea_ (45670 points)
2 40 297
commented Dec 2, 2018 by _andrea_ (45,670 points)
1) io credo di averne creata una nuova e non so se è possibile farlo aggiornandola. Comunque ti consiglio per ora di farlo più semplice che puoi, tanto se guardi la classifica abbiamo tutti tempi simili e penso che il modo in generale sia quello

2) ovviamente devi trovare un modo per iterare sugli skyline per ogni rettangolo che chiama il metodo cancella()
_andrea_ (45670 points)
2 40 297
commented Dec 2, 2018 by _andrea_ (45,670 points)
Comunque mi è venuto in mente che lavorare sulla stessa immagine aggiornandola sarebbe molto difficile nel caso in cui ti trovassi a dover aggiungere un rettangolo che è più alto dell'attuale altezza dea tua immagine e esce fuori a destra. Dovresti aggiungere righe in alto e colonne a destra, e inoltre dovresti rispettare l'ordine di sovrapposizione. Non so quanto conviene
v
val9 (9770 points)
0 28 53
commented Dec 2, 2018 by val9 (9,770 points)
Questo è vero, ma speravo di guadagnare sul tempo di esecuzione
_andrea_ (45670 points)
2 40 297
commented Dec 2, 2018 by _andrea_ (45,670 points)
Non ci spererei. Se devi aggiungere anche una sola riga in alto e una colonna a destra, immagina di averne 100 sotto, devi scalarle tutte e ad ognuna devi aggiungere un elemento alla fine