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.

Dubbio Es75 dell'eserciziario d'esame

CiZ (3810 points)
5 13 21
in Eserciziario d'esame by (3.8k points)

Salve, oggi stavo provando a fare l'Es75 e devo dire che il primo test lo passo, assumendo che la distanza di ogni rettangolo deve essere la metà della lunghezza dei rettangoli.

Questo però non funziona con gli altri test e non capisco secondo cosa dovrei scegliere la distanza tra un rettangolo e l'altro.

Vi incollo la traccia qui di seguito:

"""
    Definite la funzione es75 che riceve come argomenti
        h:                  altezza della immagine
        w:                  larghezza della immagine
        listaColori:        una lista di N colori nel formato (R, G, B) che devono essere applicati, nell'ordine da sinistra a destra, ai rettangoli
        listaAltezze:       una lista di N altezze < h
        larghezzaPalazzo:   la larghezza di ciascuno dei rettangoli da disegnare
        filePngOut:         path del file PNG in cui salvare l'immagine
        :return             numero di pixel cambiati piu' di 1 volta
    e che crea una immagine di dimensioni w,h con sfondo blu (0,0,255).
    Sulla immagine devono essere disegnati N rettangoli equispaziati tutti di larghezza larghezzaPalazzo, appoggiati in basso.
    L'altezza ed il colore del rettangolo i-esimo (da sinistra a destra) e' data dallo i-esimo elemento delle liste listaAltezze e listaColori.
    I rettangoli devono essere disegnati in modo che i rettangoli piu' bassi restino in primo piano rispetto ai rettangoli piu' alti.
    La funzione deve inoltre ritornare il numero di pixel che appartengono a piu' di un rettangolo
    (ovvero quelli di rettangoli che sono stati coperti da almeno un altro rettangolo)

    Nota:   assumete che la larghezza w della immagine sia sempre un multiplo di (1+N),
            in modo che il centro della posizione x di ciascun palazzo sia un valore intero
    Nota:   assumete che larghezzaPalazzo sia un valore pari
    Nota:   assumete che tutte le altezze siano minori o uguali dell'altezza h della immagine
    """

Questo sarebbe il risultato:

 

211 views
closed

1 Answer

Best answer
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
selected by
Mi pare di ricordare che in quell'esame ci fu chi posizionò i centri degli N palazzi in modo che non sporgessero dall'immagine e chi li posizionò distanziati uniformemente anche se facendo così i primi/ultimi sporgevano dalla immagine ed erano troncati.

Prova in entrambi i modi (dopo l'esame abbiamo considerato corrette entrambe le soluzioni)
CiZ (3810 points)
5 13 21
by (3.8k points)
Grazie mille prof per la risposta rapida