prof. Nunzio Brugaletta | Programmazione e linguaggio C |
Una applicazione diffusa dei contatori è quella di controllo delle elaborazioni iterative. Ci sono delle elaborazioni cicliche in cui è noto il numero degli elementi da elaborare e, in questi casi, un contatore, che si aggiorna ad ogni elaborazione effettuata (si pensi ad esempio ad un contachilometri di una automobile che si aggiorna in automatico ad ogni chilometro percorso), conteggia gli elementi che vengono trattati mano a mano. Appena il contatore raggiunge la quantità prestabilita, l'elaborazione ha termine.
In questi casi lo schema generale dell'elaborazione ciclica può assumere questo aspetto:
Ricevi Quantità elementi da elaborare Per contatore da 1 a quantità elementi da elaborare Ricevi elemento elabora elemento Fine-Per
Si tratta di un caso particolare dell'elaborazione ciclica. Rispetto all'elaborazione ciclica trattata precedentemente (il ciclo Mentre controllato dall'avere, una certa variabile, assunto un valore particolare) si possono notare alcune differenze:
Ciclo Mentre |
Ciclo Per |
---|---|
Considera primo elemento Mentre elementi non finiti Elabora elemento Considera prossimo elemento Fine mentre |
Ricevi Quantità elementi da elaborare Per contatore da 1 a quantità elementi Ricevi elemento elabora elemento Fine-Per |
Nel ciclo Mentre si acquisisce il primo elemento prima dell'inizio del ciclo e, quindi, quando si entra nel ciclo la prima cosa da fare è effettuare l'elaborazione dell'elemento che è stato ricevuto; l'input successivo prepara il prossimo elemento. Viene acquisito un elemento in più che funge da tappo: serve solo ad avvisare che l'elaborazione è finita. Se ci sono, per esempio, 8 elementi da elaborare devono essere forniti 9 elementi (gli 8 da elaborare e l'elemento tappo). Il conteggio degli elementi elaborati può essere effettuato utilizzando un contatore.
Nel ciclo Per si acquisisce per prima cosa il numero rappresentante la quantità delle iterazioni. Subito dopo si può procedere con l'elaborazione ciclica: un contatore automatico si occupa di verificare se il valore contenuto nel contatore abbia raggiunto la quantità prefissata e, in questo caso, di bloccare l'iterazione. Non è necessario alcun input suppletivo.
http://ennebi.solira.org | ennebi@solira.org |