Altraidea-Cuneo.it periodico on line di informazione e di cultura

Algoritmi [2]: su che dati lavorano?

di Piero Giuseppe Goletto

Nel primo articolo di questa serie abbiamo accennato al tema delle strutture dati, sul quale desideriamo ora proporre un approfondimento. Per quanto possa apparire astratta, la matematica ha molto a che vedere con il mondo reale.

Ancora di più l’informatica – dovendo offrire soluzioni a problemi concreti servendosi di rappresentazioni del reale – deve rispecchiare i contesti concreti in cui gli utilizzatori dei sistemi operano. Il pensiero umano è organizzato e pertanto fa riferimento a insiemi di elementi anche eterogenei. Ricordate l’esempio dell’anagrafica fatto nel precedente articolo? Ecco: questo è un insieme di elementi che possono essere rappresentati con una struttura di dati, oppure può essere racchiuso in un “oggetto” informatico. L’oggetto informatico ha una caratteristica: incorpora i dati che caratterizzano l’oggetto, i “metodi”, cioè i modi con cui questo stesso oggetto potrà essere utilizzato e le relazioni con oggetti simili o con gerarchie di oggetti.

Un esempio reale. Prendiamo in considerazione una biblioteca, che mette a disposizione dei fruitori libri, riviste, dischi e DVD. Esaminando il problema in maniera molto semplice disponiamo di due oggetti basilari: le pubblicazioni (un libro è una pubblicazione, così come una rivista o un disco; ciascuna di queste è una classe di pubblicazioni) e i prestiti. Le relazioni tra la pubblicazione e gli autori, gli editori, ecc. sono simili (ad esempio, tutti i libri hanno un autore e un editore; i dischi hanno un elenco di brani). Approfondendo l’analisi delle pubblicazioni verificheremo che sarà possibile applicare metodi molto simili per registrare tutte le informazioni relative alle diverse classi di pubblicazioni. Tutti i prestiti potranno essere gestiti, indipendentemente dal tipo di pubblicazione, con gli stessi metodi. A ogni metodo corrisponde un algoritmo.

Clear

-1°C

Cuneo

Clear

Humidity: 48%

Wind: 4.83 km/h

  • 03 Jan 2019

    Sunny 6°C -2°C

  • 04 Jan 2019

    Partly Cloudy 6°C -3°C

Partly Cloudy

5°C

Nizza

Partly Cloudy

Humidity: 73%

Wind: 12.87 km/h

  • 03 Jan 2019

    Mostly Sunny 11°C 0°C

  • 04 Jan 2019

    Partly Cloudy 10°C 1°C