Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
[1.1.1.11]
A volte si usa, per lo stesso scopo, una rappresentazione grafica equivalente: il diagramma di flusso o FLOW
CHART.
Il formalismo grafico dei flow chart è particolarmente indicato per esprimere un algoritmo anche se
vedremo che altri formalismi più potenti sono maggiormente indicati per la rappresentazione dei sistemi di
processo industriali.
E’ importante sottolineare che il procedimento prescinde dal tipo di dispositivo o di tecnologia con cui verrà
svolto il problema.
In ambito matematico (ma è possibile estendere il ragionamento anche ad ogni processo o attività) la
risoluzione delle semplici operazioni aritmetiche (o i più articolati calcoli del MDC o del mcm) sono semplici
algoritmi che si possono codificare e rappresentare attraverso formalismi o metalinguaggi.
Lo scopo di questi passaggi è quello di poter sviluppare la risoluzione di un qualsiasi problema in modo da
poter essere eseguibile da una macchina logica.
A questo tipo di approccio viene dato il nome di CODING e si può tradurre come “pensare macchina”.
1
Il termine ALGORITMO deriva dal nome del matematico arabo AL-KHOWARIZMI (IX sec.)
1
Prometeo del 3° millennio: implicazioni antropologiche del CODING, della dittatura delle macchine e dei
numeri.
Il confine sempre più labile tra umano e macchina ci porta ad una riflessione inevitabile.
Ciò che è stato concepito come facilitazione alla fatica umana, nel tempo, conseguenza di una
straordinaria e geometrica evoluzione tecnica (e soprattutto informatica), è trasfigurato in una sorta di
archetipo, una sovrastruttura verso cui la società sta tendendo. L’uomo nel corso del tempo ha modificato
l’approccio al mondo fenomenico assumendo un atteggiamento sempre più simile ad una macchina.
L’uomo ha creato la macchina a sua immagine e somiglianza ma alla fine ne sta assumendo lui l’aspetto.
I miti prima del Golem e poi di Frankenstein, stanno rivelando un curioso paradosso in cui non è più la
macchina che evolvendo rischia di sopraffare l’essere umano, ma è l’uomo che sta inesorabilmente
trasformandosi in una macchina.
“Cogitare ex machina”, pensare macchina, più che uno sforzo che il progettista dei sistemi automatici deve
fare, è un’attitudine da cui guardarsi.
Il problema:
Il problema si presenta “in solido”, come un unico blocco dal quale bisogna estrarre tutti gli elementi per
formulare una procedura di risoluzione: l’algoritmo.
E’ essenziale d unque una sua “riformulazione” che consentirà una “predisposizione” alla futura
“elaborazione”.
NO !!!
PROBLEMA ELABORAZIONE
SI !!!
RIFORMULAZIONE PREDISPOSIZIONE
Per elaborazione si intende la stesura di un formalismo che consente la più agevole trasposizione ad un
linguaggio comprensibile ad una macchina di calcolo (PC, PLC, o altro).
2
Questo tipo li formalismo, che prende il nome di METALINGUAGGIO 2, deve avere due caratteristiche
basilari:
Per affrontare il problema si propone di risolverlo secondo la procedura concepita da Euclide. In un certo
senso stiamo formalizzando un algoritmo Euclideo.
Al termine di questa procedura analitica si saranno poste le basi per riformulare e predisporre il problema.
2
METALINGUAGGIO è l’unione delle parole META+LINGUAGGIO, il prefisso META proviene dal greco <con, dopo>. In
questo caso può intendersi come “…che trascende ….”. Questo formalismo è ciò che trascende il linguaggio.
3
Si procede con una verifica ragionata su un esempio pratico.
“Calcolare il MCD di 3 e 7”
A3 B Fase Azione
3 7 1 Considerare i numeri 3 e 7
2 Il contenuto di A è minore di B
3 I numeri non sono uguali
7 3 4 I numeri vengono scambiati
Si esegue la differenza tra A e B;
5 7-3=4 e si pongono i risultati in A e B e si
torna alla fase 2
4 3 2 Il contenuto di B è minore di A
3 I numeri non sono uguali
Si esegue la differenza tra A e B;
5 7-3=4 e si pongono i risultati in A e B e si
torna alla fase 2
4 3 2 Il contenuto di B è minore di A
3 I numeri non sono uguali
Si esegue la differenza tra A e B;
5 4-3=1 e si pongono i risultati in A e B e si
torna alla fase 2
1 3 2 Il contenuto di A è minore di B
3 I numeri non sono uguali
3 1 4 I numeri vengono scambiati
Si esegue la differenza tra A e B;
5 3-1=2 e si pongono i risultati in A e B e si
torna alla fase 2
2 1 2 Il contenuto di B è minore di A
3 I numeri non sono uguali
Si esegue la differenza tra A e B;
5 2-1=1 e si pongono i risultati in A e B e si
torna alla fase 2
1 1 2 Il contenuto di B è uguale ad A
Poiché i risultati sono congruenti il
3
calcolo si arresta e il risultato è 1
L’ultimo passaggio sarà quello di formalizzare l’algoritmo e avverrà solo quando saranno note le regole
sintattiche e semantiche del METALINGUAGGIO.
3
Le caselle chiamate con A e B è da intendersi come due contenitori in cui appoggiare i risultati parziali che via via
saranno utilizzati per i confronti e le operazioni. Nei capitoli successivi questo ruolo sarà affidato a elementi
informatici chiamati “celle di memoria”.
4