User Tools

Site Tools


appunti3s:un_modulo_in_un_programma

Differences

This shows you the differences between two versions of the page.


appunti3s:un_modulo_in_un_programma [2020/06/08 22:20] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====Cosa è un programma?====
  
 +Un programma assomiglia ad una complessa e lunga ricetta di cucina.
 +Il computer è il cuoco che la deve eseguire per l'utente.
 +Noi chi siamo? Siamo gli autori della ricetta (cioè del programma) da eseguire.
 +
 +Esempio: Fiori di zucca ripieni al forno
 +  - lavare 6 fiori di zucca
 +  - lavare 1 zucchina
 +  - cuocere la zucchina a rondelle con sale ed olio per 10 minuti
 +  - frullare con il mixer la zucchina con 100 gr di ricotta 
 +  - riempire i fiori di zucca con il precedente preparato
 +  - mettere in forno ventilato a 160 gradi per 10 minuti 
 +  - spolverare le zucchine con parmigiano
 +  - mettere in forno per 5 minuti
 +
 +====Cosa è un modulo?====
 +
 +Per un cuoco esperto queste istruzioni sono semplici da realizzare, ma richiedono di sapere come si cuoce una zucca o come si accende il forno.
 +
 +Rispetto al cuoco, il computer non possiede una propria intelligenza.
 +Le istruzioni che può eseguire un computer devono essere molto più dettagliate e quindi, di solito, un programma risulta molto più lungo di una comune ricetta.
 +
 +In questo esempio viene chiesto due volte di utilizzare il forno. 
 +Un cuoco sa già come fare, ma al computer andrebbero ripetute entrambe le volte, dettagliatamente, un gruppo di ulteriori istruzioni.
 +È possibile dare un nome, un'etichetta o un titolo, al gruppo di istruzioni (modulo) da riutilizzare più volte e ripetere solo il titolo del modulo.
 +
 +Ecco come diventerebbe la ricetta principale:
 +
 +  - lavare 
 +  - lavare 
 +  - cuocere
 +  - frullare 
 +  - riempire 
 +  - mettere in forno 
 +  - spolverare con parmigiano
 +  - mettere in forno
 +
 +La ricetta conteneva 8 istruzioni generiche, ma alcune si ripetevano e ora sono rimasti solo 6 diversi moduli: lavare, cuocere, frullare, riempire, mettere in forno e spolverare.
 +In realtà i moduli sono 7, perché bisogna considerare anche la ricetta principale che serve a ricordare in che ordine vanno eseguiti i diversi moduli. 
 +
 +Qualcuno potrebbe osservare che in realtà il forno va usato, certamente per due volte, ma con tempi di cottura diversi. Per questo motivo oltre al titolo del modulo si deve fare in modo che le istruzioni non contengano scritto il valore della temperatura, ma che questo debba essere specificato, insieme al titolo, come un parametro variabile.
 +
 +Ecco come diventerebbe la ricetta
 +
 +  - lavare (6 fiori di zucca)
 +  - lavare (1 zucchina)
 +  - cuocere (1 zucchina + sale + olio)
 +  - frullare (1 zucchina + ricotta)
 +  - riempire (6 fiori di zucca)
 +  - mettere in forno (160° + 10 minuti)
 +  - spolverare con parmigiano
 +  - mettere in forno (160° + 5 minuti)
 +
 +==== I vantaggi ====
 +Non c'è più bisogno di ripetere due volte come "lavare" o come "mettere in forno" qualcosa.
 +Riutilizzare il codice nei programmi è una delle cose che facilita il compito del programmatore.
 +Inoltre diventa più semplice leggere il codice dove ogni diversa operazione è separata dal punto di vista logico.
 +
 +==== Gli svantaggi ====
 +C'è comunque un piccolo svantaggio: invece di scrivere un solo programma, bisogna scrivere tanti diversi moduli e lavorare per __metterli poi insieme__ in modo che funzionino correttamente .
appunti3s/un_modulo_in_un_programma.txt · Last modified: 2020/06/08 22:20 by 127.0.0.1