Nucleo di Ricerca in Didattica dell`Informatica

Transcript

Nucleo di Ricerca in Didattica dell`Informatica
Beppe Pea
Informatica
Corso di base
pag. 1
LE INTELLIGENZE
Secondo lo "Zingarelli", vocabolario della lingua
italiana, l'intelligenza è la capacità di padroneggiare le situazioni nuove o di risolvere problemi nuovi, più che con l'esperienza, mediante la
comprensione dei rapporti esistenti fra i vari
elementi della situazione.
Questa definizione appare molto adatta ad identificare un particolare tipo di intelligenza: quella del
genere umano adulto, ma il fatto che un bambino
non solo non sappia risolvere alcuni problemi, ma
non li percepisca addirittura, è sufficiente per poter
affermare che il bambino non è intelligente o è
meno intelligente di un adulto ? Se poi consideriamo altri esseri viventi quali gli alberi, i batteri, gli
esseri unicellulari, ... , è veramente difficile dire se
comprendono la realtà, sono quindi privi di intelligenza ?
Un concetto di intelligenza siffatto, basandosi sui
problemi, sulla comprensione e sulla padronanza
della realtà richiede la coscienza e la consapevolezza nell'individuo intelligente, quindi anche le
capacità critiche e di giudizio. Tutto ciò porta a
considerare atti e comportamenti che hanno la loro origine anche nella morale, nella spiritualità,
nella religiosità, e ciò, pur essendo splendido da
un punto di vista antropologico, risulta fuorviante
per chi vuol ricondurre il concetto di intelligenza
all'interno delle macchine, come avviene in informatica.
Per gli scopi informatici è più adatta la spiegazione di intelligenza che viene riportata dalla "Grande
Enciclopedia Vallardi", secondo la quale l'intelligenza non sarebbe un'unica qualità, ma la risultante di un complesso di attitudini e disposizioni che consentono di apprendere i dati
dell'esperienza, di elaborarli stabilendo fra essi dei nessi logici e di tradurli in pratiche applicazioni.
In funzione di quest'ultima definizione appare
chiaro che l'esame dell'intelligenza deve essere
condotto su due fronti contemporaneamente: quello qualitativo e quello quantitativo.
A questo punto è ancora più difficile dire con precisione che cosa sia l'intelligenza ( occorrerebbe
introdurre altri concetti come memoria, attenzione,
intuizione, logica, capacità di analisi, capacità di
sintesi,...), è però più semplice capire quando si e`
in presenza di un atto intelligente, o di un essere
che si comporta e opera in maniera intelligente, in
modo da risolvere i problemi affrontati e raggiungere gli obiettivi fissati.
E’ proprio in funzione di queste ultime considerazioni che viene attribuito li nome di “intelligenza
artificiale” anche ad alcune costruzioni tecnologi-
che come il computer. Ma qualsiasi macchina non
percepisce problemi, non ha obiettivi da raggiungere, non ha consapevolezza della realtà, quindi l’
intelligenza artificiale non può essere semplicemente assimilata a qualsiasi “intelligenza naturale”, è necessario ridefinirla, pur tenendo sempre
ben presente il confronto con le intelligenze che si
manifestano in natura.
Intelligenze: naturali, artificiali
In questo paragrafo verranno considerate come
intelligenze naturali quelle prodotte dall'evoluzione biologica, cioè quelle presenti in tutti gli esseri viventi. Infatti ogni essere vivente deve affrontare e risolvere problemi, in maniera più o meno
cosciente. La qualità e la quantità dei problemi da
affrontare e risolvere sono tanto maggiori quanto
più l'essere vivente è evoluto, in ogni caso anche
gli esseri più primitivi devono risolvere i problemi
della loro sussistenza e della loro riproduzione per
il mantenimento della specie.
Partendo da un problema affrontato e risolto da
un'intelligenza naturale, come quella dell'uomo, si
può approdare ad una prima definizione di intelligenza artificiale.
PROBLEMA:
Stirare un capo di abbigliamento avendo a
disposizione, come strumento, un ferro da
stiro elettrico dotato solo di un interruttore di
corrente.
Stirare significa distendere e orientare le fibre di
un tessuto. Questo lavoro lo si può fare con maggior facilità utilizzando in maniera opportuna grandezze fisiche come la temperatura e la pressione.
Il ferro da stiro permette di avere la pressione e la
temperatura più opportune per ottenere il massimo risultato con il minor sforzo.
La temperatura ideale, per stirare un particolare
tessuto, deve essere mantenuta costante. Questo
crea un primo problema perché se il ferro da stiro
è acceso (collegato alla corrente) la sua temperatura continua ad aumentare, mentre se è spento
(non collegato alla corrente elettrica) la sua temperatura continua a diminuire. Per risolvere questo
problema l'uomo non può agire sull'interruttore
collegando e scollegando il ferro da stiro dalla corrente elettrica in maniera casuale, ma deve:
- collegarlo alla corrente se la temperatura e`
troppo bassa
- scollegarlo se la temperatura e` troppo elevata.
Questo lavoro per essere fatto richiede una intelligenza capace di conoscere:
pag. 2
. i dati in esame
. gli strumenti disponibili
. gli effetti fisici di tali strumenti
. la capacità di trovare i nessi logici
. la capacità di agire secondo questi nessi logici.
Se tutto ciò, invece che essere fatto dall'uomo,
viene fatto da uno strumento, allora questo
strumento sostituisce una intelligenza naturale
e, per questo motivo, viene detto: "Intelligenza
artificiale".
La "termocoppia elettrica" che viene inserita nei
ferri da stiro e` una intelligenza artificiale capace
di collegare e scollegare dalla corrente gli strumenti elettrici a secondo che la temperatura sia
bassa o alta rispetto al valore ideale.
Con il progredire delle scoperte e delle realizzazioni degli strumenti elettronici si è giunti al COMPUTER, cioè ad una macchina che, senza essere
modificata nei suoi componenti, è capace di portare a termine una enorme quantità di lavori diversi.
L'elasticità, la flessibilità d'uso, la rapidità e la precisione di esecuzione di molte operazioni rendono
il computer "confrontabile" con l'uomo, quindi il titolo di "intelligenza" (artificiale) comincia ad essere più appropriato.
Ma attenzione, il calcolatore elettronico è una
macchina, evoluta quanto si vuole ma pur sempre
una macchina, perciò risolve, eventualmente, un
problema ma non lo percepisce e non ha consapevolezza del suo operare.
Gli studi sull'intelligenza artificiale hanno da tempo
abbandonato il sogno di creare strumenti non biologici dotati di intelligenza autonoma in senso umano, cioè di una intelligenza cosciente e consapevole della realtà in cui agisce. Ci si accontenta
di creare sistemi capaci di riprodurre comportamenti intelligenti, di eseguire azioni intelligenti;.
Ma quanto le intelligenze artificiali si sono avvicinate alle intelligenze naturali? Per comprenderlo
e` necessario prendere in esame una classificazione operativa delle intelligenze.
LIVELLI DI INTELLIGENZA
Il calore prodotto dalla resistenza elettrica innalza
la temperatura della termocoppia. A causa di ciò
la termocoppia si incurva e il circuito elettrico si
apre togliendo energia elettrica. Il sistema si raffredda e il contatto si ripristina, e così via...
Di intelligenze artificiali di questo tipo l'uomo ne ha
sempre create, utilizzando i principi della fisica e
della chimica ma, riferendosi a queste creazioni,
l'uomo non ha usato il termine "intelligenza",
bensì "strumento, dispositivo, marchingegno,
congegno, apparecchiatura, adattatore, macchina, ..."
Il motivo di questo "pudore" è molto semplice: ritornando all'esempio fatto prima, la termocoppia
svolge un lavoro intelligente ma sa fare solo quel
lavoro (collegare e scollegare in funzione della
temperatura), le intelligenze naturali sanno fare
più lavori ed in campi diversi della realtà, presentano così una elasticità e una potenzialità che non
e` nemmeno lontanamente confrontabile con le
minuscole capacità della termocoppia.
Le intelligenze vengono classificate, in senso operativo, in:
- Intelligenze ripetitive;
- Intelligenze ereditarie;
- Intelligenze creative.
Intelligenze ripetitive
Le intelligenze di tipo RIPETITIVO sono caratterizzate dall'agire sempre nello stesso modo e di
non potersi migliorare nel tempo.
Questo tipo di intelligenza si caratterizza per il fatto di non modificare i propri comportamenti in relazione alle esperienze fatte, è una intelligenza
che non impara.
Fra le intelligenze naturali sono tanti gli esempi
che si possono portare, ma quello di un ragnetto
delle nostre campagne risulta esemplare e chiarificatore:
Questo piccolo ragno fa la tana in piccoli buchi
dei muri o del terreno e questa serve anche da
deposito delle prede catturate. Ma prima di depositarvi la preda catturata la appoggia sul bordo della tana ed entra a fare una ispezione per
controllare che non ci siano inconvenienti. Durante una di queste ispezioni hanno provato ad
allontanare la preda dalla tana, il ragno, di ritorno dall'ispezione, accortosi che la preda era
scomparsa, è andato a ricercarla e, trovatala,
pag. 3
l'ha riportata sul bordo della tana ed ha ricominciato con una nuova ispezione. Spostata nuovamente la preda ci si è accorti che il ragno non
ha modificato un solo atto del suo operare. In
pratica il ragno la tana potrebbe averla ispezionata tante volte consecutivamente, ma ripeterebbe tutto come se fosse la prima volta.
In questa categoria rientrano la quasi totalità dei
sistemi informatici attualmente utilizzati infatti posti
di fronte al problema di quale è il prodotto della
moltiplicazione 3x4:
- i computer e le calcolatrici compiono una miriade di operazioni elettroniche che, alla fine, generano sul monitor la scrittura "12". Se si dovesse fare la stessa richiesta per altre mille volte, il computer compirebbe sempre la stessa
miriade di operazioni per ottenere invariabilmente lo stesso risultato "12". Continuare a ripetere la stessa "esperienza" (è un termine che
per le macchine non può avere la stessa valenza che ha per l'uomo), non modifica né in peggio né in meglio il modo per risolvere il problema.
- il bambino modifica i suoi comportamenti "facendo”, “operando" e i tempi e le tecniche di risoluzione cambiano con l'esperienza.
E' proprio partendo da questa constatazione che il
calcolatore viene definito uno stupido veloce ed è
in ragione della sua enorme velocità di calcolo che
il calcolatore trova tante applicazioni nel mondo
contemporaneo.
Da questo punto di vista il calcolatore è uno strumento in cui l'uomo deposita la propria capacità di
risolvere problemi mediante algoritmi di calcolo,
non ha alcuna capacità autonoma di gestione dell'algoritmo e del problema, esegue la sequenza di
operazioni che l'uomo gli ha "insegnato" senza
modificarla mai e senza alcuna possibilità di controllo critico dei risultati, cioè senza consapevolezza.
Il calcolatore è in grado di risolvere solo problemi
di cui è conosciuto un algoritmo risolutivo, cioè
quando è determinabile una sequenza fissa ed
immutabile di operazioni che partendo dai dati iniziali porti al risultato finale. In altre parole: l'uomo
deve aver già risolto il problema almeno da un
punto di vista simbolico (teorico), il calcolatore si
prende a carico l'esecuzione della enorme quantità di calcoli necessaria per eseguire l'algoritmo.
Ma proprio per questo motivo, quando l'algoritmo
di soluzione di un problema non è determinabile,
l'intelligenza di tipo ripetitivo diventa inutile.
Nel tentativo di risolvere il problema dell'assenza
dell'algoritmo si è cercato di costruire dei sistemi
informatici in grado di imparare dall'esperienza,
cioè in grado di memorizzare i nuovi casi che si
presentano per utilizzarli in successive applicazioni al problema.
Intelligenze ereditarie
Le intelligenze di tipo EREDITARIO sono caratterizzate dal modificare nel tempo il proprio modo di
agire in funzione delle esperienze fatte, in altre parole le intelligenze ereditarie "fanno tesoro", "ereditano" dalle esperienze che hanno dovuto affrontare nuove informazioni che permettono di risolvere lo stesso problema in modo più efficace.
L'esempio del bambino che, in campo aritmetico,
fa esperienze sui calcoli e li saprà fare in modo
sempre più rapido ed efficace è indicativo per illustrare un’intelligenza di tipo ereditario. Ma anche
nel campo delle intelligenze artificiali c'è qualche
cosa che assomiglia all'intelligenza di tipo ereditario:
- La funzione di controllo ortografico di cui sono dotate le migliori gestioni di testi attualmente
sul mercato.
Questa funzione consiste nel confronto tra tutte
le parole del testo in elaborazione e l'elenco di
parole memorizzate all'interno del computer.
Se vengono trovate delle parole che non hanno
un corrispondente nel vocabolario interno, il
controllo ortografico segnala l'anomalia chiedendo istruzioni sulla prosecuzione del lavoro.
Una delle possibili scelte è quella di aggiungere
la parola al vocabolario, tale opzione comporta
l'accettazione di questa parola come parola
corretta, riconoscibile come buona in tutti i testi
che successivamente verranno analizzati.
Quindi il controllo ortografico non si comporta
sempre allo stesso modo, di volta in volta aumenta la propria capacità di controllo incrementando le voci memorizzate nel vocabolario elettronico.
La realizzazione di una intelligenza ereditaria di
questo tipo non comporta particolari difficoltà, infatti l'algoritmo di confronto non viene modificato
dalla dimensione del vocabolario, troppe parole
memorizzate allungheranno i tempi di esecuzione
del controllo stesso, non la tecnica di ricerca del
dato.
- Nel gioco degli scacchi esiste un programma
che permette di fare delle partite con il computer. Questo programma contiene le istruzioni
relative alle regole del gioco ed una memoria di
mosse possibili a secondo dei casi che possono capitare. Maggiore è questa memoria e più
difficoltoso è vincere contro il computer. Questo
tipo di programma rende l'intelligenza di tipo ripetitivo, infatti il computer "gioca" la prima partita con la stessa "abilità" con la quale gioca la
millesima partita, non si migliora.
Hanno saputo creare un programma che contiene le regole del gioco degli scacchi, la memoria delle mosse all'inizio è estremamente ridotta, ma il programma è stato curato in modo
che il computer "sappia" analizzare le mosse
dell'avversario (l'uomo) e le sappia confrontare
con quelle che ha in memoria. Se alla fine della
pag. 4
partita l'uomo dovesse risultare vincente, allora
le mosse vincenti non conosciute dal computer
verranno fissate nella sua memoria e, da quel
momento il computer le potrà utilizzare. E chiaro che più partite verranno fatte dal computer,
maggiore diverrà la conoscenza delle mosse
possibili per vincere.
Due sono le capacità che diversificano questo
programma da altri più tradizionali:
- la capacità di confrontare i risultati raggiunti
con l'obiettivo da raggiungere: memorizzare le
mosse che portano a vincere la partita.
- la capacità di modificare la propria base di
conoscenze e di ristrutturare l'algoritmo risolutivo in modo da utilizzare tutti i dati di cui è dotato.
Questa intelligenza gioca la prima partita di scacchi in maniera diversa da come gioca la decima
partita, cioè, è capace di fare tesoro delle esperienze fatte.
Quest’ultimo programma è fondamentale perché
per la prima volta si è tentato di superare il concetto di algoritmo, il programma è in grado di modificare la propria strategia di soluzione del problema.
Partendo da queste considerazioni negli anni '70 è
nato un nuovo ramo dell'informatica: l'Intelligenza
Artificiale (AI Artificial Intelligence). Il suo obiettivo
iniziale era la realizzazione di sistemi intelligenti,
cioè la riproduzione dell'intelligenza umana, ma
presto ha dovuto fare i conti con la realtà ed ha
assunto come obiettivo la creazione di sistemi informatici in grado di emulare prestazioni "intelligenti" anche se non descrivibili in termini algoritmici.
Infatti tutti i problemi che non sono riconducibili ad
un algoritmo di soluzione non possono essere affrontati dall'informatica tradizionale se non in termini di supporto all'uomo (banche dati). Un esempio classico è la capacità di eseguire diagnosi da
parte di un medico: quali sono gli algoritmi (meccanismi mentali) che il medico mette in atto per
giungere ad una diagnosi? Al momento attuale è
impossibile dare una risposta a questa domanda e
l'informatica può solo porsi in termini di servizio al
medico fornendogli la possibilità di analizzare in
tempi brevissimi una grande quantità di casi clinici.
Naturalmente il patrimonio di conoscenze che sta
nel programma che gioca a scacchi si è cercato di
applicarlo alla soluzione di problemi più importanti,
sono così nati i sistemi esperti. Nel panorama attuale dell'informatica trovano applicazione da alcuni anni sistemi esperti di alto livello, in particolare nel campo della diagnostica sia su cose (robotica) che su persone (medicina).
Prima di fare alcuni esempi cerchiamo di dare una
semplice definizione: "Un sistema esperto è uno
strumento informatico costruito per affrontare
problemi che richiedono conoscenze specializzate ed una grande quantità di informazioni
empiriche".
In altre parole, un sistema esperto cerca di simulare i comportamenti di un esperto di un particolare
settore.
Prendiamo come esempio un medico specializzato. La sua abilità prima che nella capacità di curare si evidenzia nella capacità di diagnosticare la
causa del malessere. Fissiamo per il momento
l'attenzione solo sulla capacità di eseguire una
diagnosi corretta. Pochi, e non sempre, sono in
grado di spiegare in quale modo il medico, dall'analisi dei dati che ha a disposizione, giunge alla
conclusione, spesso neppure il medico in oggetto.
In conclusione: non è possibile stendere un algoritmo che permetta di fare diagnosi in modo automatico. Le capacità che il medico utilizza per arrivare ad una diagnosi possono essere riassunte in
due categorie:
- conoscenze specializzate sul funzionamento del
corpo umano,
- una grande quantità di quadri clinici acquisiti
mediante l'esperienza propria e degli altri.
Un buon esperto deve avere delle conoscenze di
base sufficientemente approfondite per analizzare,
catalogare e capitalizzare le esperienze professionali.
Questa affermazione risulta vera per gli esperti di
tutti i campi (il meccanico che deve diagnosticare
il guasto di un'automobile, il formatore che deve
diagnosticare i mali di una classe di studenti, il
geologo che deve diagnosticare la presenza di un
giacimento petrolifero,...).
Nei sistemi esperti si cerca di simulare queste abilità.
E' chiaro che i risultati migliori i sistemi esperti li
hanno mostrati nei campi più determinati del sapere umano, esistono degli ottimi sistemi esperti per
effettuare diagnosi sui guasti di apparecchiature
meccaniche; da alcuni anni la catena di assemblaggio della FIAT è governata da un sistema esperto; ecc.
Maggiori, enormi difficoltà si hanno nel realizzare
ottimi sistemi di diagnosi che riguardano l'uomo,
anche per le grandi differenze nelle tecniche diagnostiche tra vari esperti dello stesso settore.
Lo studio di sistemi informatici che diano prestazioni sempre più intelligenti è aperto, tutti gli esperti sono concordi nell'affermare che siamo ancora all'inizio del lavoro, molti problemi restano
ancora aperti, elenchiamone alcuni:
- le prestazioni offerte sono sempre limitate alla
soluzione di un particolare problema;
- l'architettura degli elaboratori è ancora quella fissata da Von Neumann agli inizi dell'informatica,
una struttura strettamente sequenziale ed algoritmica, poco adatta alla realizzazione di schemi
di ragionamento paralleli o per affinità;
- l'enorme quantità di problemi legati ai meccanismi naturali di comunicazione dell'uomo (riconoscimento ed analisi dell'immagine, riconoscimento della voce umana, ...) rende difficile realizzare
sistemi in grado di comunicare in senso lato.
pag. 5
Però già funzionano egregiamente sistemi di riconoscimento della voce costruiti per persone
cieche che devono gestire grandi segreterie telefoniche, ma questi sistemi entrano in crisi se
cambia l'operatore o se si esula dalla gestione
della segreteria telefonica. Un altro esempio è la
realizzazione di strumenti ottici di controllo della
produzione industriale; nell'industria tessile vengono utilizzate piccole telecamere che, collegate
a sistemi informatici, individuano e segnalano la
presenza di anomalie nel filato (rigonfiamenti o
eccessiva finezza del filo), ma non sarebbero
mai capaci di individuare difetti di altri prodotti
industriali.
- scarsa conoscenza dell'intelligenza umana (risulta difficile simulare il comportamento di qualcosa che non si conosce in modo profondo).
Risulta chiaro che gli studi sulle intelligenze artificiali richiedono il lavoro di molte categorie diverse
di esperti (dall'ingegnere elettronico per i computer, al matematico ed all'informatico per i programmi, al neurologo e allo psicologo per il cervello umano, ...). Tale collaborazione sta portando
significativi miglioramenti in tutti i campi di lavoro
coinvolti.
L'avvicinarsi sempre di più a macchine che simulano sempre meglio l'intelligenza ed il comportamento umano, porta molti uomini a guardare con
sospetto l'informatica, si è passati dalla paura degli strumenti informatici alla paura dei cambiamenti sociali che questi possono portare. Non sono
paure prive di fondamento, la società descritta da
G. Orwell nel suo romanzo "1984" sarebbe realizzabile allo stato attuale della tecnica; la continua
diminuzione di mano d'opera necessaria al mondo
produttivo induce tensioni sociali pericolose; l'avvicinarsi di quello che viene definito il villaggio
globale pone problemi di rapporti tra nazioni e di
convivenza tra popoli.
Purtroppo è impossibile affermare che questi problemi verranno superati nel migliore dei modi dal
genere umano, e non è possibile dare un giudizio
morale sull'informatica ma, pur essendo impossibile fermare l'evoluzione degli studi e delle applicazioni informatiche (è quindi impossibile fermare le
evoluzioni sociali che ne seguiranno), la conoscenza da parte di larghi strati della popolazione
del mondo informatico è l'unica speranza per il
raggiungimento di una società più giusta.
L'uomo ha una intelligenza ereditaria del tutto particolare perché, mentre un animale, come ad es. il
gatto, "eredita" informazioni e capacità dalle espe-
rienze che fa direttamente, l'uomo può accumulare conoscenze ed abilità anche senza compiere
l'esperienza in prima persona.
L'uomo è capace di "ereditare" anche le esperienze fatte dagli altri con una semplice comunicazione.
La scuola ha, tra i suoi compiti, quello di trasmettere ai discenti le conoscenze e le esperienze fatte
da altri esseri, in modo che l'uomo non debba ripercorrere per intero e direttamente tutte quelle
esperienze che hanno portato a quelle conquiste.
E’ proprio grazie a ciò che esiste un costante progresso nell'ambito delle conoscenze umane.
Intelligenze creative
Le intelligenze CREATIVE sono (qualche studioso
aggiunge "solo per il momento") solo naturali ed
esse si manifestano quando:
- viene risolto un nuovo problema con metodi conosciuti;
- viene portato a termine un problema già risolto
ma con nuove procedure;
- viene risolto un nuovo problema con nuovi metodi;
- viene motivato un giudizio diverso da quello manifestato da un altro relativamente all'interpretazione di una stessa realtà;
- si è consapevoli di tutti gli elementi che contribuiscono a creare uno stato di cose;
- si è capaci di implicanze logiche come dedurre,
indurre ed inferire e quindi di azioni adeguate;
- .....
Un esempio in grado di mostrare la differenza nell'agire fra una intelligenza creativa ed una ereditaria è il seguente:
Si consideri il computer ed il programma che
permettono di giocare a scacchi. La macchina
è stata programmata per vincere e agirà in modo da perseguire solo la vittoria della partita,
qualunque sia l'avversario umano.
Si prenda ora in esame un genitore che insegna al proprio figlio il gioco degli scacchi, le
prime partite il genitore le perderà anche se avrebbe potuto vincerle senza alcuna fatica.
Questo atto: "perdere anche se avrebbe potuto
vincere" il computer non può mai deciderlo. Il
computer con intelligenza ereditaria agisce in
senso "tattico", mentre il genitore con intelligenza creativa agisce in senso "strategico".
Si potrebbe proseguire approfondendo il concetto
di intelligenza, ma entreremmo in campi che non
sono più dell’informatica.
pag. 6
INFORMAZIONI DATI E MEMORIE
INFORMAZIONI E DATI
L’informatica è una scienza che studia i metodi e
gli strumenti per acquisire, trattenere, elaborare,
codificare e rendere disponibile l’informazione.
Quando un individuo chiede una informazione è
perché ha la necessità di sapere qualche cosa
che non sa o di cui non è sicuro. Dato che
l’informazione è strettamente connessa con la conoscenza, disporre delle opportune informazioni
diminuisce, o elimina, lo stato di incertezza relativo ad una realtà e permette di fare scelte meno
rischiose e più consapevoli.
Quando l’informazione è stata acquisita, perché
ricevuta da altri o perché maturata attraverso esperienze dirette, nasce il problema del come comunicarla ad altri, del come depositarla in modo
che sia reperibile quando occorre. Trasmettere
un’informazione ad un ricevente è nella realtà trasmettere l’insieme dei dati inerenti a un oggetto,
rappresentati con simboli secondo un codice convenuto. Analogamente depositare un’informazione
è utilizzare simboli che permangono nel tempo e
che, proprio grazie al codice convenuto, possono
essere prelevati e reinterpretati.
Ma allora la trasmissione è di un insieme di dati e
questo non sempre è, per il ricevente, una informazione. I dati sono tutto ciò che non è dedotto a
priori né costruito e costituiscono una premessa
necessaria per la soluzione del quesito “informazione”, hanno un significato meramente passivo
che solo la capacità intellettiva del ricevente trasforma in qualche cosa che ha significato. In altre
parole, i dati costituiscono l’ambiente da cui deve
prendere le mosse ogni attività riflettente del ricevente.
Si prenda l’esempio di una persona che telefona
ad un’altra e trova la segreteria telefonica. Il messaggio comunicato non è una informazione per il
registratore della segreteria telefonica. Ma allora
ciò che viene registrato (memorizzazione) è un insieme di dati o è una informazione ?
Per il registratore non può essere un’informazione
(ed anche la persona che ha dettato il messaggio
non aveva alcuna intenzione di informare il registratore) ed è solo aver codificato dei dati sonori in
simboli magnetici. Questi dati diventano informazioni solo per la persona che riascolterà il registratore, sempre che sia chiaro che cosa significano
altrimenti anche per la persona rimangono solamente dei dati.
Il computer non ha la capacità di attribuire i significati all’insieme dei dati, perciò le macchine informatiche nella realtà:
- non ricevono informazioni,
- non memorizzano informazioni,
- non trasmettono informazioni,
- non elaborano informazioni,
ma ricevono, memorizzano, trasmettono, elaborano solo DATI.
MEMORIA
Il termine “memoria” quando viene riferito all’uomo
sta ad indicare un insieme di attività (comprendenti processi biologici, fisiologici e psicologici) determinate grazie ad avvenimenti anteriori, vicini o
lontani nel tempo, che hanno modificato in maniera durevole l’organismo.
In informatica questa concezione della memoria
non può andare bene perché si basa sulle attività
e non sugli oggetti, come la seguente:
E’ memoria qualsiasi oggetto che ha la potenzialità di trattenere dati opportunamente codificati in
modo che questi possano essere poi ripresi
all’occorrenza.
Con questa definizione si distingue nettamente
“memoria” da “dati”, quindi “le memorie” intese
come i ricordi (cioè dati) sono, in informatica, da
considerarsi come oggetti. Ad esempio, la frase:
«scrivi le tue memorie su di un quaderno»
è, in informatica, da sostituirsi con:
«scrivi i tuoi ricordi sulla memoria quaderno».
In funzione di questa concezione si possono avere
memorie vuote di dati ma molto potenti perché la
loro potenzialità di alloggiamento dati è elevata.
Le azioni che si possono compiere sulle memorie
sono le seguenti:
• scrivere (alloggiare dei nuovi dati in memoria);
• leggere (prelevare i dati opportuni da una memoria);
• cancellare (eliminare, asportare dei dati dalla
memoria);
• aggiornare (leggere e cancellare dei vecchi
dati per sostituirli mediante la scrittura di nuovi
dati);
• rinfrescare (aggiornare la memoria con gli
stessi dati);
• formattare (predisporre la memoria in modo da
rendere possibili tutte le precedenti azioni).
E’ utile approfondire alcune di queste azioni:
pag. 7
SCRIVERE:
E’ modificare uno stato di omogeneità della memoria secondo regole e convenzioni predeterminate.
Se un foglio presenta l’omogeneità cromatica (ad
esempio l’essere “bianco”), scrivere dei dati sulla
memoria foglio è modificare tale omogeneità con
colori diversi (nero, blu, rosso, verde, ...) utilizzando opportune penne.
La modifica della omogeneità può essere effettuata in vari modi:
1 - con asportazione di materiale . Ne sono esempio le incisioni rupestri fatte dai nostri antenati i quali, basandosi sulla omogeneità “essere
liscia” della superficie di alcune rocce, hanno
scalfito le rocce creando delle “rugosità”.
2 - con aggiunta di materiale. Ne sono esempio
le scritture fatte con penne su fogli, le pitture su
tele, ... che con l’aggiunta di pigmenti colorati
modificano l’omogeneità cromatica esistente.
3 - con il cambiare la posizione del materiale.
Ne sono esempio le incisioni fatte da artisti su
superfici metalliche mediante “bulinatura”. Un
altro esempio è la scrittura braille che, mediante il cambiamento di posizione di materiale,
crea dei rilievi percepibili al tatto.
4 - con il viraggio relativo ad uno stato fisico o
chimico del materiale. Ne sono esempio
l’incisione dei nastri magnetici o dei dischetti informatici (viraggio magnetico), la scrittura delle
memorie elettroniche (viraggio di polarità), la
scrittura degli schermi televisivi (viraggio ottico).
Altri esempi: l’incisione dei cristalli con la fresa è
con asportazione di materiale, il conio delle monete metalliche fatto con presse e con cambiamento
di posizione del metallo, la scrittura di un foglio
con macchina da scrivere e con l’aggiunta del materiale (inchiostro), il timbrare è con aggiunta di inchiostro, il timbrare a secco è con spostamento
della materia, ....
Con i primi tre modi di scrittura c’è l’agire sulla materia con azioni meccaniche che richiedono grande energia e tempi lunghi. E’ proprio per questo
motivo che in informatica si preferisce l’uso delle
memorie scrivibili con il 4° modo (memorie elettroniche, memorie magnetiche, memorie magnetoottiche, memorie fosforico-ottiche,...) e solo quando non è possibile fare diversamente si utilizzano
gli altri modi (memorie cartacee scritte con stampanti che aggiungono inchiostro).
FORMATTARE:
E’ creare nella memoria gli stati di omogeneità e la
struttura che permettono le operazioni di scrittura
e di lettura.
Si consideri un gruppo di bambini che giocano su
una spiaggia sabbiosa. Questa spiaggia non è
una memoria ma i bambini la rendono tale quando, dopo averla lisciata (creazione dello stato di
omogeneità), con un bastoncino scrivono l’inizio, i
trattini e la fine di una parola da indovinare (scrittura con spostamento di materia). Il lisciare una
parte della spiaggia è formattare una memoria.
Analogamente, formattare un dischetto magnetico
è creare una omogeneità di campi magnetici e
strutturarla in modo da rendere possibile le operazioni di scrittura e di lettura magnetica.
TIPI DI MEMORIE
Le memorie si possono classificare in funzione:
• delle differenze dei tempi d’accesso;
• della scrivibilità;
• del ruolo svolto nelle apparecchiature.
Memorie in funzione delle
Differenze dei tempi d’accesso
Il tempo di accesso di una memoria indica
l’intervallo di tempo che passa fra l’istante in cui
viene richiesto di scrivere o di leggere un dato e
l’istante in cui viene effettivamente scritto o letto.
Si abbia, ad esempio, un juke box di dischi di musica leggera e si indichi, con gli appositi pulsanti, il
brano che si vuole ascoltare. Il tempo che intercorre dalla fine delle indicazioni date all’inizio della
lettura del disco è un tempo di accesso alla memoria del juke box.
Su di una memoria dati diversi vengono scritti in
luoghi diversi della stessa memoria. Si può quindi
immaginare la memoria come un insieme ordinato
di luoghi atti ad alloggiare i dati e si può perciò
parlare di un inizio e di una fine della memoria.
Andare in un luogo di memoria richiede un certo
tempo, andare in un altro luogo può richiede un
tempo diverso da quello precedente. Le memorie
possono essere classificate in funzione di queste
eventuali differenze di tempi in:
- R.A.M. (Random Access Memory - Memorie ad
accesso casuale). Sono le memorie nelle quali
tutti i luoghi, in qualunque modo vengano decisi
(anche in maniera casuale), sono raggiungibili
nello stesso tempo. Sono praticamente nulle le
differenze dei tempi di accesso.
- S.R.A.M. (Semi R.A.M.). I luoghi di queste memorie sono accessibili con tempi diversi ma con
differenze piccole, quasi irrisorie. Per le capacità
di “percezioni temporali” dell’uomo, queste memorie e come se fossero RAM.
- S.M. (Sequential Memory - Memorie sequenziali). I luoghi di queste memorie si succedono e
non è possibile passare da un luogo ad un altro
distante senza dover passare dai luoghi di me-
pag. 8
moria intermedi. Questo implica che, se si è sul
primo luogo di memoria, andare sul secondo
luogo di memoria richiede un tempo brevissimo,
mentre andare sull’ultimo luogo di memoria richiede un tempo enormemente più grande.
Le RAM che si conoscono sono solo quelle elettroniche mentre le SRAM e le SM le troviamo un
po’ ovunque. Un nastro magnetico e un papiro sono delle SM, i corrispondenti disco e libro sono
delle SRAM.
Memorie in funzione della
Scrivibilità
Le memorie alloggiano dati che devono essere
scritti. Ma non sempre le memorie possono essere
scritte dagli utilizzatori e quindi, in funzione di ciò,
possono essere classificate in:
- R.O.M. (Read Only Memory - Memorie solo leggibili). I dati sono stati scritti all’origine dal costruttore e per l’utilizzatore non è più possibile
modificarli o cancellarli. L’unica azione che può
essere fatta su tali memorie è solo la lettura.
La nostra società è piena di memorie ROM, infatti un libro, un catalogo, un opuscolo, una fotografia, un quadro, una scultura, un disco di vinile,
un compact disk, alcune memorie meccaniche
ed elettroniche contenute negli elettrodomestici,....
- E.P.R.O.M. (Erasable Programmable ROM ROM cancellabili e programmabili). La sigla contiene una contraddizione perché una ROM non è
cancellabile e nemmeno scrivibile per essere
programmata con altri dati. Questa contraddizione è solo apparente perché la cancellabilità e la
programmabilità è effettuabile solo con strumenti
talmente particolari che solo i tecnici specializzati
sanno portare a termine. Per l’utilizzatore finale
queste memorie sono indistinguibili dalle ROM.
- Scrivibili. Sono tutte le memorie che anche
l’utilizzatore finale può scrivere. Sono delle memorie labili perché possono essere cancellate e
riscritte a piacere quando si vuole. Sono esempi
di queste memorie i nastri magnetici, le lavagne,
i tabelloni elettronici delle autostrade, un foglio
scritto con la matita, l’agenda elettronica,...
E’ interessante esplorare questi nuovi concetti rispondendo alle seguenti domande:
- Il DNA degli essere viventi è una memoria? Se
si, di quale tipo?
- Quali sono le ROM insite nel nostro organismo?
- Quando un individuo legge un numero da una
agenda telefonica e poi lo compone sul telefono,
quali memorie utilizza e di quale tipo sono?
- I dati memorizzati tramite l’esperienza fatta sono
utilizzabili, dal nostro organismo, solo a livello di
coscienza?
Memorie in funzione del
Ruolo svolto nelle apparecchiature
Per ragioni di completezza è necessario vedere
che cosa è una memoria negli strumenti costruiti
per l’elaborazione dei dati.
Si consideri il seguente schema:
Attraverso le unità di ingresso (ad esempio la tastiera, il mouse, la penna ottica,...) i dati vengono
immessi nella memoria centrale, detta anche memoria principale, ed è da questa memoria centrale
che i dati vengono letti dalle unità di uscita (ad esempio il monitor, il display, il plotter, la scheda
sonora con gli altoparlanti,...). Con uno schema
siffatto si possono compiere solo due azioni sui
dati: lo “scrivere” e il “leggere”, ma non è possibile
alcun tipo di elaborazione degli stessi. E’ però interessante notare che la macchina da scrivere
normale appartiene ad una concezione ancora più
primitiva di quella descritta, infatti manca della
memoria e la tastiera (INPUT) è direttamente collegata alla parte stampante (OUTPUT). Nei computer la tastiera non è direttamente collegata al
monitor, può perciò accadere che, pigiando un tasto, in alcuni casi si ha una variazione sullo
schermo (ad es. la scrittura di una lettera) mentre
in altri lo schermo resta inalterato.
Per elaborare i dati è necessario disporre di una
unità capace di compiere operazioni su di essi e di
confrontarli. Questa viene detta A.L.U. (Arithmetic
Logic Unit - Unità logico aritmetica) ed è collegata
con la C.M. in modo da potervi leggere i dati, ela-
pag. 9
borarli e, i risultati delle elaborazioni, scriverli sempre nella C.M.
Ma la C.M. contiene tanti dati riguardanti sia le
operazioni da fare sia gli elementi sui quali fare le
operazioni. Occorre una unità capace di organizzare, dopo aver interpretato le istruzioni del
programma, il lavoro che deve essere fatto. Il nome dato a tale unità è C.U. (Control Unit - Unità di
controllo)
La C.U. è stata creata per risolvere anche un altro
tipo di problema: una struttura di questo tipo non
può compiere più operazioni contemporaneamente e se l’operatore dovesse violare questo limite
(ad esempio tentando di immettere nuovi dati con
la tastiera mentre la A.L.U. è impegnata a leggere
dalla memoria altri dati) il sistema senza la C.U. si
bloccherebbe. La C.U. tiene sotto controllo tutte le
operazioni e tutte le parti del sistema, quindi mentre una parte è in comunicazione con la C.M. le
altre parti vengono inibite (facendo riferimento
all’es. precedente, la tastiera è come se non fosse
collegata).
Questa organizzazione crea dei problemi negli
operatori: non sanno quando la tastiera è collegata e quando è inibita. Potrebbe perciò accadere
che quanto è stato digitato non sia stato scritto
nella C.M.
Per ovviare all’inconveniente descritto si introducono delle M.A. (Memorie di Accumulo) che hanno
il compito di accumulare i dati:
- negli strumenti di INPUT per non perderli e darli
alla C.M. quando il collegamento viene riattivato;
- Negli strumenti di OUTPUT per accumulare in un
solo colpo tutti i dati necessari alla stampa e liberare così la rimanente parte del sistema in modo
che possa procedere all’elaborazione.
Le memorie finora viste sono tutte volatili (in mancanza di energia si cancellano) ed hanno una capacità limitata. Per completare il sistema è necessario prendere in considerazione delle memorie
aventi le seguenti caratteristiche:
- la non volatilità (mantenere i dati anche in assenza di energia);
- la grande capacità;
- la possibilità di essere tolta dal sistema e di poterla rimettere quando serve.
Queste memorie vengono dette M.M. (Memorie di
Massa) e sono costituite principalmente da dischi
magnetici e da nastri magnetici, ma possono essere anche dei CD-ROM.
Le M.M. vengono collegate alla C.M. attraverso
degli strumenti capaci di guidare le memorie alle
operazioni meccaniche di lettura e di scrittura.
Questi strum enti sono detti DRIVE e costituiscono
il naturale completamento di un sistema informatico completo.
pag. 10
LINGUAGGI
La teoria dell'informazione, che per certi versi è
diventata una branca della matematica applicata,
studia il passaggio, fra due sistemi intelligenti, di
dati e informazioni inerenti ad un oggetto.
Dei due sistemi intelligenti quello che possiede
l'informazione viene detto "trasmittente", mentre
l'altro che deve venire in possesso dell'informazione viene detto "ricevente". L'operazione che
viene effettuata viene detta "trasmissione" e questa può essere effettuata solo attraverso un "canale" di comunicazione.
Ma l'informazione, per essere trasmessa, ha bisogno di essere rappresentata con "segni" che la
codifichino. Questi segni possono essere estremamente diversificati come ad esempio:
- Sensazioni fisiologiche (visiva, tattile, auditiva,
olfattiva, gustativa) che manifestino forma, colore, suono, stato della superficie, profumo, sapore, ecc... di un oggetto fisico;
- Parole o espressioni verbali capaci di descrivere
l'informazione;
- Scritti in grado di rappresentare l'informazione;
- Impulsi di corrente elettrica;
- Onde elettromagnetiche;
- Campi magnetici;
- ...
L'informazione così trasmessa viene, dal sistema
ricevente, ricostruita in arrivo mediante l'interpretazione dei segni, quindi fra trasmittente e ricevente ci deve essere in comune la conoscenza dei
segni usati.
Conoscere i segni che servono per trasmettere le
informazioni e conoscere con quale ordine e in
quale modo devono essere combinati fra loro affinché l'informazione arrivi integra al ricevente, significa conoscere un linguaggio.
Una prima definizione di linguaggio potrebbe essere la seguente: «è un insieme di segni, di regole, di convenzioni, di leggi che serve a trasmettere
le informazioni da un sistema trasmittente ad un
sistema ricevente».
Si è visto che i linguaggi utilizzano segni dalle origini più svariate e quindi, grazie a ciò, possono
essere classificati in diverse categorie quali:
- dei fiori;
- verbale;
- scritto;
- degli occhi;
- gestuale;
- dei fatti;
- ...
Questi sono linguaggi che l’uomo ha sviluppato
per comunicare con altri esseri viventi, ma
nell’informatica la comunicazioni avviene anche
fra uomo e macchina (e viceversa) e fra macchina
e macchina e, in tali situazioni, il linguaggio dei fiori non può essere utilizzato.
Risultano invece più efficaci linguaggi basati su
segni quali:
- i versi della corrente;
- i poli magnetici;
- le intensità luminose;
- i segni grafici;
- ...
anche perché questi linguaggi permettono la scrittura dei dati sulle memorie utilizzate in informatica.
Si dà perciò una netta prevalenza ai linguaggi
scritti e, per comprendere l’importanza di alcuni di
questi, è necessario procedere ad una classificazione basata sulla evoluzione che questi codici di
scrittura hanno avuto fino ad oggi.
LINGUAGGI ICONOGRAFICI
Con i linguaggi iconografici l’informazione viene
scritta in memoria mediante la riproduzione della
forma che essa assume ai sensi dell’uomo e il ricevente è in grado di recuperarla mediante la percezione della sua forma intrinseca.
Si comunica perciò utilizzando immagini grafiche,
sculture, bassorilievi, ... e ne sono esempi i graffiti,
i dipinti, i busti di marmo, la stampe di paesaggi, le
fotografie, ...
La scrittura iconografica presenta dei notevoli
pregi:
- la lettura dei dati è molto intuitiva e con poche
convenzioni e quindi non richiede un particolare
addestramento o educazione alla lettura (sempre
che ci si limiti ad attività non artistiche);
- la lettura dei dati è molto veloce. La possibilità di
percepire con un solo colpo d’occhio l’intera iconografia non esclude poi l’aggiunta di altri dati ricavabili da una lettura più analitica della immagine.
Ma presenta anche degli indiscussi svantaggi, infatti:
- sono comunicabili solo dati legati ad una forma
nello spazio, inoltre tale forma deve essere a misura di uomo o dei suoi strumenti di indagine
(non troppo piccola o tanto grande da essere invisibile). Quindi le informazioni prive di forma
propria, come i suoni, i campi magnetici, i sentimenti, le astrazioni, ecc...non possono essere
comunicate.
pag. 11
- il trattamento dei dati è molto difficile, i tempi relativi alla loro scrittura, cancellazione e modifica
sono molto alti e richiedono, oltre ad un forte
spreco di energia, una notevole abilità che non
tutti hanno.
Alcuni esempi per chiarire quanto esposto:
- I graffiti, le incisioni fatte dai popoli primitivi direttamente nella roccia, sono le testimonianze
che ci sono rimaste della vita dei primi uomini
sulla terra, sono state fatte con punte e sassi ed
hanno richiesto lunghissimi tempi di realizzazione. Una prima lettura di tali immagini risulta non
eccessivamente difficile, anche se le informazioni depositate sono relative ad una civiltà molto
distante, in senso temporale, rispetto alla nostra.
- I dipinti che compaiono sulle pareti delle caverne abitate nella preistoria, fino ai dipinti dell'era
contemporanea. Il tempo e le abilità necessarie
alla scrittura di tali messaggi sono molto alti, ma
si riduce la quantità di energia meccanica necessaria per la loro realizzazione. La cancellazione e la modifica del messaggio può avvenire
per semplice sovrapposizione dei messaggi (pitture coprenti) o per asportazione della pittura e
del supporto (grafite, inchiostri); facile ed intuitiva
è la interpretazione del messaggio, anche se il
livello di interpretazione è personale.
- Le stampe. E' richiesta una tecnica sempre più
difficile per la scrittura, ma il suo grande vantaggio è la duplicabilità , quindi, la possibilità di raggiungere un numero molto alto di persone.
- Le fotografie. Per la prima volta l'immagine viene riprodotta in modo automatico ottenendo:
maggior fedeltà e oggettività dell'immagine
(quindi una maggior sicurezza di trasmettere le
informazioni esatte), minori abilità umane richieste e minori tempi di realizzazione, ma anche
una maggior dipendenza da attrezzature di alta
tecnologia.
Il messaggio non viene registrato per sovrapposizione di materiale (dipinti) o per modifica fisica
del supporto (graffiti, sculture) ma per modifica
chimica del supporto stesso, non è possibile
modificare il messaggio se non attraverso procedimenti chimici (personale specializzato) o distruzione del messaggio stesso.
E' stato necessario passare dalla grafica vista con
ottica rappresentativa ad una grafica di tipo simbolico dove il grafismo non riproduce più una "forma"
ma indica e rappresenta una "idea". Con il linguaggio ideografico l'uomo inventa dei grafismi la
cui "forma" richiama informazioni che possono avere o no forma propria.
Naturalmente la quantità sempre crescente di informazioni da trasmettere ha fatto crescere sempre di più il numero di ideogrammi che costituiscono il linguaggio, è stato perciò necessario
semplificare il più possibile le forme dei grafismi
anche per facilitare la scrittura, la lettura e, in generale, il trattamento del linguaggio.
Come contropartita di tali vantaggi, le forme degli
ideogrammi si sono allontanate sempre più dall'intuitività iconografica e l'educazione alla scrittura
ed alla lettura è diventata una necessità.
Ad esempio, cosa significano i seguenti ideogrammi ?
La risposta può essere facile, ma non per tutti:
Questo ideogramma è sufficientemente
noto perché l’educazione ad interpretarlo
risale ancora alla scuola elementare. Dà
immediatamente l’idea di una domanda.
Questo ideogramma è già meno conosciuto. Viene appreso da chi ha affrontato
una educazione stradale. Comunica
l’informazione del divieto di sosta.
Quest’ultimo è molto meno noto perché
indica un’informazione che nella civiltà attuale viene scritta con altri codici. Si tratta
dell’ideografia del toro e il suo grafismo
ha dato origine alla lettera “alfa”
dell’alfabeto greco.
Un esempio di come molte volte alcuni ideogrammi sono nati dall'evoluzione delle iconografie che li
hanno preceduti, è il seguente e riguarda le informazioni relative alle quantità:
LINGUAGGI IDEOGRAFICI
L'evoluzione e la crescente complessità della società umana ha prodotto la necessità di trasmettere informazioni prive di una forma rilevabile dai
sensi dell'uomo (ad esempio: idee, suoni, sentimenti, ...) e la rappresentazione iconografica delle
informazioni non è stata più sufficiente a supportare tali necessità.
pag. 12
E’ una scrittura iconografica
della quantità “dieci”. E’ di lenta
lettura
perché
richiede
l’operazione del conteggio.
E’ ancora una iconografia del
“dieci” ma la diversa disposizione spaziale permette una
più rapida lettura. Ogni rag-
gruppamento è l’immagine della mano e quindi del “cinque”.
Questa non è più una iconografia perché si vedono 4 tratti e
non dieci.
E’ il “dieci” scritto con due ideogrammi del “cinque”.
Questo è l’ideogramma del
“dieci” ottenuto disponendo i
due ideogrammi del “cinque” in
modo da avere un unico grafismo.
La lettera "X" per i romani era l'ideografia del "dieci" perché meglio di altre ricordava l'iconografia
legata alle due mani contrapposte polso a polso.
Pregi del linguaggio ideografico
In generale il linguaggio ideografico ha sostituito
quello iconografico, ma non sempre perché alcune
informazioni si comunicano meglio con le iconografie. Non è raro giungere ad una forma di ridondanza, per avere una maggiore chiarezza comunicativa, usando contemporaneamente sia le iconografie sia le ideografie.
Un grande pregio del linguaggio ideografico risiede nella compattezza del messaggio e nella rapidità di interpretazione dello stesso, ciò rende questo tipo di linguaggio insostituibile in molti ambiti:
- segnaletica stradale : la velocità di spostamento
del-la automobile non permette di soffermarsi
sulla informazione per lungo tempo, l'ideogramma permette in una sola occhiata di capire il
messaggio, d'altra parte è necessaria una buona
educazione alla interpretazione del linguaggio
(scuola guida);
- punteggiatura nel testo alfabetico: i segni di
interpunzione (spazio, virgola, punto, punto di
domanda) rappresentano un'idea precisa, sono
perciò ideogrammi, la frase "oggi piove !", ha significato molto diverso dalla frase "oggi piove ?";
- simbolismo matematico: tutti i segni di operazione (+, -, *, /, (, ), ...) rappresentano un'idea,
sono perciò degli ideogrammi che rendono compatta e non ambigua la scrittura di un messaggio
di tipo operativo.
Difetti del linguaggio ideografico
Anche il linguaggio ideografico non è privo di difetti: l'uso di simboli diversi per idee diverse produce
la necessità di una grandissima quantità di grafismi, la rappresentazione si allontana dalla forma
reale dell'oggetto e la sua interpretazione è sempre meno intuitiva e più codificata, non è più sufficiente l'intuizione per interpretare il messaggio e
gli individui devono dedicare all'educazione al linguaggio e alle sue convenzioni sempre più tempo.
C’è da aggiungere che l’ideografia rende necessario catalogare, raccogliere e trasmettere anche le
convenzioni linguistiche (non solo il messaggio
linguistico). Naturalmente si differenziano socialmente coloro che vengono educati alla scrittura e
alla lettura dei dati (caste degli scrivani, rapporto
cultura e potere).
Ma l’inconveniente maggiore è una sorta di gigantismo dovuto alla continua evoluzione delle idee
umane, infatti ogni nuova idea produce la necessità di un nuovo grafismo (teoricamente potrebbero
divenire infiniti), ciò comporta due conseguenze:
- l'impossibilità di imparare e di trasmettere, nell'arco della vita di un uomo, tutti gli ideogrammi
che la società ha prodotto nella sua evoluzione;
- la nascita di linguaggi specializzati (sottocodici)
conosciuti solo all'interno di una casta ristretta di
persone specializzate.
Il linguaggio ideografico è quindi estremamente
valido quando la quantità di ideogrammi è a dimensione delle reali capacità umane. E' in tal
senso che ancora oggi nel mondo occidentale
viene usato.
Ne sono esempi:
- La segnaletica stradale;
- Il simbolismo matematico e della logica formale;
- La punteggiatura ed alcuni altri ideogrammi che
compaiono anche nelle pagine scritte con codici
alfabetici;
- I simboli che vengono stampati sui tasti di un videoregistratore;
- I grafismi utilizzati dai disegnatori di fumetti per
esprimere alcuni stati d'animo degli interpreti disegnati;
- ....
LINGUAGGI ALFABETICI
Con il progredire delle conoscenze il problema del
gigantismo del linguaggio è cresciuto a tal punto
da rendere necessaria l'introduzione di un nuovo
tipo di linguaggio scritto, avente come caratteristica principale quella di avere un numero limitato
(nell'ordine delle unità, al massimo delle decine) di
simboli chiari (cioè facili da scrivere e leggere) e
ben distinguibili (cioè molto diversi tra loro).
Per ottenere quanto detto è stato necessario togliere ogni significato ai simboli stessi, è nato così
l'ALFABETO che è un insieme di segni grafici privi di ogni significato intrinseco: la lettera "N" (uno
dei 21 segni grafici dell'alfabeto italiano) non e-
pag. 13
sprime alcuna idea o concetto, è solo graficamente diversa dalla lettera "P".
I dati vengono comunicate attraverso la corrispondenza fra una disposizione ordinata di lettere e
una idea o un concetto:
IDEA ←→
IDEA ← //→
IDEA →
IDEOGRAMMA
LETTERA ALFABETO
DISPOSIZIONE ORD INATA
DI LETTERE
(come minimo una)
maggiori rispetto a quelli richiesti per gli altri tipi di
linguaggio.
Questi tempi si possono ridurre con una buona
educazione e con l'esercitazione costante, ma
l'obbligo di dedicare in ogni caso un tempo sufficientemente lungo all'interpretazione della informazione non è solo uno svantaggio, perché spesso produce una migliore comprensione della n
iformazione stessa.
Vantaggi dei linguaggi alfabetici
L'ultima corrispondenza è solo in un senso perché
non tutte le disposizioni ordinate di lettere esprimono delle idee, ad esempio:
- "MARE"
ha un significato;
- "PEFDSXXX" non esprime alcuna idea.
L'unica deroga, in una scrittura alfabetica, è l'inserimento di alcuni ideogrammi (pochi e ben codificati) che svolgono il compito di regolare e dare significato alle sequenze, si è visto precedentemente un esempio dove, con punteggiatura diversa (
"?" e "!" ), si hanno significati diversi e si comunicano informazioni diverse, pur essendo la parte
alfabetica perfettamente identica.
E' il caso di dedicare alcune parole al concetto di
disposizione ordinata sopra espresso.
Nell'evoluzione storica dei linguaggi si è passati:
- dal linguaggio iconografico in cui una immagine
poteva esprimere una informazione di notevole
complessità,
- al linguaggio ideografico in cui la singola immagine esprime un concetto semplice e la concatenazione (non necessariamente ordinata) di im magini rappresenta informazioni composte,
- per finire con il linguaggio alfabetico dove tutti i
concetti sono legati alle disposizioni ordinate di
simboli elementari e la comprensione dell'informazione giunge solo dopo una analisi delle diverse disposizioni. Praticamente, salvo rari casi
di informazioni estremamente semplici, queste
non sono leggibili a "colpo d'occhio".
Dal punto di vista dell'utilizzo si passa da linguaggi
di veloce, semplice ed intuitiva lettura a linguaggi
molto codificati in cui la lettura dell'informazione
richiede un addestramento specifico, ed i tempi di
lettura crescono.
Le abilità richieste per la scrittura e per la lettura,
sono nettamente diversificate utilizzando le iconografie (infatti le difficoltà richieste per la scrittura
sono enormemente maggiori rispetto a quelle dovute per la lettura), con l'evoluzione dei tipi di linguaggio la diversificazione fra le abilità di scrittura
e quelle di lettura si è via via ridotta e, per il linguaggio alfabetico si è quasi annullata.
D'altra parte i tempi di lettura delle informazioni risultano, per il linguaggio alfabetico, decisamente
Per comprendere quali e quanti siano i vantaggi
della scrittura dei dati con i codici alfabetici, è necessario procedere ad un approfondimento della
"informazione".
Gli esseri umani raccolgono informazioni attraverso i sensi, questo significa che l'informazione arriva attraverso una forma qualsiasi di energia:
- Se l'informazione è in una immagine allora l'energia che porta l'informazione è di tipo luminoso
e gli occhi la possono ricevere;
- Se l'informazione è relativa allo stato termico di
un corpo il tatto la può captare;
- Se l'informazione viene lanciata attraverso le parole pronunciate da una persona allora l'energia
sonora che trasporta l'informazione viene ricevuta dagli orecchi;
- ...
Siccome i sensi dell'uomo non sono capaci di captare tutte le forme sotto le quali l'energia si propaga ed, inoltre, ricevono gamme limitate anche della stessa forma di energia, accade che molte informazioni l'uomo non riesca a riceverle.
L'energia che porta normalmente una informazione è quasi sempre abbastanza debole, anche
perché di solito non è la quantità di energia che
varia la informazione: un bambino che usa l'energia sonora per comunicare l'informazione "mare"
può pronunciare questa parola o sottovoce o urlandola e non cambia il significato (non si entra nel
merito del significato che può essere attribuito al
fatto di parlare sottovoce o urlando).
Si sa che piccole energie possono controllare
grandi energie e quindi risulta semplice arrivare
alla conclusione che l'informazione può controllare
il cambiamento o meno di grandi fonti di energia.
Un esempio semplice riguarda la termocoppia usata nel ferro da stiro:
La termocoppia, come il senso del tatto, raccoglie l'informazione della temperatura e, a secondo di come è calibrata, fa scattare l'apertura
o la chiusura di un circuito elettrico ottenendo,
come effetto, diminuzione o aumento di una
grande quantità di energia termica.
pag. 14
L'informazione, in ultima analisi, possiede, attraverso l'energia che la trasporta, la facoltà di controllare azioni ed energie:
In un ascensore, l'informazione di quale piano
deve essere raggiunto viene comunicata con
una piccola energia cinetica (piccola pressione
esercitata su un pulsante in modo da spostarlo)
e, attraverso questo piccolo lavoro si mette in
moto un motore capace di sollevare tonnellate.
Ma se l'informazione viene vista solo sotto l'ottica
di "innesco" per fare avvenire grandi mutazione di
energia, si commette un errore, infatti, da sempre
nell'uomo, ma anche sempre più frequentemente
nelle macchine create dall'uomo, i dati vengono
usati per modificare, trasformare, ottenere altri dati.
Si entra in tal modo nel campo dell'elaborazione e
della manipolazione dei dati. L'importante è dominare le piccole energie, che portano ed elaborano
i dati, prima di utilizzarli (se necessario) per innescare le gradi trasformazioni di energia. Così si riducono enormemente gli sprechi. E' per questo
che si dice: "pensa prima di agire".
Ritorniamo all’uomo che, con la scrittura l'informazione permanente nel tempo (se si considerano le
scritture grafiche come quelle che si sono esaminate finora). In quale modo queste si possono trasformare in altre informazioni?
Si consideri il seguente esempio:
CXV • XII =
è la scrittura di una informazione relativa a quantità e ad una operazione aritmetica e, per chi la riceve può rimanere semplicemente una comunicazione oppure può innescare una processo di elaborazione che porta ad una nuova informazione
quantitativa chiamata prodotto. Tale scrittura è di
tipo ideografico (i simboli "C" "X" "V" sono gli ideogrammi delle quantità "cento" "dieci" e "cinque")
e l'elaborazione:
(quantità, operazione) → (quantità)
può essere effettuata entrando nel merito dei significati, la moltiplicazione viene interpretata come
addizione ripetuta e quindi il prodotto viene trovato
sommando la quantità "centoquindici" a sé stessa
per un totale di "dodici" addendi.
Il prodotto risulterà:
MCCCLXXX
Le stesse informazioni possono essere comunicate ed elaborate utilizzando un linguaggio alfabetico:
115 •
12 =
Questa è una comunicazione scritta in senso alfabetico perché le quantità vengono scritte con una
numero limitato di segni (sono le "dieci" cifre arabe) e dalla disposizione ordinata di queste cifre si
ottengono le informazione quantitative.
Ad esempio nella scritta: 1 4 3 4 2
la cifra "4" non ha alcun significato se non viene
vista disposta nel contesto di altre cifre (tranne
nel caso in cui la disposizione ordinata è formata
da una sola cifra) e la stessa cifra assume significati diversi, pur essendo scritta nello stesso
modo: il primo "4" viene interpretato come "quattromila" mentre il secondo viene interpretato come "quaranta".
L'elaborazione dell'informazione data con questo
linguaggio alfabetico può avvenire in maniera diversa rispetto a quanto esposto prima.
La quantità "centoquindici" non viene più considerata (praticamente durante l'elaborazione scompare) e si considerano solo le cifre che entrano in
gioco.
Si opera non più sulle quantità ma sulle cifre (come specificato prima, le cifre non sono le quantità). Combinando due cifre si ottiene, mediante regole meccanizzabili (che non necessariamente richiedono la comprensione di ciò che si sta facendo), una nuova cifra.
L'opportuna disposizione di queste permette di arrivare alla nuova informazione “prodotto” senza
entrare nel merito del significato dell'informazioni
di partenza, della elaborazione fatta e dell'informazione di arrivo:
115 •
12 =

230
115−

1380
E', disgraziatamente, noto come riescono a fare
queste operazioni senza sapere che cosa è un
prodotto, senza sapere usare in un contesto reale
questa capacità (quindi senza comprendere i significati delle informazioni).
Le conclusioni che si possono trarre da questo
esempio sono molteplici, ma le più importanti sono
che:
- linguaggi diversi, pur comunicando le stesse informazioni, permettono di elaborare queste in
maniera diversa;
- il linguaggio alfabetico permette di elaborare le
informazioni senza entrare nel merito dei significati delle stesse, ma basandosi sulle combinazioni e sulle disposizioni ordinate dei segni che

pag. 15
costituiscono l'alfabeto, capacità che non richiedono la coscienza di ciò che si sta facendo.
Le macchine non possono avere coscienza di
quello che elaborano e non possono comprendere
il significato dei dati elaborati, perciò, per far in
modo che siano le macchine a compiere elaborazioni di dati che interessano gli uomini, è necessario che queste siano dotate di un opportuno linguaggio: quello più idoneo è l'alfabetico.
Si è abituati ad identificare la lettura dei dati con la
comprensione degli stessi. Questo è senz'altro vero, specialmente se la scrittura dei dati è stata fatta con codici iconografici o ideografici (se un ideogramma non è conosciuto si dice che non si è capaci di leggerlo), ma se l'informazione è scritta
con codici alfabetici conviene porre una distinzione fra la lettura dei dati e la loro comprensione,
modificando il concetto di lettura in: "capacità di
prelevare i dati e di trasmetterli". Allora le operazioni di lettura e di scrittura dei dati possono essere effettuate senza la corrispondente comprensione. Quanti sono i bambini che, nella foga del
dimostrare di essere capaci di "leggere bene", declamano senza entrare nel merito di cosa stanno
leggendo ? Analogamente molti scrivono le informazioni dettate senza comprendere necessariamente il significato di ciò che stanno scrivendo.
Questo fatto è molto importante per l'uomo perché
permette l'esercizio tecnico della lettura e della
scrittura anche di parole sconosciute, ma è ancora
più importante per l'impiego delle macchine nella
trattazione dei dati, infatti, queste macchine devono leggere, elaborare e scrivere i dati senza alcuna possibilità di comprenderli.
I codici alfabetici permettono di ottenere queste
prestazioni molto semplicemente perché, in tal
modo, il linguaggio può essere trattato in modo
automatico, lavorando cioè sui segni (lettere, cifre,
...) indipendentemente dai significati .
Il linguaggio alfabetico presenta poi altri vantaggi
rispetto ai linguaggi iconografici e ideografici, infatti:
- La scrittura delle informazioni può essere fatta
con strumenti che non richiedono allo scrivano
abilità grafiche, come ad esempio:
. la macchina da scrivere (è pensabile una
macchina per le scritture iconografiche o ideografiche ? Che tastiera dovrebbe avere quella per scrivere in cinese, dato che gli ideogrammi creati in tale lingua sono circa 90.000
?);
. la stampa per composizione con caratteri a
piombo;
. il normografo.
- Permette di poter esprimere ogni tipo di informazione, di entrare nei particolari, di comunicare
anche le più sottili sfumature relative ad un concetto.
- Permette di ottenere elaborazioni di informazioni
espresse anche con altri linguaggi e dare i risultati di queste operazioni in codici non necessariamente alfabetici.
STESSI DATI CON LINGUAGGI
DIVERSI
L’esempio seguente mostra come l'iconografica di
una casa può essere scritta con linguaggi alfabetici (verrà usato un alfabeto binario e uno decimale)
e come l'elaborazione automatica fatta su questi
linguaggi produce una trasformazione della iconografia:
Il primo grafico è una iconografia della casa mentre il secondo riproduce la stessa introdotta in un
reticolo quadrato di 8 righe per 8 colonne.
La seconda fase consiste nel passare da una iconografia fatta con tratti continui ad una iconografia
fatta di punti (nel senso delle geometrie basate sui
piani discreti). Questa fase è detta di “discretizzazione dell’immagine” ed è quanto fa una telecamera televisiva (riceve una immagine fatta di aree e
linee continue e la traduce in una matrice di punti
colorati diversamente e separati tra di loro).
Per discretizzare l’immagine si è utilizzato la seguente convenzione relativa ad ogni cella:
pag. 16
La terza fase permette di passare ad una forma
espressiva di tipo alfabetico usando l'alfabeto binario {0,1}:
La traduzione è stata fatta con la seguente convenzione:
La quarta fase porta alla casa espressa con un
linguaggio alfabetico decimale:
Il risultato iconografico di tale elaborazione è la
traslazione verso destra dell'immagine stessa:
Partendo dal risultato ottenuto si può procedere
ad un'altra trasformazione della immagine operando sul linguaggio decimale in modo diverso:
E’ concettualmente bello capire che la scrittura alfabetica decimale:
0 , 16 , 40 , 68 , 198 , 68 , 124 , 0
è la memorizzazione di un dato: “la casa”.
Avendo a disposizione una capacità operativa aritmetica che permette di elaborare i dati decimali
si può procedere ad una prima elaborazione dell'immagine:
Ciò che si ottiene è chiamata "immagine reverse":
pag. 17
Il passaggio di discretizzazione dell'immagine è,
oggi, facilmente realizzabile con rilevatori ottici
chiamati "CCD". Questi, attraverso l'uso di obiettivi
ottici tradizionali, ricevono l'immagine sulla loro
superficie e la trasformano in un insieme di punti.
La quantità di questi punti è enormemente più elevata rispetto ai 64 dell'esempio (ci sono già CCD
che trasformano un'immagine in circa 1.000.000 di
punti) e, l'immagine così tradotta può essere, come si è visto, elaborata.
Potrebbe anche essere semplicemente archiviata
in una memoria magnetica con le codifiche del linguaggio binario. Si ottiene una "immagine sintetica" cioè una immagine che nella realtà non esiste
come iconografia, ma è il frutto di trasformazioni
linguistiche che l'uomo sa gestire. E' proprio attra
verso le immagini sintetiche, che vengono ricostruite grazie al monitor, che è stata grandemente
semplificata la comunicazione fra uomo e computer.
E’ possibile operare tramite il linguaggio senza
avere l'intelligenza necessaria per comprenderlo,
purché questo sia di tipo alfabetico.
Si potrebbe obiettare che esistono strumenti capaci di operare sulle informazioni senza ricorrere
alla scrittura alfabetica, coma ad esempio:
- Un impianto di amplificazione sonora: questo riceve una informazione espressa attraverso il
suono, la trasforma in corrente modulata, opera
su questa amplificandola e il tutto viene di nuovo
trasformato in suono del tutto simile a quello che
l'ha generato ma decisamente più potente. Si
può agire sui filtri dei toni ed amplificare di più gli
acuti rispetto ai bassi, si possono anche operare
delle distorsioni, ma il prodotto finale viene letto
nello stesso modo di come è letta l'informazione
di partenza. Non è la maggior potenza che ha
cambiato l'informazione.
- Gli uomini non sono dotati del senso capace di
leggere ed interpretare le correnti (al più vengono percepite sotto forma di scossa o di tremore)
quindi per leggere le eventuali informazioni che
questa comunica è necessario creare un'apposi
to strumento. Uno di questi è l'oscilloscopio che è
capace di trasformare il linguaggio delle correnti
in un linguaggio grafico: su di un tubo catodico
viene tracciata un'onda che risulta l'iconografia
della corrente; attraverso la sua forma, la sua
frequenza, la sua ampiezza, ..., si possono trarre
le informazioni necessarie. Anche in questo caso
si ha un aspetto diverso della informazione, ma è
pur sempre la stessa informazione, se la corrente di partenza era portatrice della informazione
"rame" non è possibile avere sul tubo catodico
l'onda dell'informazione "mare".
Alcune curiosità
Verrà descritto ora un sistema atto ad approfondire il concetto di elaborazione automatica ottenibile con
il linguaggio alfabetico.
Si considerino due persone che sono in collegamento telefonico. L'informazione lanciata da una delle
due persone viene ricevuta dall'altra.
A quest'ultima non arriva la voce dell'emettitore ma una sua riproduzione e, a meno di distorsioni e disturbi, l'informazione non è stata di fatto cambiata, cioè non è diventata un'altra. L'uomo emettitore lancia l'informazione nello spazio modulando le onde sonore. La macchina "telefono" legge, attraverso il
microfono, la modulazione delle onde sonore e la traduce nella corrispondente modulazione di corrente.
Il telefono trasmette i dati, attraverso la modulazione di corrente, che vengono ricevuti dall'altro apparecchio telefonico (il 1° telefono è un emettitore di informazioni mentre il 2° è un ricevitore, si ha una comu-
pag. 18
nicazione da macchina a macchina). Quest'ultimo li traduce, attraverso il microfono, in modulazione di
onde sonore.
L'uomo ha comunicato l'informazione ad un altro uomo ma attraverso l'intermediazione di macchine.
Si consideri ora la seguente complicazione:
fra i due telefoni si interpongono due computer dotati di schede "analogico-digitali" capaci di trasformare
correnti modulate in "bit" di corrente (correnti viste solo per il loro verso "+" o "-") e viceversa. Si ha un
maggior utilizzo di forme linguistiche diverse per ottenere la stessa cosa, l'unico vantaggio sta nel fatto
che le comunicazioni binarie, forse, risentono meno dei disturbi di linea e che, dalla partenza all'arrivo da
un computer all'altro i dati non subiscono distorsioni.
La potenzialità del sistema visto sopra è notevole, infatti con poche modifiche si possono raggiungere
risultati inimmaginabili fino a pochi anni fa.
Si è ottenuto
una scrittura
sotto dettatura, ma la parola "casa" è
partita come
suono ed è arrivata come
scrittura alfabetica grafica.
pag. 19
Ulteriore evoluzione del sistema:
Attraverso l'elaborazione
compiuta automaticamente dal computer l'informazione alla fine
è diversa da
come è partita, se, ad esempio, parte
la parola "casa" sulla carta
stampata non
si trova la
scritta "casa"
(corrispondente alfabetica di
quanto detto
dall'emettitore) ma
"home".
Un’ultima modifica:
Sarebbe possibile raggiungere un
risultato di
questo tipo
non disponendo di un
linguaggio alfabetico ?
L'uso di linguaggi scritti con codici, grammatiche e
sintassi estremamente differenziati cominciano a
diventare parte integrante della vita quotidiana di
ogni uomo. Se fino a pochi anni fa il linguaggio
usato era quasi esclusivamente quello storico (la
lingua madre e le lingue estere) e la scrittura era
prevalentemente quella grafico-alfabetica, oggi,
che la comunicazione non è più solo fra esseri
umani, la necessità di dialogare con le macchine
per dare, per fare elaborare e per ricevere dei dati
costringe tutti ad affrontare seriamente il problema
dei linguaggi non naturali. Non è infrequente vedere un adulto "litigare" con il televisore, con il vide-
oregistratore, con la lavatrice, con il forno programmabile, con ... perché manca delle opportune
conoscenze linguistiche che permettono la com unicazione con questi elettrodomestici. Lo sconforto, per l'adulto che si trova in queste situazioni, diventa grande quando vede che un bambino, molto
spesso, riesce a colloquiare senza tanti problemi
con questi strumenti. Il problema non è di tipo ingegneristico, ma linguistico: non occorre sapere
su quali basi funziona un orologio elettronico per
cambiare la data e l'ora errata, ma è necessario
sapere come comunicare la correzione.
pag. 20
IL PROBLEM SOLVING
ANALISI DI UN PROBLEMA
Ogni essere deve affrontare problemi sin dal primo istante di vita. Alcuni di questi problemi vengono risolti senza avere la “consapevolezza” del
problema (come ad esempio imparare a camminare, imparare a parlare, ...) altri richiedono la consapevolezza che si è di fronte ad un problema e la
consapevolezza degli sforzi fatti di quelli che dovranno essere fatti.
Arrivati alle scuole elementari i bambini devono
anche affrontare alcuni problemi che si riferiscono
a realtà ipotizzate dagli insegnanti e comunicate
tramite un testo. Molte volte nel bambino non c’è
nemmeno l’immediata comprensione di questa ipotetica realtà a causa di diversi motivi:
- perché non è mai stata vissuta,
- perché il testo contiene dati che non vengono
compresi e non si traducono in informazioni,
- perché il testo è strutturato in maniera troppo
complessa,
- perché l’approccio al problema è, da parte del
bambino, superficiale o stereotipato,
- ...
Risolta la questione relativa alla comprensione
della realtà ipotizzata nel testo del problema (con
letture ripetute del testo, con la discussione fatta
con altri bambini e con l’insegnante, con schematizzazioni linguistiche del testo, ...) si è conclusa la
parte dell’ANALISI del problema.
Solo l’analisi porta il bambino a comprendere quale è l’obiettivo o il fine o che cosa c’è da risolvere.
In informatica, ma non solo, si deve sapere dove
si deve andare prima di operare per arrivare fino a
quel punto. Si vedrà ora un esempio classico di
errata soluzione di un problema dovuta alla cattiva
analisi dello stesso:
“completa il questionario sottostante secondo le
indicazioni contenute nello stesso”
LEGGERE TUTTI I PUNTI
PRIMA DI RISPONDERE
1) Nome:_________________________________
2) N° tel:_________________________________
3) Nome del maestro: _______________________
4) Età del padre: _________
5) Hai fratelli o sorelle ?_______
6) Non scrivere alcune risposta tranne quella della domanda numero 5.
Molti bambini sono talmente abituati a sentirsi dire “leggi bene prima di rispondere” che
l’avvertimento non è più tale e, quindi, si limitano
ad una lettura globale e superficiale del questionario. Scrivono perciò il proprio nome e così via
fino a scoprire tardivamente le indicazioni contenute al punto 6.
Una cattiva analisi del problema, per incapacità o
per superficialità o per impossibilità, porta ad affrontare un problema diverso da quello reale e la
soluzione escogitata non è quella richiesta e quindi non è una soluzione.
Se viene richiesto come è possibile cuocere una
torta non può essere accettata come soluzione la
spiegazione di come e possibile programmare il
videoregistratore.
APPROCCI ALLA SOLUZIONE
Terminata l’analisi inizia la fase degli approcci alla
soluzione del problema. Nella mente del bambino
si susseguono varie ipotesi di metodi di risoluzione del problema. Alcuni di questi verranno subito
scartati perché ritenuti inidonei o poco efficaci per
pervenire ad una soluzione, altri saranno trattenuti
in attesa di un ulteriore approfondimento sulla loro
validità.
La rivista “LE SCIENZE” n° 195 del Novembre
1984 propone uno schema (pag. seguente) che
permette di adottare strategie risolutive diverse del
problema in funzione di due elementi della realtà
ipotizzata dal problema: la “regolarità” e la “complessità” dei dati e dei legami logici.
Se un problema è regolare e può essere scomposto in tanti sottoproblemi più semplici, si può utilizzare la strategia del “DIVIDE ET IMPERA”, tuttavia tale strategia è efficace quando il campo dei
dati e dei legami logici è grande e complesso, se
tale campo è più limitato e non molto complesso
può essere più utile ricorrere ad una impostazione
logico/formale.
I medici possono affrontare meglio il problema della diagnosi procedendo per analogia e la stessa
cosa fanno i bambini quando affrontano i problemi
di aritmetica o di geometria e ne hanno affrontati
già pochi altri.
I metodi formali si possono utilizzare quando una
realtà è già stata codificata e formalizzata. Ne sono esempio il come risolvere un’equazione algebrica dove, conoscendo i formalismi dell’algebra,
si può giungere alla soluzione per passaggi successivi.
pag. 21
- La esecuzione delle operazioni, anche se in alcuni problemi non è richiesta, in modo da avere il
risultato (parte computistica della soluzione).
La prima fase viene detta ALGORITMO RISOLUTIVO del problema e nell’educazione informatica è
sicuramente la fase più importante perché: è di
pertinenza strettamente umana ed è molte volte
un atto creativo, non può essere delegata a macchine. La seconda fase, detta di ESECUZIONE
DELL’ALGORITMO può essere affidata anche ai
circuiti calcolatori e quindi ad un computer.
Ma l’algoritmo risolutivo oltre che un fatto mentale
deve diventare anche un enunciato per poter essere comunicato sia ad altre persone, sia ad un
computer (altrimenti il computer come potrebbe
passare all’esecuzione dell’algoritmo? ).
Si vedrà in seguito che una sola forma linguistica
idonea a scrivere tutti i possibili algoritmi non esiste e, in funzione sia del tipo di struttura insita
nell’algoritmo, sia delle capacità del bambino, si
utilizzerà un linguaggio piuttosto che l’altro.
VERIFICA
SOLUZIONE
Dopo aver analizzato il problema e dopo aver deciso con quale strategia affrontarlo, è necessario
definire la sequenza logica delle operazioni che
verranno fatte per giungere alla soluzione. In funzione della complessità del problema la sequenza
può essere semplicemente concepita e tenuta a
mente o può essere scritta sia per non confondersi, sia per aiutarsi a raggiungere la giusta sequenza logica.
Ma la soluzione del problema si distingue, normalmente, in due fasi ben distinte:
- la giusta sequenza delle operazioni atte a raggiungere il risultato (parte logica e strutturale della soluzione);
Quando si è giunti ad una soluzione di un problema non si è sicuri che questa sia “corretta” fino a
quando non viene effettuata una verifica atta a
comprovare la correttezza.
I modi per verificare le soluzioni sono diversificati
in funzione del tipo di problema affrontato:
- Attraverso un processo di reversibilità operativa
in modo che partendo dalla soluzione si approdi
ai dati;
- Affrontando direttamente la realtà descritta nel
testo del problema e, operando praticamente,
vedere se si giunge alla stessa soluzione;
- Utilizzando altri algoritmi risolutivi e confrontando
le diverse soluzioni;
- Cambiando i dati di partenza e ripercorrendo
l’algoritmo risolutivo ottenere risultati conformi;
- ...
I problemi che si possono verificare nei modi sopra elencati possono essere semplici o complessi
ma la verifica della loro soluzione è immediata o si
può fare in tempi ravvicinati.
Esistono dei problemi la cui soluzione può es sere
verificata solo dopo un lungo periodo di tempo e
ne esistono altri dove la verifica non potrà mai essere fatta. Si prenda in considerazione il seguente
problema:
“Io, responsabile delle vendite dei prodotti di
una azienda meccanica, cosa devo fare per
aumentare le vendite?”
Dopo aver fatto un’analisi completa del problema
ci sono stati i primi approcci che hanno permesso
di scartare alcune potenziali risoluzioni. Alla fine si
pag. 22
è giunti alla soluzione, ma quanto questa sia corretta non è possibile verificarlo a questo punto.
Solo dopo un lungo periodo di tempo si potrà procedere a rapportare le nuove con le vecchie vendite e quindi avere una verifica della soluzione. Ma
se nel lungo tempo che intercorre fra la soluzione
e la verifica dovesse accadere un evento che dovesse impedire di stare sul mercato, la verifica
non sarebbe più possibile.
ANALISI
APPROCCIO
SOLUZIONE
VERIFICA
NO
SI
OK ?
SI
NO
FINE
Nel grafico precedente è descritto l’intero processo chiamato con il nome:
PROBLEM SOLVING.
PROBLEMA
Questo problema verrà affrontato evidenziando le
diverse fasi del problema solving.
«Paolo dispone di soli due contenitori metallici: uno di 6 litri e l’altro di 5 litri e può compiere operazioni di riempimento, di svuotamento e di travaso d’acqua. Con quali operazioni riesce a ottenere due litri di acqua ?»
L’analisi del problema in questo caso è molto
semplice perché i dati sono pochi e molto chiari.
Si hanno solo due contenitori e nessuno dei due è
della capacità di due litri o possiede gradazioni utili per individuare i due litri, essendo poi metallici
non si può vedere la quantità d’acqua contenuta
fin quando sono pieni completamente. E’ necessario perciò utilizzare entrambi i contenitori. Le operazioni concesse sono quelle normali relative alla
manipolazione dei liquidi con l’uso dei contenitori.
1° approccio: Paolo riempi il contenitore di 6 litri e
poi fa un travaso fino a riempire quello di 5 litri.
Rimane un litro. Se Paolo potesse conservare
questo litro in un altro contenitore, ripetendo le
stesse operazioni otterrebbe un altro litro e potrebbe formare i due litri, ma l’analisi fatta ci dice
che un terzo contenitore non c’è, perciò occorre
un nuovo approccio.
2° approccio: Paolo riempie quello da 6 litri e poi
con un mezzo travaso suddivide in 3 litri in uno e 3
litri nell’altro. Riempie completamente quello di 5
litri e poi compie un travaso fine a riempire quello
di 6 litri. Nel contenitore di 5 litri ne rimangono 2 di
acqua ma questa non può essere una soluzione
perché dall’analisi si sa che i contenitori non sono
trasparenti e non si riesce a suddividere con certezza in parti uguali.
3° approccio e soluzione : Paolo riempie il contenitore di 6 litri e ne vengono travasati 5 nell’altro.
Trattiene 1 litro nel primo contenitore e svuota il
secondo. Travasa il litro d’acqua nel contenitore di
5 litri e poi riempie quello di 6 litri. Travasa fino a
riempire quello di 5 litri (ne travasa 4 di litri
d’acqua, dati che un litro era già presente) e ne
rimangono 2 in quello di 6 litri.
Questo algoritmo risolutivo appare caotico e poco
chiaro perché è stato scritto con un linguaggio non
idoneo, quello alfabetico della lingua madre.
Una scrittura più efficace per esprimere l’algoritmo risolutivo potrebbe essere quella di tipo iconografico:
pag. 23
Un altro linguaggio per esprimere lo stesso algoritmo:
CONTENITORI
di 6 litri
di 5 litri
0
0
OPERAZIONI
riempimento
6
0
1
5
1
0
0
1
6
1
2
5
travaso
svuotamento
travaso
riempimento
travaso
Fase della verifica: potendo disporre veramente
di contenitori conformi al testo si può verificare la
soluzione procedendo praticamente e seguendo
ordinatamente e uno per uno tutti i passi enunciati
nell’algoritmo. Un’altra verifica pratica può essere
fatta con bicchieri di plastica ritagliati in modo da
avere le rispettive capacità in rapporto 6/5 e inve-
ce di usare acqua si potrebbe utilizzare della sabbia asciutta.
Il risultato ottenuto tramite la verifica è veramente
di 2 litri? Se l’algoritmo dovesse essere errato la
verifica lo metterebbe in evidenza e quindi sarebbe opportuno ricominciare dall’analisi perché non
è da escludere che sia stata fatta correttamente.
LINGUAGGI ALGORITMICI
GRADUALITA’ LINGUISTICA
Capita con una certa frequenza di vedere un
bambino che pur avendo compreso come risolvere una realtà problematizzata non sa spiegare ad
altri la sua soluzione del problema. In questi casi il
bambino può procedere in due modi:
- mostrare praticamente cosa fa per risolvere il
problema,
- analizzare meglio la propria intuizione risolutiva e
scomporla in passi operativi codificabili tramite
linguaggi conosciuti,
- inventarsi, anche se in maniera rudimentale, delle forme linguistiche in grado di esprimere
l’intuizione risolutiva.
Ma il bambino non sempre riesce a concepire e
creare dei nuovi linguaggi e, ammettendo che arrivi a tale conquista, non è detto che il linguaggio
inventato sia quello più idoneo per risolvere altri
problemi (è assurdo pensare di utilizzare tanti linguaggi quanti sono i problemi).
L’insegnante deve educare il bambino alle diverse
forme linguistiche atte ad esprimere le soluzioni
dei problemi perché queste, oltre che capacità e-
spressive, sono degli strumenti mentali che permettono di analizzare meglio un qualsiasi problema e, quindi, di giungere più facilmente alla sua
soluzione.
L’approccio plurilinguistico come metodologia didattica per esprimere l’algoritmo risolutivo di un
problema offre all’insegnante diversi vantaggi:
- rende il problema più facilmente dominabile anche dai bambini in difficoltà,
- porta a risultati più soddisfacenti sia relativamente alla comprensione dei concetti trattati, sia riguardo all'operatività che ne deriva,
- crea un naturale nesso fra i linguaggi più vicini
all’esperienza sensoriale e i linguaggi simbolici,
- mette in evidenza i vantaggi dei linguaggi più
simbolici e compatti anche se questi, rispetto agli
altri, sono più lontani dall’apparenza sensoriale
del problema risolto,
Le forme linguistiche più facilmente comprensibili
dai bambini piccoli (o dai bambini più grandi ma in
difficoltà) non sono di tipo alfabetico o simbolico;
occorre, con loro, attivare una comunicazione utilizzando codici vicini alla loro esperienza, quindi il
corpo con la sua dinamicità e con le sue posture,
pag. 24
gli atti manipolatori, le iconografie di quanto fatto
sono passaggi linguistici che servono per affrontare lo stesso problema in tanti modi diversi questa
ridondanza permette di proporre il problema,
l’algoritmo risolutivo e l'operatività in maniera non
puramente formale ma costantemente legata alla
realtà e quindi di collegare i simbolismi linguistici
ai problemi concreti, fase questa indispensabile
per far evolvere il linguaggio in modo che da puramente espressivo diventi anche operativo (cioè
uno strumento per risolvere i problemi).
Un esempio:
«Gino si trova sul 5° gradino di una scala,
sale di altri 3 gradini, su quale gradino si
troverà ?»
E’ un problema che richiede una analisi non eccessivamente complessa e i bambini piccoli m
i maginano rapidamente come farebbero a risolvere
il problema, se avessero una scala nelle vicinenze
lo farebbero vedere subito con l’azione diretta del
corpo e con la lettura della posizione assunta alla
fine dell’azione.
Il problema presentato è stato risolto e, non simulandolo, la verifica è automatica. Il vero problema
per l’insegnante è, ora, con quale strategia portare
i bambini verso le forme linguistiche che permettono di risolvere il problema senza doverlo vivere
in prima persona. La proposta:
1^ fase:
Se la scala non è disponibile nelle vicinanze è
possibile simulare con materiale strutturato opportunamente sistemato. E’ un primo approccio linguistico perché il bastone ed i cerchi sono i significanti del pianerottolo (inizio della scala) e dei gradini e l’azione dell’avanzare nei cerchi è il significante dell’azione del salire i gradini.
2^ fase:
“5+3 = 8”
è, per la maggior parte dei bambini, troppo distante dal vissuto e con degli ideogrammi che possono
diventare stereotipie computistiche staccate da
qualsiasi contesto reale.
Ma per l’insegnante quella scrittura simbolica è
molto importante perché permetterà poi di risolvere altri problemi il cui contesto reale è completamente diverso da quello descritto nel testo, come
ad esempio:
- Oggi il termometro segna 5 gradi, domani la
temperatura si alzerà di 3 gradi. Quanti gradi avremo domani ?
- Aldo possiede 5 figurine e riceverà dal papà altre
3 figurine in regalo. Quante figurine avrà in tutto
?
- Maria si trova a 5 passi dal maestro e si allontana di altri 3 passi. A quanti passi si trova dal maestro ?
- ...
E’ quindi necessario che l’insegnante consideri la
scrittura simbolica come il punto di arrivo di un
processo fatto di tanti linguaggi intermedi e non, al
contrario, il punto di partenza per arrivare a dominare il problem solving.
Con il materiale strutturato si simula la scala sul
tavolato di un banco e il bambino opera a livello
manipolatorio su un oggetto che è il significante di
Gino. Spostare l’oggetto è l’equivalente del salire
la scala. Il problema è risolto sempre con l’azione
ma che agisce sulle cose invece che sul corpo.
3^ fase:
Su di una scheda preparata dall’insegnante il
bambino comincia ad affrontare i problemi della
iconografia di una esperienza. Questo non è un
pag. 25
approccio molto facile perché mentre per scrivere
la posizione sul disegno della scala basta un po’ di
conoscenza spaziale, per disegnare le azioni fatte
è necessaria l’ideografia della freccia (che normalmente è utilizzata come il significante del cambiamento di posizione). Dopo aver contato le posizioni sull’iconografia della scala il bambino scrive i
numeri nella posizione corrispondente. Ci si avvicina al linguaggio simbolico.
4^ fase:
Dall’iconografia della scala alla ideografia della linea dei numeri. Ogni quadratino è il significante di
un gradino e i numeri sono le posizioni. Le frecce
rappresentano le azioni e, per un ulteriore avvicinamento al linguaggi simbolico, le 3 azioni vengono scritte anche come se fossero una unica azione (l’addizione è una unica operazione e non tre
operazioni).
la in azioni corporee, sia rimanendo sul piano formale).
Questo permetterà di affrontare problemi più complessi e più articolati perché l’operazione aritmetica, la sua scrittura e come trovare il risultato non
costituiranno un problema aggiuntivo.
I linguaggi più si staccano dall’immagine della realtà che descrivono e meno riescono a descriverla
nei dettagli ma, in compenso, riescono a creare
dei processi di classificazione che permetteranno
di pensare, operare e comunicare attraverso le
classi. Ad esempio:
- Che cosa indica la scrittura "CANE" ?
Tutti gli animali che noi chiamiamo "cani" sono
diversi l'uno dall'altro e solo l'individuare prima le
caratteristiche diverse di ogni animale come numero di zampe, presenza e tipo di pelo, abitudini
alimentari e igieniche, dimensioni,... (discriminazione) e poi riconoscere che alcune di queste caratteristiche sono comuni ad un insieme di animali (riconoscimento), ci permette di classificarli
di chiamarli e di scriverli: "CANI". La scrittura iconografica:
5^ fase:
Questa scrittura si stacca nettamente dall’immagine e dal vissuto e si eliminano anche le azioni che
portano al risultato (nella fase precedente esisteva
ancora la possibilità di fare tre azioni grafiche cioè
tracciare le tre frecce).
6^ fase:
E’ l’ultima fase, del linguaggio simbolico. Siccome
in questo linguaggio la quantità di azioni che risolve il problema non viene rappresentata e visto che
il bambino ha ancora bisogno di agire per operare,
la scrittura “5 + 3” per dare origine al risultato
somma richiede che il bambino la traduca ancora
in un linguaggio fatto di azioni fisiche, come l’agire
sulle dita (le dita come significanti dei gradini). Solo con l’esperienza ripetuta l’agire fisico diventerà
un operare mentale e la scrittura simbolica aiuterà
a far diventare l’operazione aritmetica un “agire”
sui numeri e non più l’agire sulle cose. In altre parole, a tante realtà diverse e apparentemente lontane tra loro (attraverso l’edu-cazione plurilinguistica) si associa una formalizzazione unificante,
semplice e facilmente elaborabile (sia traducendo-
esprime «un» cane ma non «il» cane.
- Che cosa indica la scrittura "8 - 5" ?
E’ una operazione aritmetica che permette di esprimere e risolvere tante realtà diverse come: il
togliere, ciò che manca per ..., quale differenza
c'è fra ... e fra ...
"Giorgio ha 8 figurine, giocando con Aldo ne
perde 5, con quante figurine rimane ? "
"Uno scatolone ha la capacità di 8 pacchi, ne
sono stati immessi 5, quanti ne mancano per
riempirlo ? "
"In una stalla ci sono 8 cavalli e 5 selle, quanti
cavalli non potranno essere sellati ? "
Il togliere è «una» sottrazione ma non è «la» sottrazione, quindi le due scritture:
“ da 8 mele ne tolgo 5 “
“8-5“
sono espressioni di una realtà particolare (la
prima) e di una classe di realtà (la seconda).
Tutti i problemi visti in questo paragrafo sono risolvibili attraverso una sola operazione (o agendo
col corpo o scrivendola e agendo mentalmente).
Ma non tutti i problemi che si affrontano sono così
pag. 26
semplici e allora diventa necessario sapere compiere una giusta sequenza di azioni o, a livello di
scrittura, possedere un linguaggio in grado di esprimere ordinatamente le operazioni da fare e
come queste si susseguono.
DIAGRAMMA AD ALBERO dell’algoritmo risolutivo:
costo unitario
del prosciutto
in £/hg
x
DIAGRAMMI AD ALBERO
Si è di fronte al seguente problema:
"La mamma va dal salumaio e compra
3 hg di prosciutto, che costa 2000 £/hg, e
una mortadellina che costa 8000 £. Paga
con 20000 £, quanto riceve di resto dal salumiere ?"
I dati sono tanti e analizzare il problema è sicuramente più difficoltoso rispetto ai problemi visti prima. Il bambino procede per tentativi ed errori, partendo dai dati e, operandoli a due a due fra di loro,
ottiene nuovi dati che, forse, potrebbero essere
utili per arrivare alla risposta; se sono utili vengono utilizzati per conquistare altri nuovi dati, se non
sono utili vengono abbandonati.
Ci si trova di fronte ad una strategia risolutiva
chiamata BOTTOM-UP (dal fondo in su):
consiste nel partire dai dati quantitativi inerenti la realtà problematizzata (fondo) per
andare, operazione dopo operazione, verso il dato richiesto dal problema (cima o
vertice).
dovuto per
il prosciutto
in £
£ (8000 - 6000) = £ 2000
£ (8000 + 6000) = £ 14000
£ (20000 - 14000) = £ 6000
quanto dato
dalla mamma
in £
quanto dovuto
al salumiere
in £

resto ricevuto
dalla mamma
in £
DIAGRAMMA AD ALBERO della risoluzione dell’algoritmo:
2000
3
x
( 6000 )
(costo del prosciutto comprato)
(differenza di costo fra la mortadellina e il prosciutto)
(costo totale dei
salumi comprati)
(resto che deve ricevere la mamma)
e il dato ottenuto con la seconda operazione, del
tutto inutile, non viene poi utilizzato. Con tale metodo non è possibile dire, prima di essere giunti
alla soluzione del problema, se i dati sono ben posti, se ne mancano o se sono eccessivi. Tale metodo viene usato con profitto da chi riesce ad architettare mentalmente l'intera struttura logica del
modello risolutivo. Solo pochi bambini fortunati
riescono in ciò ma, in ogni caso, è utile per tutti
l’educazione linguistica che permette di esprimere
nel modo più semplice ed appropriato l’algoritmo
risolutivo e la sua risoluzione.
dovuto per
la mortadellina
in £
+
Il bambino parte dai dati (fondo, complessità nulla)
per andare verso la risposta (dato dipendente dagli altri perciò con livello di complessità massimo,
nel contesto del problema). Le operazioni fatte potrebbero essere:
£ (2000 x 3) = £ 6000
quantità di
prosciutto preso
in hg
8000
+
20000
[ 14000 ]

{ 6000 }
L’uso delle parentesi permette di distinguere i dati
quantitativi forniti dal problema dai dati elaborati.
In tal modo è possibile dire che:
() ⇒ quanto dovuto per il prosciutto
[] ⇒ quanto dovuto al salumiere
{} ⇒ resto ricevuto dalla mamma
e quindi le parentesi assumono anche un valore
espressivo e non solo formale (come si è abituati
in algebra).
pag. 27
Espressioni numeriche
L’uso del diagramma ad albero permette di esprimere la risoluzione dell’algoritmo posizionando nel
piano i dati forniti e quelli elaborati e connettendoli
con dei graffi. Esiste un linguaggio più simbolico
che permette di partire con la distribuzione dei dati
forniti in linea. I collegamenti vengono indicati con
le parentesi e l’elaborazione avviene con gradualità, utilizzando ripetutamente lo stesso linguaggio
fino a quando tutto si è ridotto al risultato finale:
costo di
un gelato
in £
Se le espressioni numeriche vengono presentate
come una naturale evoluzione del diagramma ad
albero non assumono quel carattere puramente
formale staccato da qualsiasi contesto reale e, per
i bambini, diventano quello che il nome stesso indica: “espressioni”, cioè qualche cosa che serve
per esprimere, per comunicare come è stata pensata e come è stata raggiunta la soluzione del
problema.
£ (10000 - 4600) = £ 5400
x
x
costo dei
gelati
in £
costo dei
ghiaccioli
in £
Quanto
dato
in £
Quanto
dovuto
in £

Resto
ricevuto
in £
1200
Si suppunga che il bambino abbia fatto le seguenti
operazioni:
£ (3600 + 1000) = £ 4600
N° di
ghiacc
.
presi
Diagramma ad albero della risoluzione dell’algoritmo:
Altro esempio:
"Gino compra 3 gelati che costano 1200 £
ciascuno e 2 ghiaccioli che costano £ 500
ciascuno. Paga con 10000 £, quanto riceve
di resto ?"
£ (1200 x 3) = £ 3600
£ (500 x 2) = £ 1000
costo di un
ghiacciolo
in £
+
{ 20000 - [ ( 2000 x 3 ) + 8000 ] } =
= { 20000 - [ ( 6000 ) + 8000 ] } =
= { 20000 - [ 14000 ] } =
= { 6000 }
(3 + 2) = 5
N° di
gelati
presi
500
2
x
x
( 3600 )
( 1000 )
+
(alimenti comprati
da Gino)
(costo dei gelati)
(costo dei ghiaccioli)
(costo degli alimenti comprati)
(resto ricevuto da
Gino)
La prima operazione fatta non è servita per raggiungere la soluzione del problema. E’ necessario
ora riorganizzare l’algoritmo risolutivo con i diagrammi ad albero. Attraverso questa rielaborazione linguistica il bambino deve prendere coscenza
delle operazioni fatte ma inutili, mentre le operazioni utili le deve interpretare non con una struttura semplicemente sequenziale ma con una architettura spaziale in grado di esprimere i legami fra
le parti.
3
10000
[ 4600 ]

{ 5400 }
L’espressione numerica che esprime la risoluzione
dell’algoritmo è:
{ 10000 - [ ( 1200 x 3 ) + ( 500 x 2 ) ] } =
= { 10000 - [ ( 3600 ) + ( 1000 ) ] } =
= { 10000 - [ 4600 ] } =
= { 5600 }
dove la 1^ parentesi tonda indica quanto ha speso
Gino per i gelati mentre la parentesi quadra indica
a quanto ammonta in tutto la spesa fatta da Gino.
Diagramma ad albero dell’algoritmo risolutivo:
pag. 28
TOP - DOWN
Nel paragrafo precedente i diagrammi ad albero e
le espressioni numeriche sono stati usati come
linguaggi espressivi perché il problema era già
stato risolto precedentemente. La risoluzione
computistica degli stessi può essere ritenuta una
specie di verifica ma nulla di più sul piano operativo.
Con il diagramma ad albero il bambino, oltre a fare esercizi relativi alla comunicazione chiara e univoca di concetti difficili da esprimere, si esercita
a strutturare spazialmente i dati avuti dal problema
e quelli da trovare in modo da trasformare la sequenzialità operativa una architettura fatta dai dati
e dai loro legami logico-aritmetici.
L’abitudine a tale linguaggio e l’acquisizione di capacità logiche, come quelle legate alla reversibilità
del pensiero, portano il bambino ad utilizzare il
diagramma ad albero come uno strumento per
congegnare la soluzione del problema (il linguaggio non ha più la sola valenza espressiva).
Se questo avviene si dice che il bambino utilizza
la strategia TOP-DOWN (dal vertice in giu):
consiste nel partire dalla questione posta
dal problema (cioè dalla domanda esplicitata nel problema) e tramutare questa in altri
problemi con livelli di difficoltà minori, poi si
ripete , per ognuno di questi, la stessa procedura fino a quando si giunge ai dati.
Il seguente esempio aiuta a comprendere meglio
la strategia TOP-DOWN:
"Ieri un fruttivendolo ha comprato 30 angurie a £ 5000 ciascuna. A tutt’oggi ne ha
vendute 23 al prezzo di £ 8000 ciascuna. A
quanto ammonta finora il guadagno del
fruttivendolo ? ”
Il problema dopo essere stato ben analizzato deve
essere risolto, cioè deve essere detto a quanto
ammonta il guadagno. Il guadagno quando c’è è
perché si ha avuto un ricavo maggiore della spesa
ed è proprio la differenza fra questi due:
Il ricavo avuto da una vendita dipende da quanti
pezzi sono stati venduti e a quanto sono stati venduti e, nel problema in esame si ha:
[ ricavo ]
x
prezzo di
vendita
anguria
numero di
angurie
vendute
Il prezzo di vendita e il numero di angurie vendute
non costituiscono più un problema perché sono
dati.
Si è ora al seguente punto di risoluzione del problema:
{ guadagno }

[ ricavo ]
[ spesa ]
x
prezzo di
vendita
anguria
numero di
angurie
vendute
E’ rimasto aperto un solo problema, quello della
spesa avuta dal fruttivendolo, e questa dipende da
quante angurie e a quale prezzo le ha comprate:
[ spesa ]
x
costo di
acquisto
anguria
numero di
angurie
comprate
e l’algoritmo risolutivo è il seguente:
{ guadagno }
{ guadagno }


[ ricavo ]
[ ricavo ]
[ spesa ]
E’ stato risolto il problema “guadagno” e sono nati
altri due problemi meno complessi che sono il “ricavo” e la “spesa”. Questi due problemi vengono
affrontati uno per uno e non contemporaneamente
perché il loro legame è già stato trovato.
[ spesa ]
x
prezzo di
vendita
anguria
pag. 29
x
numero di
angurie
vendute
costo di
acquisto
anguria
numero di
angurie
comprate
Il diagramma ad albero che ne scaturisce è, rispetto a quelli precedenti, capovolto e dà meglio
l’idea del flusso implicito nel nome TOP-DOWN.
Ora è necessario passare alla risoluzione dell’algoritmo e questo può essere fatto ancora con i
diagrammi ad albero ma nel flusso BOTTOM-UP:
8000
23
5000
30
x
x
[ 184000 ]
[ 150000 ]

{ 34000 }
oppure con le espressioni numeriche:
{ [8000 x 23 ] - [ 5000 x 30 ] } =
= { [ 184000 ] - [ 150000 ] } =
= { 34000 }
E’ palese il fatto che con questi linguaggi non si
affronta il problema di come svolgere le singole
operazioni aritmetiche. Queste possono essere
svolte separatamente e i risultati vengono poi riportati nella struttura ad albero o nella struttura
dell’espressione. Non viene perciò curato il mo-
mento strettamente computistico ma si evidenziano i dati a disposizione, i dati elaborati e l’architettura logica che lega tra loro tutti questi dati.
Ma allora la strategia TOP-DOWN e il linguaggio
dei DIAGRAMMI ad ALBERO possono diventare
strumenti mentali in grado di aiutare a ricercare
l’algoritmo risolutivo di qualsiasi problema, anche
non matematico, scomponendo il problema complesso in un legame operativo o logico di problemi
più semplici e poi, ciascuno di questi, può essere
affrontato con la stessa strategia fino a quando si
è giunti ai dati che non costituiscono più un problema.
Si prenda, ad esempio, il problema legato alla lingua madre:
"si hanno a disposizione le seguenti parti di
una frase:
articoli:
il, la, la
aggettivi:
piccolo, grande
verbo:
colora
nomi:
bambino, parete, mano
preposizione: con
Utilizzandole tutte forma una o più frasi che
abbiano senso”
Si può procedere per tentativi prestando attenzione ad utilizzare tutte e solo le parti indicate.
Ma un modo interessante per risolverlo è partire dalla richiesta: una frase. Una frase ha senso se è formata da un soggetto e da un predicato, quindi:
{ frase }
[ soggetto ]
[ predicato ]
Il problema del soggetto è facilmente risolvibile perché si ottiene con un articolo e con un nome e, a volte, si inserisce anche un aggettivo (il tutto può essere ripetuto più volte). Visti i dati del problema è utile
inserire anche l’aggettivo perché ne sono stati dati due:
[ soggetto ]
articolo
aggettivo
nome
Il problema del predicato è risolvibile iniziando con un verbo seguito, eventualmente, da un soggetto e/o
da un gruppo avverbiale. Nel problema in esame il soggetto è meglio inserirlo perché sia hanno a disposizione altri articoli e nomi, e il gruppo avverbiale è necessario inserirlo perché si ha, fra i dati, anche una
preposizione:
[ predicato ]
verbo
( soggetto )
(gruppo avverbiale)
A questo punto il diagramma ad albero risulta:
{ frase }
[ soggetto ]
art.
agg.
[ predicato ]
nome
verbo
( soggetto )
pag. 30
( gruppo avverbiale )
Il nuovo soggetto è meglio prenderlo ancora con l’aggettivo (ne era rimasto disponibile ancora uno),
mentre il gruppo avverbiale contiene la proposizione e un nuovo soggetto che, visto i dati che rimangono
disponibili, non conterrà l’aggettivo:
{ frase }
[ soggetto ]
art.
agg.
[ predicato ]
nome
verbo
( soggetto )
art.
agg.
( gruppo avverbiale )
nome
prepos.
 soggetto 
art.
nome
Un controllo sull’algoritmo risolutivo per vedere se i dati sono stati utilizzati tutti: ci sono 3 articoli, 2 aggettivi, 3 nomi, 1 verbo e una preposizione. Il tutto corrisponde.
Ora è necessario ottenere una o più frasi che abbiano senso. Verrà utilizzato il linguaggio delle espressioni:
{ [ il piccolo bambino ] [ colora ( la grande parete ) ( con  la mano  ) ] }
Se l’aggettivo relativo al soggetto del predicato fosse stato collocato nel soggetto relativo al gruppo avverbiale, un’altra soluzione avrebbe potuto essere la seguente:
{ [ il piccolo bambino ] [ colora ( la parete ) ( con  la grande mano  ) ] }
Pur avendo senso è una frase meno probabile della prima, mentre la frase:
{ [ il piccolo parete ] [ colora ( la grande mano ) ( con  la bambino  ) ] }
rispetta la struttura dell’algoritmo risolutivo ma non costituisce una soluzione accettabile del problema.
Un altro esempio:
“Hai a disposizione i seguenti alimenti: pomodoro, mozzarella, farina, sale, lievito, olio, acqua
nella giusta quantità per fare una pizza. In quale modo li utilizzaresti per preparare una pizza che verrà poi cotta nel forno ? “
e una possibile soluzione può essere ottenuta attraverso le seguenti fasi:
{ pizza }
disporre su
[ condimento ]
[ base di pasta ]
Il problema del condimento e il problema della base di pasta possono essere risolti così:
{ pizza }
disporre su
pomodoro
[ condimento ]
[ base di pasta ]
combinare
schiacciare
mozzarella
olio
pag. 31
[ impasto ]
e, procedendo problema dopo problema, si può giungere alla seguente soluzione:
{ pizza }
disporre su
pomodoro
[ condimento ]
[ base di pasta ]
combinare
mozzarella
schiacciare
olio
[ impasto ]
mescolare
farina
sale
( liquido )
sciogliere
lievito
acqua
Anche in geometria i diagrammi ad albero costituiscono un linguaggio di incredibile efficacia per trovare
l’algoritmo risolutivo:
“ Dato il pentagono regolare a fianco disegnato
e con le seguenti misure:
altezza
= cm 3,5
base
= cm 4
lato
= cm 2
Trovare l’area del pentagono.”
2 cm
3,5 cm
2 cm
4 cm
Procedendo con la gradualità mostrata negli esercizi precedenti, si può arrivare al seguente risultato:
{ area pentagono cm² }
+
[ area rettangolo cm²]
[ area triangolo cm²]
x
base rettangolo cm
x
altezza rettangolo cm
base triangolo cm
( semialtezza triangolo cm )
:
[ altezza triangolo cm ]
-
altezza pentagono cm
E con l’espressione numerica per ottenere anche il valore dell’area:
{
=
=
=
=
=
[ 4 x 2 ] + [ 4 x ( [ 3,5 - 2 ] : 2 ) ] } =
{ [ 8 ] + [ 4 x ( [ 1,5 ] : 2 ) ] } =
{ [ 8 ] + [ 4 x ( 0,75 ) ] } =
{ [ 8 ] + [ 4 x ( 0,75 ) ] } =
{ [8] + [ 3 ] }=
{ 11 }
pag. 32
2
altezza rettang.
cm
Alcuni esercizi proposti per prendere confidenza
con i diagrammi ad albero e con le espressioni
numeriche:
- Giovanni si reca in città per acquistare prodotti di
cartoleria. Esce da casa con £ 50000 e spende:
£ 1300 per ciascuna delle 6 penne comprate, £
15000 per gli acquarelli e £ 2000 per ciascuno
dei 3 pennellini necessari. Sapendo che per
l’autobus ha speso complessivamente
£ 2400 con quanti soldi rientra in casa ?
- Utilizzando solo e tutte le seguenti parole:
fumava, zia, la, bocchino, Lucia, una,
lunga, bionda, di, con, sigaretta, il
forma una frase che abbia senso.
- Data la figura geometrica sotto disegnata:
4 cm
quale è la seconda. Questo poco si adatta alle
capacità operative del bambino che procede con
sequenzialità di azioni corporee e quindi con sequenzialità di azioni mentali.
- La possibilità di scrivere operazioni di confronto e scelta. Sono operazioni sempre presenti in ogni attività e con i diagrammi ad albero
non si possono esprimere. Questo fatto è ancora
più evidente quando l’algoritmo risolutivo viene
scritto con le espressioni, è una strutturazione di
tanti dati e di tante operazioni, ma nessuna di
queste è un confronto con relativa scelta.
- La possibilità di ripetere una sequenza operativa un numero di volte che non può essere
deciso a priori. Ad esempio: riempi un bicchiere
e travasalo nella bottiglia fino a quando questa è
piena. Nessuno con questi dati può dire quante
volte deve essere ripetuta la sequenza di operazioni e, con i diagrammi ad albero, questo fatto
diventa impossibile da scrivere.
1 cm
2 cm
5 cm
2 cm
2 cm
4 cm
trovare la sua area.
DIAGRAMMI DI FLUSSO
I diagrammi ad albero costituiscono un ottimo
strumento linguistico per esprimere o per trovare
un algoritmo risolutivo ma, purtroppo, non in tutti i
problemi risulta utile. Ci sono dei problemi tipo:
“Gigi deve uscire di casa per andare a trov are la nonna. Deve prendere l’ombrello ? “
“Ho a disposizione un telefono di casa con
tastierino numerico e devo informare Aldo,
che ha il telefono, di quanto mi è successo a
scuola. Con quali operazioni risolvo il problema ? “
Si ha la necessità di un linguaggio che permetta di
esprimere in modo inequivocabile gli aspetti logico-sequenziali, piuttosto che quelli combinatori o
associativi fra i dati, di ciò che viene fatto per risolvere un problema, fare nel senso di azioni ordinate e condizionate dalla situazione contingente.Questo linguaggio deve essere poi adatto anche alle età mentali dei bambini della scuola elementare e quindi deve utilizzare grafismi facili da
riprodurre.
Il linguaggio dei DIAGRAMMI DI FLUSSO permettono di ottenere tutto quanto detto e si basa su
scritture di tipo:
- ideografico (il tipo di operazione viene evidenziato con una forma geometrica),
- alfabetico (all'interno della forma geometrica ideografica vengono scritti i dati che verranno operati e l'operazione),
- simbolico (molte operazioni vengono espresse
tramite i simboli).
Viene inoltre utilizzata l’ideografia delle frecce necessaria per indicare l'ordine secondo il quale le
operazioni vanno eseguite.
Gli ideogrammi normalmente usati sono i seguenti:
Indica le operazioni di INIZIO o di FINE di un intero
algoritmo.
“Ho un rubinetto dell’acqua chiuso ed una
pentola in mano. Quali operazioni devo fare
per riempire la pentola fino a metà d’acqua?”
Si ha la necessità di un linguaggio che esprima in
maniera più semplice e percettivamente immediata:
- Il giusto modo in cui le azioni si susseguono.
Con i diagrammi ad albero molte operazioni sono rappresentate allo stesso livello e quindi non
viene indicata quale è la prima operazione e
pag. 33
Indica un comando da eseguire come: fare un calcolo,
assegnare valori, eseguire
istruzioni, trasformare una
qualsiasi cosa,...
Indica il comando di assunzione di dati o di informazioni ma, in alcune pubblicazioni, anche il comando di
visualizzazione dei dati elaborati.
Indica il comando di visualizzazione dei dati elaborati
e di qualsiasi altro dato.
Indica le operazioni di confronto (fra dati o situazioni) e
di scelta di cosa fare in funzione dell'esito del confronto
Indica la direzione del flusso
delle operazioni e collega
sempre altri due ideogrammi.
In base a quanto detto, le scritture:
apri l’ombrello
avanza di 3 passi
C ç A * B
stanno ad indicare comandi, istruzioni, assegnazioni di valori e, in particolare l’ultimo ideogramma
è da interpretare come:
“ moltiplica il valore di A con il valore di B e il prodotto risultante attribuiscilo come valore a C”.
Analogamente:
A>B
Vero
RISPONDE
Falso
Vero
Falso
Significano che se quanto specificato all’interno
dell’ideogramma è vero si deve proseguire il diagramma di flusso sul percorso volto a sinistra,
mentre se è falso il percorso è quello di destra.
FASE ESPRESSIVA
In questa fase i diagrammi di flusso vengono utilizzati per esprimere in modo diverso ciò che gli
altri hanno risolto ed utilizzano, per esprimelo, la
lingua madre.
Problema:
“che cosa si deve fare per uscire di casa
pronti per andare a scuola ? “
Se Arturo propone il suo algoritmo risolutivo, utilizzando la lingua madre, con il seguente racconto
scritto:
“Alla mattina mi sveglio e poi mi alzo.
Faccio la colazione e vado in bagno per
lavarmi e per pulirmi i denti. Mi vesto,
prendo la cartella e sono pronto”
si può ottenere una traduzione semplice con il
diagramma di flusso:
INIZIO
MI SVEGLIO
lato AB
2p, N°lati
ordine di
precisione
MI ALZO
FACCIO COLAZIONE
Indicano che per procedere oltre è necessario assegnare i valori alle grandezze specificate. Ad esempio nel secondo ideogramma si potrebbe attribuire a «2p» il valore “256” e al «N° lati» il valore
“8” mentre, nel terzo ideogramma si potrebbe attribuire ad «ordine di precisione» il valore “centesimi”.
VADO IN BAGNO
MI LAVO
MI PULISCO I DENTI
MI VESTO
Area
raggio, cfr
x, y, z
PRENDO LA CARTELLA
Indicano che chiunque risolverà l’algoritmo risolutivo, scritto con i diagrammi di flusso, arrivato a
questo ideogramma deve esternare, comunicare,
rendere noto il valore di quanto specificato. Per il
secondo ideogramma l’esecutore potrebbe dire
“10” per il «raggio» e “62,8” per la «cfr».
FINE
Sono stati utilizzati gli ideogrammi rettangolari
perché sono tutte operazioni quelle che vengono
descritte da Arturo.
pag. 34
Altro problema:
“che cosa devi fare per andare dall’aula alla palestra ? “
INIZIO
VADO IN CITTA’
Una possibile soluzione può essere la seguente:
“Apro la porta dell’aula e esco nel corridoio,
giro a destra e percorro tutto il corridoio fino
in fondo, poi giro a destra apro la porta e mi
trovo in palestra”
Trascritto con i diagrammi di flusso diventa:
VISITO IL MERCATO
FACCIO ACQUISTI
VADO AL RISTORANTE
HO FAME
INIZIO
Falso
APRO PORTA AULA E ESCO
Vero
ORDINO PASTASCIUTTA
GIRO A DESTRA
ORDINO BISTECCA
PERCORRO TUTTO IL CORRIDOIO
MANGIO
GIRO A DESTRA
PRENDO L’AUTOBUS
APRO LA PORTA E ENTRO
RITORNO A CASA
FINE
FINE
Da questi primi esempi si può comprendere quanto i diagrammi di flusso siano potenti nello evidenziare la sequenza delle azioni e quali azioni in
modo che a “colpo d’occhio” si abbia il dominio
dell’intero algoritmo.
SE ALLORA ALTRIMENTI
Per comodità di comunicazione i Diagrammi Di
Flusso verrano indicati con la sigla DDF.
Se l’utilizzo dei DDF fosse come quello visto nei
due esempi precedenti, il tutto potrebbe apparire
come una inutile complicazione di cui non si sente
la necessità.
Ma se nell’algoritmo non ci sono solo sequenze di
azioni e si trovano anche dei confronti che portano
a scelte di azioni diverse, allora il DDF diventa un
linguaggio veramente efficace sul versante espressivo.
Esempio:
La mamma spiega a Maria che cosa farà
quel giorno : “ Andrò in città e visiterò il
mercato per fare degli acquisti. Poi andrò al
ristorante e ordinerò una bistecca, ma se
avrò fame ordinerò anche una pastasciutta.
Dopo aver mangiato prenderò l’autobus e
ritornerò a casa.”
Il gruppo centrale di ideogrammi composto con il
rombo e le due diramazioni indica la possibilità di
una scelta, ma non una scelta libera, infatti è condizionata dalla condizione logica della forma proposizionale “ho fame”.
Questa è l’espressione che esprime la situazione
condizionale:
“ordino la pastasciutta alla condizione
di avere fame”
e, espresso in termini logici più rigorosi:
“Se (ho fame)
Allora (ordino la pastasciutta)”
Ma in molti problemi la situazione condizionale
impone una particolare azione anche nel caso la
situazione logica è falsa. Ad esempio:
“Pippo è andato ai servizi igienici del ristorante ha guardato dove c’era l’indicazione
dei maschi, è entrato ha fatto il suo bisogno
e poi è uscito”
diventa:
La stessa spiegazione in DDF è:
pag. 35
INIZIO
Il blocco centrale degli ideogrammi appare percettivamente diverso dal precedente e indica non più
una sola azione, che può essere eseguita o no,
ma due in termini di aut aut (l’esecuzione di una
implica l’impossibilità di eseguire l’altra azione)
La corrispondente espressione in termini logici più
rigorosi è:
“Se (sono maschio)
Allora (entro nei servizi igienici dei
maschi)”
Altrimenti (entro nei servizi igienici delle femmine)”
VADO AI SERVIZI IGIENICI
Falso
SONO MASCHIO
ENTRO NEI
SERVIZI
DELLE FEMMINE
Vero
ENTRO NEI
SERVIZI
DEI MASCHI
FACCIO I MIEI BISOGNI
Come si può notare i DDF evidenziano maggiormente le situazioni logiche condizionali insite in un
algoritmo e, tramite i percorsi grafici, le porta ad
un livello quasi percettivo.
ESCO DAI SERVIZI IGIENICI
FINE
In un algoritmo di queste situazioni logiche condizionali se ne possono trovare anche più di una e, a volte, anche in situazioni consecutive. Se ad esempio un maglificio ha il seguente problema:
“Nel maglificio esiste un reparto di controllo e di smistamento dei capi di abbigliamento che escono dal reparto di lavorazione.
Occorre controllare se il capo è o non è difettoso e poi, nel caso che non sia difettoso, è necessario separare i capi maschili da quelli femminili.
Tutti i capi devono essere inviati al magazzino e devono essere separatamente contati. L’intero
processo termina solo quando i capi da esaminare sono finiti.”
Il DDF che esprime l’algoritmo necessario potrebbe essere il seguente:
INIZIO
PRENDERE UN MAGLIONE E ESAMINARLO
Falso
Falso
E’ DI DONNA
E’ DIFETTOSO
Vero
Vero
IMMAGAZZINARLO
NEL REPARTO “MAS”
IMMAGAZZINARLO
NEL REPARTO “DON”
IMMAGAZZINARLO
NEL REPARTO “DIF”
AGGIUNGI 1 AL
CONTEGGIO
“n° MAS”
AGGIUNGI 1 AL
CONTEGGIO
“n° DON”
AGGIUNGI 1 AL
CONTEGGIO
“n° DIF”
MAGLIONI
TERMINATI
Falso
Vero
FINE
Potrebbe sembrare che con i DDF si riesca ad esprimere bene solo gli algoritmi che richiedono azioni ma, già dal prossimo esempio, si può ap-
prezzare anche il suo impiego in algoritmi che richiedono operazioni matematiche e dati numerici.
Problema:
pag. 36
“La mamma di Aldo va al supermercato e
compra: 2 Kg di pane al costo di 2900
£/Kg, 3 hg di mortadella al costo di 1800
£/hg, 1.5 Kg di formaggio grana al costo di
20000 £/Kg, una torta di fragole che costa
14000 £.
Quanto deve pagare la mamma di Aldo sapendo che se l’ammontare della spesa supera le 50000 £ avrà uno sconto di £ 4000
?“
PP =peso pane (2 Kg)
CPK =costo pane per Kg (2900 £)
PM =peso mortadella (3 hg)
CMH =costo mortadella per hg (1800 £)
PF =peso formaggio (1.5 Kg)
CFK =costo formaggio per Kg (20000 £)
CT =costo torta (14000 £)
LS =limite per avere lo sconto (50000£)
SC =eventuale sconto (4000 £)
CP = costo pane
CM = costo mortadella
CF = costo formaggio
SP = spesa fatta
PG = cifra da pagare.
L’algoritmo risolutivo del problema, può essere
espresso con un linguaggio inizialmente sommario
e poi approfondito e spinto fino ai particolari.
INIZIO
DATI DEL PROBLEMA
INIZIO
CALCOLO: Costo del pane
Costo della mortadella
Costo del formaggio
PP, CPK, PM, CMH,
PF, CFK, CT, LS, SC
CP ç CPK * PP
CM ç CMH * PM
CF ç CFK * PF
COSTO TOT.: Somma dei costi di ogni
alimentare acquistato
Vero
COSTO TOT > 50000
PAGA:
Costo tot - 4000
SP
Falso
PAGA:
Costo tot
ç
Vero
PG ç
CP + CM + CF + CT
SP > LS
SP - SC
Falso
PG
ç
SP
FINE
Per spingere i DDF ad esprimere in maniera dettagliata l’algoritmo è necessario ricorrere all’uso di
abbreviazioni o di sigle per indicare sia i dati forniti
dal testo del problema, sia quelli che nascono
dall’elaborazione. Ad esempio:
PG
FINE
L’algoritmo risolutivo prevede i due casi anche se i dati posti dal problema porteranno a praticarne uno
solo di questi. In tal modo si porta il bambino a prevedere tutti i possibili casi ed a esprimerli, avviando
così un processo di generalizzazione. Infatti se i dati posti dal problema fossero quantitativamente diversi (ad esempio il formaggio di grana comprato è di 0,5 Kg invece che 1,5 Kg) l’algoritmo risolutivo non
cambierebbe mentre la sequenza delle operazioni da eseguire potrebbe cambiare perché invece di percorrere la strada corrispondente al “vero” si dovrebbe percorrere quella del “falso”.
La soluzione computistica dell’algoritmo non si può essere esprimere con un’espressione numerica perché questo linguaggio non contempla le operazioni di scelta. E’ più utile un linguaggio tabulare dove di
riga in riga si registra il risultato delle operazioni indicate nel DDF:
PP
Kg
CPK
£/Kg
2 2900
PM
hg
CMH
£/hg
3 1800
PF CFK
Kg £/Kg
1,5 2000
0
CT
£
1400
0
LS
£
5000
0
pag. 37
SC
£
4000
CP
£
CM
£
CF
£
5800
5400
3000
0
SP
£
5520
0
PG
£
5120
0
Se il formaggio acquistato fosse stato del peso di 0,5 Kg:
PP
Kg
CPK
£/Kg
2
2900
PM
hg
CMH
£/hg
3
1800
PF
Kg
0,5
CFK
£/Kg
CT
£
LS
£
SC
£
2000
0
1400
0
5000
0
4000
CP
£
CM
£
CF
£
5800
5400
1000
0
SP
£
PG
£
3520
0
3520
0
Nel secondo caso non si è fatta la sottrazione dello sconto ma l’algoritmo che indica quali operazioni fare
è sempre stato lo stesso.
LIMITAZIONE OPERATIVITA’
Nel seguente problema si fa ricorso ad un espediente didattico estremamente usato in informatica: limitare il numero ed il tipo di operazioni consentite. In matematica una tale limitazione non
viene mai posta, si lascia al bambino la possibilità
di usare tutte le operazioni che conosce.
In informatica tutto ciò non è possibile perché tutti
i linguaggi artificiali hanno una potenzialità operativa parziale (un linguaggio non può avere tutte le
operazioni inventate dall'uomo, sarebbe immenso,
difficilissimo da dominare e non potrebbe essere
alloggiato in un normale computer). Visto che nel
campo computeristico esistono tanti linguaggi artificiali (il PASCAL, il LOGO, il BASIC, l'RPG, il
FORTRAN, il COBOL, il C, il PROLOG, il VISUAL
BASIC, il VISUAL “C”, ...) e ognuno di loro è dotato di un'operatività diversa da quella di un altro,
quale linguaggio è opportuno usare? Quello che:
- possiede il maggior numero di operazioni che
servono per risolvere il problema;
- permette di aggirare la mancanza di un'operazione con una sequenza di operazioni in dotazione.
Problema:
“Trova in quale modo è possibile ottenere il
quoto e il resto di una divisione fra due
numeri naturali qualsiasi utilizzando solo le
seguenti operazioni:
addizione, sottrazione e confronto”
Un modo per risolvere il problema potrebbe essere il seguente:
“Partendo da un valore nullo lo incremento
del divisore e conto quante volte ho effettuato l’incremento per arrivare il più possibile vicino al dividendo, rimanendo sempre
minore del dividendo. Facendo ora la sottrazione fra il dividendo e il valore nato dagli incrementi ottengo anche il resto”
Un’altra soluzione:
“Partendo da un valore pari al dividendo lo
decremento del divisore e conto quante
volte ho effettuato il decremento per arrivare ad un valore minore del divisore. Il resto
è proprio questo valore.”
Fra i due algoritmi è preferibile il secondo, basato
sul quoto come sottrazione ripetuta. Le sigle che
verranno utilizzate sono:
DD
DS
= valore del dividendo
= valore del divisore
VAL
CON
RE
QU
= valore da decrementare
= valore del contatore
= resto della divisione
= quoto della divisione
INIZIO
1
DD, DS
2
VAL ç DD
CON ç 0
Falso
3
4
6
pag. 38
CONç
CON + 1
VAL ç
VAL - DS
Vero
VAL < DS
5
QU, RE
FINE
QU
ç
CON
RE
ç
VAL
Il 4° blocco del DDF esprime una addizione che,
scritta con il simbolo di uguaglianza matematica,
risulterebbe assurda:
COM = COM + 1
è perciò necessario distinguere il significante di
uguaglianza dal significante di assegnazione di un
valore. Quindi se:
A ç B * C
significa: “assegna ad A il valore che risulta dalla
moltiplicazione del valore di B con il valore di C”,
allora:
CON ç CON + 1
VAL ç VAL - DS
significano: “assegna a CON il valore che risulta
dall’addizione del valore che ha CON con 1” e
“assegna a VAL il valore che risulta dalla sottrazione ...”, cioè: “incrementa CON di 1” e “decrementa VAL di DS”.
Ma è veramente una soluzione del problema proposto ? E’ necessario procedere ad una verifica.
Riguardo alle operazioni utilizzate non ci sono
dubbi, dal DDF si può facilmente verificare che
sono solo quelle concesse. Per verificare la validità dell’algoritmo espresso è necessario procedere
all’esame di alcuni casi :
1°) quoto e resto diversi da zero;
2°) quoto diverso da zero e resto nullo;
3°) quoto nullo e resto diverso da zero;
4°) dividendo nullo;
5°) divisore nullo.
E’ buona norma verificare gli algoritmi anche e
specialmente nei casi particolari. Infatti una analisi
poco accurata porta, normalmente, a risolvere
pensando solo i casi più comuni ed a trascurare le
implicanze operative derivanti dai casi particolari.
DD DS
1
2
3
4
3
4
3
4
3
5
6
17
VAL CON
<
QU RE
5
17
0
12
1
7
2
DD DS
1
2
3
4
3
4
3
5
6
10
10
5
0
1
falso
0
2
vero
2
2
3
VAL CON
<
0
0
QU RE
5
3
0
vero
0
0
0
VAL CON
<
3
3
QU RE
5
0
0
vero
DD DS
1
2
3
4
3
4
3
4
3
QU RE
falso
DD DS
1
2
3
5
6
<
5
DD DS
1
2
3
5
6
VAL CON
7
VAL CON
<
0
0
0
0
QU RE
0
7
0
7
1
falso
falso
7
2
falso
7
3
falso
falso
falso
falso
2
3
vero
3
3
2
2
In quest’ultimo caso si può vedere che l’algoritmo
risolutivo non dà risultati corretti (porta ad una
procedura che non termina mai e non può dare
una risposta). E’ allora necessario correggere
l’algoritmo risolutivo in modo da impedire che il divisore possa essere nullo:
pag. 39
- avanzare di un numero di passi assegnato;
- ruotare a destra di un angolo retto;
- ruotare a sinistra di un angolo retto;
- osservare ciò che ha di fronte;
- saper riconoscere se è una porta.
Quale è la sequenza di operazioni che deve fare il bambino per uscire dalla stanza?”
INIZIO
DD, DS
ERRORE
Vero
DS = 0
Falso
VAL ç DD
CON ç 0
porta
bambino
Falso
corridoio
Vero
VAL < DS
CONç CON + 1
QU
ç
CON
VAL ç VAL - DS
RE
ç
VAL
stanza
QU, RE
FINE
PROCEDURE ITERATIVE
In questo algoritmo si possono notare due configurazioni che negli algoritmi dei problemi precedenti non comparivano: il percorso riporta a riprendere da un punto già affrontato prima. In tal
caso si dice che si è in una procedura iterativa e
l’insieme delle istruzioni che si ripetono viene detto loop, cioè giro, anello. In quest’ultimo diagramma di flusso ci sono due loop:
1°)
Immetti DD e DS
confronta DS con lo 0
comunica “ERRORE”
«--+
¦
---+
2°)
Confronta VAL con DS
incrementa COM di 1
decrementa VAL di DS
«--+
¦
---+
Le procedure iterative sono molto importanti perché sono, in molti casi, indispensabili per ottenere
un algoritmo risolutivo.
Problema:
“In una stanza, come quella rappresentata
nel disegno sottostante, un bambino della
classe scelto a caso viene posto con le
spalle appoggiate alla parete che si trova
sulla sinistra della porta. Il bambino è in
grado di compiere solo le seguenti operazioni:
I bambini si fanno condizionare dall'aspetto geometrico-metrico del problema, tentano una indagine dimensionale degli spazi e in funzione di questa esprimo una "soluzione" del tipo:
“vado avanti di circa 9 passi, poi ruoto a
destra e proseguo con altri 5 passi e mi
trovo nel corridoio.”
ma questa non è una soluzione perché se anche
dovesse funzionare per un particolare bambino,
non può funzionare per un qualsiasi bambino, dato che il PASSO non è una unità di misura (varia
da bambino a bambino).
Una vera soluzione deve prendere atto che non è
possibile fare ricorso ad una unità di misura e che,
quindi, le distanze devono essere interpretate per
approssimazioni successive. Nella falsa soluzione
precedente l'operazione del confronto-scelta non
è stata usata ed invece è fondamentale perché
grazie ad essa è possibile creare una procedura
iterativa basata sul seguente loop:
Avanza di 1 passo
ruota a destra
guarda cosa hai di fronte
vedi una porta
se NO ruota a sinistra
«--+
¦
¦
¦
---+
Se le sigle usate sono le seguenti:
AnP
DX
SX
GDF
VP
= avanti di n passi
= ruotare a destra
= ruotare a sinistra
= guardare di fronte
= vedere la porta
allora l’algoritmo risolutivo può essere:
pag. 40
INIZIO
Anche quando il bambino si trova di fronte alla
porta non può concludere l’algoritmo con
un’istruzione del tipo: “avanti di 5 passi”, per lo
stesso motivo espresso prima. E’ quindi ancora
una volta indispensabile il loop iterativo.
A1p
DX
GDF
falso
VP
SX
vero
A1p
VP
vero
Questi loop si possono interpretare come una ripetizione di azioni o operazioni per un numero di
volte limitato:
Ripeti N volte [ .... istruzioni .... ]
oppure
Ripeti [ .... istruzioni .... ]
fino a quando [ condizione logica ]
falso
FINE
ALTRI CASI DI UTILITA’ DEI DDF
I DDF costituiscono un ottimo linguaggio per esprimere gli algoritmi relativi alle classificazioni.
“Fornendo il disegno di un triangolo, Gino deve essere in grado, dopo averne misurato sia le lunghezze dei lati sia le ampiezze degli angoli interni, di classificarlo”
Una possibile soluzione può essere la seguente:
INIZIO
DISEGNO DEL TRIANGOLO
MISURA I LATI
MISURA GLI ANGOLI
HA TUTTI
I LATI UGUALI
vero
ACUTANGOLO
EQUILATERO
falso
falso
HA DUE
LATI UGUALI
HA UN
ANG. RETTO
vero RETTANGOLO
vero
ISOSCELE
falso
falso
HA UN
ANG. OTTUSO
SCALENO
vero
OTTUSANGOLO
FINE
pag. 41
Altro impiego dei diagrammi di flusso si ha per
descrivere situazioni che nella realtà appaiono
semplici perché vengono affrontate quotidianamente, ma sul versante logico-razionale presentano notevoli difficoltà a causa della grande quantità di micro-operazioni che è necessario coordinare.
INIZIO
PSR
AR
OL
Si prenda l’esempio del riempire d’acqua una
pentola, ma fino a metà.
Le operazioni concesse sono:
falso
LAM
PSR = porre la pentola sotto il rubinetto,
AR = aprire il rubinetto,
CR = chiudere il rubinetto,
OL = osserva il livello dell’acqua;
LAM = livello a metà pentola.
vero
CR
FINE
Altro esempio è quello di una telefonata. Si definiscono prima i mezzi e le operazioni che sono disponibili:
- uso di un telefono di tipo domestico;
- confronto e scelta;
- alzare la cornetta;
- abbassare la cornetta;
- ascoltare;
- comporre il numero;
- discorrere, comunicare;
INIZIO
FINE
vero
N° TELEFONO
falso
ALZARE CORNETTA
N° TENT.
SUFFICIENTE
ASCOLTARE SEGNALE
C’E’ LA
LINEA
falso
ABBASSARE CORNETTA
vero
COMPORRE N° TEL.
ASCOLTARE SEGNALE
falso
ATTESO A
SUFFICIENZA
falso
vero
ABBASSARE CORNETTA
falso
RISPONDONO
vero
COMUNICARE.
FINE
pag. 42
E’
OCCUPATO
vero
ALCUNE CONCLUSIONI
Per impostare una corretta educazione informatica
non è necessario ricorrere all'uso del computer,
ma è importante insegnare al bambino ad analizzare, a razionalizzare, a risolvere ed a esprimere
gli algoritmi risolutivi dei problemi con i linguaggi
più opportuni. Ovviamente occorre conoscere più
linguaggi formali ed i più importanti, oltre a quelli
aritmetico, tabulare ed insiemistico, sono quelli dei
diagrammi ad albero e dei diagrammi di flusso.
Un altro linguaggio non semplicemente informatico ma computeristico è il LOGO. Questo linguaggio si basa su operazioni di tipo spaziale come
quelle posizionali e direzionali e cambiamenti metrici di posizioni e direzioni. Attraverso l'uso di queste operazioni permette di tracciare dei grafici sul
monitor del computer.
Questo linguaggio richiede la conoscenza e l'uso
delle ampiezze angolari in gradi sessagesimali e
quindi risulta adatto (entro certi limiti) per bambini
della 4^/5^ classe, però può essere semplificato
dall'insegnante, attraverso la costruzione di particolari programmi, e quindi può essere proposto
anche ai bambini più piccoli. Ma occorre evidenziare che il compito dell'insegnante non è addestrare all'uso del LOGO o di qualsiasi altro linguaggio computeristico, ma è, eventualmente, far
capire al bambino come il LOGO è uno dei tanti
linguaggi che permettono di risolvere e di esprimere i problemi.
Se l'insegnante è intenzionato a fare informatica
utilizzando il computer deve prima dominare culturalmente lo strumento informatico in maniera che
passi una cultura e non un addestramento.
Ultimo esempio con difficoltà non più adatte ai bambini della scuola elementare:
“L'approssimazione di un numero decimale”
Approssimare un numero decimale significa trasformarlo nel numero intero ad esso
più vicino, quindi se la parte decimale è
minore di 0,5 si approssima all'intero minore (si toglie la parte decimale) altrimenti si
approssima all'intero maggiore (si prende
la sola parte intera incrementata di una unità).
INIZIO
N° DECIMALE
PRENDI LA PARTE
DECIMALE
falso
PARTE DEC. < 0,5
L’APPROSSIMAZIONE
E’ LA
PARTE INTERA + 1
L’APPROSSIMAZIONE
E’ LA
PARTE INTERA
APPROSSIMAZIONE
FINE
pag. 43
vero
Se il compito di approssimare un numero
decimale deve essere fatto fare ad un elaboratore occorre tener presente l'operatività di quest'ultimo e, nel nostro caso, le operazioni che più servono sono due:
- l'addizione [ + ]
- l'intero di ... [ INT(...) ] che trasforma un
numero decimale nel corrispondente senza la parte decimale.
INIZIO
N° DECIMALE
L’APPROSSIMAZIONE DEL NUMERO DECIMALE
E’
int ( N°DECIMALE + 0,5 )
La nuova soluzione può essere quella espresso a fianco e questa può diventare
anche un nuovo modo per approssimare.
APPROSSIMAZIONE
FINE
pag. 44
INDICE
LE INTELLIGENZE ...................................................................................................................................................................................... 2
INTELLIGENZE: NATURALI, ARTIFICIALI.......................................................................................................................................................2
LIVELLI DI INTELLIGENZA ....................................................................................................................................................................3
Intelligenze ripetitive................................................................................................................................................................................ 3
Intelligenze ereditarie............................................................................................................................................................................... 4
Intelligenze creative.................................................................................................................................................................................. 6
INFORMAZIONI DATI E MEMORIE .................................................................................................................................................... 7
INFORMAZIONI E DATI ............................................................................................................................................................................7
MEMORIA.......................................................................................................................................................................................................7
TIPI DI MEMORIE ........................................................................................................................................................................................8
Differenze dei tempi d’accesso................................................................................................................................................................ 8
Scrivibilità................................................................................................................................................................................................... 9
Ruolo svolto nelle apparecchiature........................................................................................................................................................ 9
LINGUAGGI ...................................................................................................................................................................................................11
LINGUAGGI ICONOGRAFICI ................................................................................................................................................................11
LINGUAGGI IDEOGRAFICI....................................................................................................................................................................12
Pregi del linguaggio ideografico..........................................................................................................................................................13
Difetti del linguaggio ideografico........................................................................................................................................................13
LINGUAGGI ALFABETICI ......................................................................................................................................................................13
Vantaggi dei linguaggi alfabetici.........................................................................................................................................................14
STESSI DATI CON LINGUAGGI DIVERSI..........................................................................................................................................16
Alcune curiosità.......................................................................................................................................................................................18
IL PROBLEM SOLVING ...........................................................................................................................................................................21
ANALISI DI UN PROBLEMA ..................................................................................................................................................................21
APPROCCI ALLA SOLUZIONE..............................................................................................................................................................21
SOLUZIONE.................................................................................................................................................................................................22
VERIFICA .....................................................................................................................................................................................................22
PROBLEMA..................................................................................................................................................................................................23
LINGUAGGI ALGORITMICI..................................................................................................................................................................24
GRADUALITA’ LINGUISTICA ..............................................................................................................................................................24
DIAGRAMMI AD ALBERO .....................................................................................................................................................................27
Espressioni numeriche............................................................................................................................................................................28
TOP - DOWN.................................................................................................................................................................................................29
DIAGRAMMI DI FLUSSO ........................................................................................................................................................................33
FASE ESPRESSIVA ................................................................................................................................................................................34
SE ALLORA ALTRIMENTI....................................................................................................................................................................35
LIMITAZIONE OPERATIVITA’...........................................................................................................................................................38
PROCEDURE ITERATIVE....................................................................................................................................................................40
ALTRI CASI DI UTILITA’ DEI DDF...................................................................................................................................................41
ALCUNE CONCLUSIONI.....................................................................................................................................................................43
pag. 45