Pascal/Algoritmi: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ramac (discussione | contributi)
per ora così
Ramac (discussione | contributi)
finisco
Riga 21:
* la componibilità: ogni struttura di controllo può avere tra le strutture che controlla altre strutture di controllo, ricorsivamente, senza limiti.
 
=== La sequenza ===
La struttura della '''sequenza''' è la più semplice, ed è stata già vista in precedenza: prevede che le istruzioni siano ripetute una dopo l'altra.
<br/>Nel caso di un semplice algoritmo "prepara il caffè", i passaggi in ordine saranno ad esempio prendi il caffè, riempi il filtro della caffettiera, accendi il gas, ecc...
 
=== La selezione ===
La struttura di '''selezione''' permette di eseguire blocchi di istruzioni differenti in base ad una condizione valutata inizialmente.
<br/>Nel nostro algoritmo "prepara il caffè" potremmo quindi ad esempio prevedere azioni differente se non c'è caffè in casa (si va a comprare il caffè); comunque, anche questa selezione poi ha un unico punto di uscita, cioè riempi il filtro della caffettiera, sia che ci sia il caffè in casa o no.
<br/>Questo è un caso di ''selezione binaria'', che prevede cioè solo due alternative: il caffè è in casa, oppure non lo è.
 
Talvolta è possibile prevedere anche più di un caso, ad esempio che tipo di caffè si vuole preparare (cappuccino, macchiato, semplice, ecc...): in base all'alternativa scelta, bisogna effettuare operazioni differenti. In realtà questo costrutto (chiamato ''selezione multipla'') può essere sostituito da più selezioni binarie.
== Il ciclo ==
 
=== Il ciclo ===
Alcune operazioni possono poi richiedere la '''ripetizione''' di una o più istruzioni: questo è possibile grazie alla struttura chiamata "ciclo" o "ripetizione" o anche "iterazione" (dal verbo latino ''itero'', ripetere).
<br/>Nel nostro algoritmo "prepara il caffè" ad esempio viene ripetuta per ciascuna tazzina l'operazione di prendere una bustina di zucchero, aprirla, versarla nel caffè e mescolare.
 
=== Componibilità ===
L'algoritmo appena descritto può essere reso più fine, prevedendo ad esempio al posto dell'operazione "vai a comprare il caffè" un ''sotto-algoritmo'' (in programmazione, un ''sotto-programma'') che preveda la scelta del negozio da comprare in base ad esempio alla convenienza del caffè, ecc...
 
== Input e output ==
Altri due importanti concetti su cui soffermarsi prima di affrontare lo studio del Pascal sono quelli di '''input''' e '''output'''.
 
Per '''''input''''' si intendono tutte le informazioni ''in ingresso'' nell'algoritmo, che vengono cioè dall'esterno, e non sono state definite da chi ha formulato l'algoritmo (o il programma; in effetti, si parla di input e output più in informatica che in altri campi). In informatica ad esempio è un input anche il muovere il mouse, cliccare su un pulsante o digitare dei caratteri da tastiera.
<br/>Nel nostro algoritmo "prepara il caffè", ad esempio, sono informazioni in input il numero di tazzine da preparare, il tipo di caffè che hanno scelto, ecc...
 
L''''''output''''' costituisce invece tutte le informazioni ''in uscita'' dall'algoritmo, cioè quello che produce effettivamente l'algoritmo sull'esterno. In informatica, tipicamente un output può essere un risultato stampato a schermo, oppure una finestra che ci avverte di un errore o di un'operazione avvenuta. A parità di input, l'output deve essere il medesimo.
<br/>Nel nostro algoritmo "prepara il caffè" può essere considerati ouput ''in primis'' il caffè che abbiamo preparato!
 
[[Categoria:Pascal|Algoritmi]]