# Processo di Sviluppo - Progettazione 2

diseño

# Problemi complessi

Le soluzioni a problemi complessi possono richiedere molti passaggi. Le strategie più comuni sono:

  • Scomposizione o divide et impera: consiste nel dividere un grande problema in unità più piccole che possono essere risolte una alla volta.
    • Esempio: possiamo minimizzare il problema della pulizia di un’intera casa in compiti più semplici, cioè pulire una stanza per volta.
  • Risolvere per analogia: Dato un problema, si tratta di ricordare un compito simile che è già stato risolto. I due problemi analoghi possono anche appartenere ad aree di conoscenza completamente diverse.
    • Esempio: Il calcolo medio delle temperature della province della Toscana e la media dei voti di una classe di studenti si realizza allo stesso modo.

Scomporre il problema originale in sottoproblemi più facili e quindi dividere questi sottoproblemi in sottoproblemi ancora più semplici è chiamato design top-down. Dopo una prima descrizione del problema (molto vaga), segue un approccio più dettagliato con passaggi più specifici. Questo processo è chiamato raffinamento dell'algoritmo.

Esempio di progettazione:

Leggi il raggio di una circonferenza e con quel dato calcola e restituisci il risultato della sua superficie e il perimetro.

  • Può essere suddiviso in tre sottoproblemi più semplici::

    • Leggere Raggio
    • Calcolare Superficie
    • Calcolare Perimetro
    • Pubblicare i risultati
  • Raffinamento dell’algoritmo:

    • Leggere Raggio
    • Superficie <- PI * RAGGIO ^ 2
    • Perimetro <- 2 * PI * RAGGIO
    • Pubblicare RAGGIO, SUPERFICIE, PERIMETRO Possiamo vederlo in un diagramma strutturato:

topdown

# Contenuti Extra: