|
La parola
algoritmo trae origine dal nome del matematico arabo
medioevale:
Al-Khawarizmi. In
pratica con algoritmo si intende la procedura da compiere per eseguire un
calcolo.
Il termine sembra un parolone che talora incute timore, quando
invece l'algoritmo lo conoscono molto bene tutti coloro che hanno un minimo di istruzione.
I primi algoritmi li abbiamo appresi addirittura alle scuole elementari. Ad esempio per
sommare due numeri come 23 e 78, il maestro o la maestra pressappoco ci
insegnava così:
1) Metti i due numeri in colonna 2) Somma le cifre
della prima colonna di destra e scrivi il risultato 3) Se c'è un riporto
aggiungilo alla colonna di sinistra, somma le cifre e scrivi il risultato finale.
I punti 1, 2 e 3 danno un semplice esempio di
algoritmo. Nessuno ce l'aveva mai detto, percio' quando si studia
l'informatica sembra che il concetto di algoritmo sia qualcosa di astruso.
Il termine algoritmo ha oggi un significato
molto ampio per comprendere non solo le procedure di calcolo, ma qualsiasi
regola per ottenere dati, ad esempio si hanno
algoritmi di ricerca, algoritmi per trattare immagini, algoritmi per la
scrittura ecc. Si capisce bene come queste operazioni
hanno ben poco a che fare con la matematica.
L'algoritmo definisce un piano di lavoro,
dunque il programmatore traduce un algoritmo mediante il linguaggio Fortran,
il Pascal o altro. Nel gergo tecnico talora
programma ed algoritmo sono sinonimi anche se ciò è inesatto perché il
programma contiene due parti:
- Le istruzioni,
-
Le dichiarative.
Soltanto la prima parte contiene le istruzioni
proprie dell'algoritmo mentre
le dichiarative determinano i campi per operare.
Quando un esperto software deve creare un programma ci
sono due possibiità:
a) L'algoritmo gli viene illustrato con ogni
dettaglio nelle
specifiche di progetto, b) L'algoritmo deve essere inventato dietro
indicazioni succinte.
Il caso a) è comune nelle aziende, nelle
banche e nelle istituzioni. Ad esempio una banca segue i calcoli dietro le
accurate istruzioni della Banca Europea. Il caso b) è tipico dei centri di ricerca e dei
centri di produzione di grandi o di piccole case.
Inventare un algoritmo non è cosa da poco
e quando qualcuno ci riesce talora crea
una azienda apposita per sfruttare l'idea. Questo succede specie in
USA. In Italia dove i centri di ricerca sono scarsi e così pure la
produzione di package software, il caso a) è di gran lunga più frequente
rispetto a b). Questo fatto chiarisce come l'insegnante che introduce la
programmazione come se questa dovesse essere sistematicamente una attività
inventiva (comunemente si chiede di calcolare una funzione matematica), crea una prospettiva professionale sfasata nell'allievo.
Gli studenti sono orientati a prendere l'eccezione - che è l'inventiva -
come regola, di conseguenza hanno aspettative professionali squilibrate
rispetto a quello che è il lavoro reale.
Indietro
|