Page 432 - Informatica dalla A a Z
P. 432

Nota: l’unita di misura della frequenza che esprime il numero di oscillazioni al secondo é
           l’Hertz (Hz);

           L’Ampiezza: rappresenta la quota raggiunta dall’onda in uno specifico istante temporale e

           determina l’intensita del suono.



                                              Linguaggi di programmazione



           L’algoritmo, normalmente viene scritto in un linguaggio naturale, il linguaggio con cui dia-

           loghiamo, con l’accortezza di utilizzare termini chiari e frasi comprensibili. È anche impor-
           tante distinguere tra dati e informazioni: i dati sono costituiti da numeri, testo, immagini,
           etc., e si riferiscono a fatti non organizzati, mentre le informazioni sono dati organizzati in
           modo da essere utili all’utente.


           Per capirci meglio, possiamo pensare ai dati come ai nomi inseriti in una rubrica telefonica,
           mentre i collegamenti ai rispettivi indirizzi e/o numeri telefonici, rappresentano le infor-
           mazioni. Da qui possiamo facilmente capire che i dati, presi singolarmente, non hanno

           grande significato, ma lo assumono quando vengono organizzati tra loro in modo da costi-
           tuire un’informazione.

           L’ordinamento è uno degli argomenti più interessanti dell’algoritmica. Di solito l’input di

           un problema di ordinamento consiste in un elenco non ordinato di elementi, come i nu-
           meri, mentre il compito dell’analista sarà quello di produrre un elenco ordinato, dove gli
           elementi sono disposti, ad esempio, in maniera ascendente.

           Si assume anche di sapere la lunghezza N degli elementi da ordinare, e che l’unico modo

           per conoscere la grandezza di questi elementi sia eseguire confronti binari, cioè confron-
           tare due elementi alla volta e agire in base al risultato del confronto.

           Il più comune tipo di ordinamento è il “Bubblesort”, anche se non è sicuramente il più

           efficiente, ma viene utilizzato solo per scopi didattici.

           L’algoritmo di bubblesort si basa sulla seguente osservazione. Se l’elenco mischiato viene
           attraversato in sequenza, un elemento alla volta, e ogni volta che si incontra due elementi

           adiacenti che sono nell’ordine sbagliato (ovvero, il primo elemento è maggiore del se-
           condo) essi vengono scambiati, allora a fine elenco si avrà che l’elemento più grande si
           troverà nella posizione giusta, ovvero in fondo. Un secondo attraversamento porterà il se-

           condo elemento più grande a trovarsi nella sua posizione corretta, il penultimo posto della
           lista e così via. Si nota che ad ogni iterazione, i confronti scendono di 1, perché gli ultimi
           elementi sono già ordinati.


           Quindi il secondo ordinamento si fermerà ad (N-1), il terzo ad (N-2) e così via.

                                                            428
   427   428   429   430   431   432   433   434   435   436   437