Page 415 - Informatica dalla A a Z
P. 415
Algoritmi e Programmazione
Le tipologie principali di ragionamento, utilizzate nella risoluzione di problemi, sono 2: il
389
388
procedimento euristico e gli algoritmi .
Approfondimento: Nella risoluzione dei problemi, applicare una soluzione euristica equi-
vale a suddividere il problema in più fasi.
Il procedimento euristico è basato sull’intuizione e sullo stato temporaneo delle cose, con
l’obiettivo di generare una nuova conoscenza.
Nota: L’algoritmo rappresenta una sequenza di passi, l’euristica, può sembrare una solu-
zione più rapida, ma non sempre porta alla soluzione ottimale.
Lo studio degli algoritmi riveste il ruolo più importante nell’ambito della programmazione.
La comprensione di un problema e la capacità di saper impostare una soluzione ottimale è
una condizione fondamentale per lo sviluppatore di software.
Nota: La corretta impostazione di un problema permetterà di usare un qualunque linguag-
gio di programmazione, per creare il corrispondente programma.
I computer, in fondo, sono essenzialmente esecutori di “algoritmi”.
390
In informatica, con il termine “algoritmo “ intendiamo un metodo (o procedimento), per
391
la soluzione di un problema, adatto a essere implementato sotto forma di programma ,
ovvero una sequenza finita di operazioni (istruzioni elementari) che possono essere ese-
guite dal sistema di elaborazione, per risolvere un problema.
Uno stesso problema può essere risolto in modi diversi. Esistono quindi più algoritmi che
risolvono lo stesso problema.
392
393
394
L’algoritmo deve essere finito , deterministico , generale , eseguibile, e non deve es-
395
sere ambiguo .
388 L’euristica è una regola pratica dettata dall’esperienza delle cose passate. Per risolvere un problema attraverso un algoritmo,
infatti, si ha bisogno anche di conoscenze dovute all’esperienza, che vanno ben oltre la definizione del problema stesso.
389 Un algoritmo è un procedimento di calcolo che si basa sull’applicazione di un numero finito di regole che determinano in
modo meccanico tutti i singoli passi del procedimento stesso.
390 Questo termine deriva dal nome del matematico persiano Abu Ja’far Mohammed ibn Mâsâ al-Khowârizmî (825 d.C.), famoso
per aver introdotto nel mondo arabo i numeri indiani. La sua opera "Il calcolo degli indiani" venne successivamente tradotta in
latino da un monaco europeo, con il titolo Liber algarismi (Il libro di al-Khwarizmi).
391 Il programma rappresenta una traduzione dell’algoritmo, attraverso un linguaggio di programmazione, in codice eseguibile
dal computer (linguaggio macchina).
392 Le istruzioni sono in numero finito e vengono eseguite un numero finito di volte.
393 Ad ogni passo deve essere definita una ed una sola operazione successiva.
394 Deve essere indipendente dai dati in ingresso.
395 Ogni istruzione oltre ad essere elementare, deve consentire un’interpretazione univoca.
411