Do you need any help?

[HOMEWORK] Homework 8 di recupero (deadline 5 gg prima dell'esame)

andrea.sterbini (172780 points)
513 935 1789
asked Dec 26, 2021 in Avvisi by andrea.sterbini (172,780 points)
edited Dec 26, 2021 by andrea.sterbini

ATTENZIONE:

  • eventuali correzioni verranno inserite qui
    • il testo dell'esercizio consiglia di provare l'algoritmo a mano su carta per poi scrivere lo pseudo codice dell'algoritmo, ma NON DOVETE CONSEGNARE nessun file txt.
  • NOTA: per eseguire i test SENZA i controlli ed il timeout modificate test_01.py settando la variabile DEBUG=True

Istruzioni

Per svolgere l'homework:

  • Installate le librerie necessarie (COMPRESO stopit)
  • Scaricate il file HW8rec.zip e scompattatelo in una directory
    • Lo zip contiene
      • l'esercizio da svolgere, descritto all'inizio del file program01.ita.py (in italiano) oppure program01.eng.py (in inglese)
        • l'esercizio consiste nel realizzare, se necessario definendo funzioni ausiliarie, la funzione descritta all'inizio del file, completandone il codice
      • altre librerie e file necessari ad eseguire i test sulla vostra macchina
  • Posizionatevi nella directory creata unzippando l'archivio e rinominate il file program01.ita con il nome program01.py
  • Editate il file program01.py implementando le funzioni necessarie a risolvere l'esercizio.
  • ATTENZIONE: il programma NON DEVE eseguire nessun input() o print(), infatti riceve tutte le informazioni di cui ha bisogno tramite i parametri della funzione che dovete completare e torna il risultato con return.
  • ATTENZIONE: SONO VIETATE le variabili globali.
  • ATTENZIONE: SONO VIETATE tutte le altre librerie a parte quelle già importate nel testo.
  • ATTENZIONE: i vostri programmi NON DEVONO sfruttare eventuali periodicità o caratteristiche strutturali degli input, ma devono essere applicabili a qualsiasi input valido.
  • ATTENZIONE: NON LASCIATE ISTRUZIONI DI TEST NEL PROGRAMMA, A MENO CHE NON SIANO DOPO UNA RIGA
    • if __name__ == '__main__':
      • vostre istruzioni di test che in questo modo non vengono eseguite durante l'import del file
  • Per eseguire i test
    • aprite una finestra "Anaconda Prompt" e posizionatevi nella directory ottenuta scompattando lo zip
    • eseguite il comando (test senza timeout)
      • pytest test_01.py -v -rA
    • oppure (con una stampa dei tempi impiegati per eseguire ciascun test)
      • pytest test_01.py -v -rA --durations 0
    • oppure (CON stampa dei tempi spesi dal programma nelle 20 funzioni complessivamente più lente)
      • pytest test_01.py -v -rA --profile
    • Per far fermare i test al primo errore aggiungete l'opzione -x
    • Per chi usa Spyder:
      • è possibile eseguire i test direttamente da dentro Spyder installando il plugin spyder-unittest (ma senza timeout o parametri aggiuntivi)
      • è possibile ottenere i tempi spesi in ciascuna funzione direttamente da dentro Spyder installando il plugin spyder-line-profiler

NOTA: per aprire i file di testo in formato utf8 NON usate Notepad che non riconosce gli accapi Unix ('\n') ma usate Spyder o Notepad++

Scadenze

  • Gli homework di recupero scadono 5 giorni prima dell'esame che volete svolgere

Consegna entro le 23:59 di 5 gg prima dell'esame

Dovrete consegnare solo il file program01.py

La pagina di consegna è https://q2a.di.uniroma1.it/homeworks/delivery?homework=12

Potete consegnare più volte, vale l'ultima.

1 Answer

D
Domi (790 points)
7 12 14
answered Dec 31, 2021 by Domi (790 points)
Scusi prof, ma non ho capito esattamente che dovrebbe ritornare la funzione da progettare. Cioè dovrebbe ritornare il numero di rettangoli e salvare l'immagine creata oppure il numero serve solo come valore interno? Inoltre, perché il file in output è una variabile nella funzione stessa?
A
Auste (1490 points)
4 6 8
commented Dec 31, 2021 by Auste (1,490 points)
reshown Dec 31, 2021 by Auste
la funzione deve tornare il numero di rettangoli una volta effettuate tutte le divisioni.

"si deve contare tutte gli appezzamenti di terra che sono nell'
     immagine e restituire questo conteggio"

Il file in output è dato come variabile in quanto dovrai salvare al suo interno i colori seguendo la gerarchia che viene descritta nel programma.
D
Domi (790 points)
7 12 14
commented Dec 31, 2021 by Domi (790 points)
Ottimo, grazie