At My Fingertips

Documentation

Trifoglio

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.

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.

Progettazione

Osserva attentamente la seguenti grafiche:

trifoglio e quadrifoglio

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

Programmazione

Terminata la fase di progettazione puoi iniziare ad implementare separatamente ogni funzione.

Petalo

Implementa le funzioni quadrato e semicerchio.

Loading...

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:

petalo

Suggerimento: prima di ritornare la grafica fissa il punto di riferimento al vertice dell'angolo retto del quadrato, come rappresentato in figura.

Loading...

Stelo

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.

Loading...

Trifoglio

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.

Loading...

Cosa hai imparato

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.


This activity has been created by Dal Pian and is licensed under CC BY-SA 4.0.

Trifoglio

Logo of PyTamaro

PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI

Privacy PolicyPlatform Version b957a28 (Fri, 06 Sep 2024 08:10:08 GMT)