Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/01292.jsonl.gz/496

In questa attività potrai ulteriormente esercitarti a creare grafiche e l'obiettivo sarà quello di imparare a progettare un problema complesso suddividendolo in parti più piccole (decomposizione) e più facilmente gestibili grazie all'implementazione e l'utilizzo delle funzioni, attraverso una nuova tecnica di progettazione: il metodo top-down.
Il metodo di progettazione top-down si basa sulla decomposizione del problema iniziale. Il problema viene diviso in sotto-problemi più piccoli ed ogni sotto-problema viene risolto separatamente. Successivamente, le soluzioni di ogni sotto-problema vengono combinate tra di loro per ottenere una soluzione al problema iniziale.
Osserva attentamente la seguenti grafiche:
Una possibile soluzione è dividere i petali dallo stelo. Tuttavia, se osservi più attentamente puoi notare che i petali possono essere ancora divisi in un quadrato e due semicerchi.
Adesso che hai suddiviso il problema iniziale in sotto-problemi puoi iniziare a progettare il tuo programma definendo per ogni sotto-problema una funzione specifica. Senza, al momento, implementare il corpo della funzione (solo definendo il nome della funzione e i parametri necessari). Per esempio:
def quadrato(lato):
return
def semicerchio(raggio):
return
def petalo(lato_petalo):
return
def stelo(lato_petalo):
return
def trifoglio(lato_petalo):
return
Terminata la fase di progettazione puoi iniziare ad implementare separatamente ogni funzione.
Implementa le funzioni
quadrato e
semicerchio.
Adesso implementa la funzione di nome
petalo che prende come argomento il lato del quadrato del petalo e ritorna una grafica di colore
COLORE_PETALO composta da un quadrato con sopra e accanto due semicerchi. Se ti risulta difficile scomporre la grafica, prova ad osservarla ruotata di 45 gradi in senso antiorario:
Suggerimento: prima di ritornare la grafica fissa il punto di riferimento al vertice dell'angolo retto del quadrato, come rappresentato in figura.
Implementa ora la funzione di nome
stelo che accetti come argomento il lato del quadrato del petalo e restituisca un rettangolo di colore
COLORE_PETALO, con larghezza pari a 1/5 rispetto al
lato_petalo e altezza pari al doppio del
lato_petalo.
Ora non ti resta altro che implementare la funzione di nome
trifoglio combinando le implementazioni dei sotto-problemi. La funzione accetta il lato del quadrato del petalo restituisca la grafica del trifoglio di colore
COLORE_PETALO.
In questa attività hai imparato a suddividere un problema complesso in sotto-problemi più piccoli e gestibili, attraverso l'uso delle funzioni. Inoltre, hai imparato a rendere il programma più modulare. Un programma più modulare è spesso più semplice da capire, correggere e modificare.
Trifoglio