SlideShare ist ein Scribd-Unternehmen logo
1 von 93
Downloaden Sie, um offline zu lesen
Informatica , le
origini e lo
sviluppo


Dalle schegge di selce alle schegge di silicio




 Flavio Lombella , 2006
Introduzione




        Nel 1967 viene introdotto il termine informatica per designare una nuova disciplina che si
 occupa del trattamento automatico delle informazioni e che funge da supporto per tutte le discipline,
 consentendo di affrontare classi di problemi in precedenza preclusi dalla quantità di dati da trattare.

           Prima di allora si indicava genericamente con il termine cibernetica tutto quanto riguardasse
 gli elaboratori, materia vista molte volte con diffidenza in quanto si identificava la capacità di
 calcolare con quella più generale di pensare. Si pose il problema di determinare dei nuovi sistemi di
 codifica e quindi di studiare in modo approfondito le capacità dei codici, ma anche di introdurre dei
 linguaggi formali che consentano di migliorare il compito di predisporre i programmi per gli
 elaboratori.

         Se come disciplina scientifica l’informatica è una materia molto recente, le idee su cui si basa
 trovano origine molto più anticamente nella storia della matematica ed in particolare in quella del
 calcolo

        Per una materia dall’evoluzione talmente veloce da vedere nuovi strumenti e nuove tecnologie
 succedersi nel volgere di pochi anni è importante comprendere quali siano i concetti fondamentali. In
 questo ci può aiutare lo studio delle stesse origini dell’informatica.

         Cercheremo di ricostruire il filo conduttore che ha portato dalle prime capacità di numerare gli
 oggetti dei nostri antichi progenitori al moderno elaboratore elettronico, analizzando le interazioni con
 il progresso scientifico e, più in generale con lo sviluppo della società.
Sommario

1     Numerare , contare , calcolare 5

    1.1    Quanti 5
    1.2    Registrare e rappresentare i numeri con un sistema 7
    1.3    Il contributo del mondo Arabo 8
    1.4    La rinascita e l’introduzione del sistema decimale 10
    1.5    La lenta diffusione del nuovo sistema 13
    1.6    Metodi e strumenti per calcolare 15

2     Macchine per calcolare 31

    2.1    La macchina di Pascal 32
    2.2    Leibnitz, un meccanismo per moltiplicare 33
    2.3    Il problema della longitudine e della latitudine 34
    2.4    Il grande precursore 37
    2.5    La costruzione della prima macchina alle differenze 39
    2.6    La ricostruzione della seconda macchina alle differenze di Babbage 40
    2.7    La macchina analitica di Babbage 41
    2.8    Ada Lovelace e i primi programmi 45
    2.9    Macchine per gestire e organizzare le informazioni 49
    2.10   L’eredità della macchina analitica 50

3     La rappresentazione delle informazioni 53

    3.1    Il sistema binario 53
    3.2    Algebra booleana 54
    3.3    Binario, esadecimale, ottale 54
    3.4    Misurare l’informazione 56
    3.5    I multipli 58
    3.6    Rappresentare i caratteri 59

4     I primi elaboratori 61
4.1    Le macchine di Zuse 61
    4.2    Le macchine di Harward 63
    4.3    L’avvento dell’elettronica 65
    4.4    Il calcolatore di Atanasoff 65
    4.5    Gli elaboratori elettronici : ENIAC 66
    4.6    Un caso a parte, LEO 67
    4.7    Von Neuman , la definizione della struttura logica dell’elaboratore 68
    4.8    Le prime macchine prodotte in serie Errore. Il segnalibro non è definito.

5     La microelettronica e la nascita del Personal Computer 70

    5.1    I minicalcolatori 70
    5.2    Il microcalcolatore 72
    5.3    L’elettronica dello stato solido 74
    5.4    Il diodo a giunzione 76
    5.5    Il tranistor BJT 78
    5.6    I circuiti integrati 79
    5.7    La produzione dei circuiti microintegrati 82
    5.8    Il microelabortatore diventa un bene di consumo 84
    5.9    INTEL e la nascita del microprocessore 86
    5.10   Dal minicomputer al Personal Computer 87
    5.11   Il Personal Computer IBM 89
1 Numerare , contare , calcolare

Prima di guardarti avanti guardati indietro
(John Watt)




1.1 Quanti



  N          ello sviluppo della storia dell'uomo, in epoche diverse si sono
             sviluppate delle civiltà che sono poi completamente scomparse ma
             che hanno lasciato come eredità un bagaglio di
             conoscenze. Tra gli elementi fondamentali che
  hanno portato al loro sviluppo vi è stata la capacità di contare
  e di numerare gli oggetti, parte della più generale abilità di
  utilizzare simboli e di ragionare manipolando simboli.
  Qualsiasi forma di organizzazione sociale evoluta richiede,
  infatti, tale abilità. Quanti sono i bisonti cacciati o i giorni
  trascorsi ? La mente umana ha impiegato centinaia di
  migliaia di anni per impadronirsi di questi concetti ed è oggi
  per noi molto difficile renderci conto di quanto questo sia
  stato importante. Nel nostro modo di ragionare la capacità di
  contare deriva infatti, in buona parte da concetti che abbiamo
  dovuto imparare a memoria nei primi anni della nostra vita e
  all’esposizione al linguaggio, all’esempio dei nostri simili. In
  questo modo ci siamo impadroniti di concetti che la nostra Fig.1 L’abaco
  specie ha acquisito in un tempo lunghissimo. In tempi e
  luoghi diversi una tappa fondamentale di ogni civiltà fu quando ci si pose la
  fondamentale domanda : Quanti sono? La prima possibile risposta venne
  fornita dalla possibilità di raffrontare tra loro quantità simili di oggetti diversi.
  In tal modo i bastoncini, le conchiglie, le tacche su un legno o le dita delle
  mani furono tutti elementi validi per lo scopo. Quello che è interessante notare
  è come sia stato difficile per l'uomo astrarre il concetto di numero come
Le origini dell’informatica


elemento simbolico svincolato da oggetti materiali. E’ certo che in origine i
termini utilizzati per rappresentare le quantità numeriche erano diversi per
oggetti diversi.Di questa difficoltà possiamo trovare ancora traccia nel
linguaggio odierno. Quando nella nostra lingua dobbiamo indicare un gruppo
di animali utilizziamo tutta una serie di vocaboli diversi , gregge per le pecore ,
branco per i lupi, stormo per gli uccelli, mandria per le mucche, mentre nulla
vieterebbe, dal punto di vista logico, di utilizzare un unico termine. Non
disponiamo di testimonianze dirette ma il sopravvivere fino a tempi recenti di
popolazioni che in luoghi isolati hanno mantenuto un modo di vita tipico di
quello dell’età della pietra ci ha permesso di avere delle testimonianze dirette
delle capacità di rappresentare i numeri e del loro utilizzo. All’inizio del
secolo scorso un missionario vissuto a lungo nella tribù dei Tamanaca, lungo il
corso dell’Orinoco, riportava come il metodo utilizzato per contare si basava su
parole per identificare le sole prime quattro quantità. Per contare si avvalevano
di mani e piedi. Cinque corrispondeva ad una mano intera. Oltre si
identificavano i numeri con uno sull’altra mano, fino a due mani, poi uno sul
primo piede, due mani ed un piede, uno
sull’altro piede. Venti veniva identificato
quindi con un intero indiano e oltre con un
indiano e uno. Insomma si può definire un
sistema di numerazione a base venti. Un
sistema analogo si riscontra anche nelle
popolazioni Eschimesi e questo fa pensare che
il modo di numerare risalga ad un’epoca
precedente a quella in cui le grandi migrazioni
portarono Homo Sapiens a colonizzare l’intero
pianeta, vista la difficoltà di rappresentare
visivamente le dita in popolazioni abituate a
vivere completamente coperte da pellicce.
Quell’epoca che ancora oggi nella tradizioni
orale degli aborigeni australiani viene indicata Fig.2 Il papiro di Rhind, parte iniziale
come l’epoca del sogno.
Una delle esigenze principali che spinsero allo sviluppo della capacità di
calcolare fu il commercio.
Un secondo esempio molto significativo ci viene dal resoconto sempre di un
missionario che a fine 800 ci riportava gli usi delle tribù Dammara, nel Sud
Africa. A proposito dell’utilizzo del baratto osservava come quando durante
uno scambio di ad esempio pecore per stecche di tabacco supponendo che il
cambio corrente fosse di una pecora per due stecche, il cambio di due pecore
avveniva nel seguente modo : prima il venditore delle pecore cedeva al prima
pecora ricevendo in cambio le prime due stecche. La pecora doveva essere
allontanata. Convinto che la prima transazione fosse stata correttamente e
onestamente svolta si passava alla seconda pecora. Uno scambio in cui
direttamente si davano le due pecore e si ricevevano in cambio quattro stecche
non era assolutamente accettato. Insomma per questa parte dell’umanità il
concetto che due per due fa quattro era ancora lontano dall’essere acquisito.


Capitolo I –Numerare contare calcolare
                                                                                      6
Le origini dell’informatica


        L’effetto che sui nostri antenati ebbe l’appropriarsi della capacità di
 manipolare le quantità e di calcolare fu enorme. Nell’antico Egitto i problemi
 matematici ed il loro studio erano riservati alla casta dei sacerdoti e si
 attribuivano tali capacità a poteri magici, derivanti direttamente dagli Dei. Uno
 dei primi esempi di testo per insegnare la matematica e la soluzione dei
 problemi numerici è giunta fino a noi in alcuni papiri tra cui forse il più
 celebre è quello noto come papiro di Rhind ( il primo proprietario ) o di
 Ahmes(l’autore ), una raccolta di 25 problemi datatati al 1650 A.C. . Scritto in
 Ieratico il papiro è lungo circa 6 metri e largo 30 centimetri, è custodito al
 British Museum. La prima sezione riporta una introduzione, nella quale si
 rende gloria agli dei ispiratori di quanto verrà esposto, seguito dal risultato
 della divisione per due di tutti i numeri dispari da 3 a 101, con il risultato
 espresso in frazioni.La notazione con la virgola ed i decimali è molto recente,
 risale al secolo XVIII. La seconda sezione consiste in una tabella che riporta le
 divisioni dei numeri da 1 a 9 per 10. Seguono poi i problemi pratici. Il primo
 problema consiste nel dividere una razione di grano tra dieci uomini. Ogni
 uomo riceve un decimo. La dimostrazione ricostruisce l’operazione al contrario
 usando la tabella precedente : due uomini ricevono 2 decimi, tre uomini
 ricevono tre decimi, e così via sino all’unità. I problemi sino al sei trattano
 rispettivamente della divisione di due razioni, tre , quattro e cinque, sempre
 utilizzando le tabelle precedenti. Tanto i problemi appaiono ai nostri occhi
 banali e le dimostrazioni peddiseque quanto agli occhio dei contemporanei di
 Ahmes dovevano essere stupefacenti.


1.2 Registrare e rappresentare i numeri con un sistema


 Scartata la possibilità di introdurre nel linguaggio una parola per ogni possibile
 quantità l’unica possibilità era di definire un sistema che consentisse di
 utilizzare dei simboli base associati tra di loro in un
 sistema. I progressi della capacità di numerare
 arrivarono con i corrispondenti progressi della
 società organizzata. Non a caso le prime iscrizioni
 di età sumera sono registrazioni di tasse, versate per
 consentire di mantenere una struttura di stato.

 Si possono distinguere due distinti stadi nello
 sviluppo della capacità di registrare in forma scritta
 le grandezze numeriche, uno pittorico ed uno
 simbolico. In quello pittorico le grandezze vengono      Fig. 5 dimostrazione di un teorema,
 rappresentate associando un elemento, come un            tratto da un codice arabo
 animale, ad una serie di aste ed in seguito elementi
 grafici associati tra loro, come simboli stilizzati.
 Questo comincia a comportare in un certo senso un



 Capitolo I –Numerare contare calcolare
                                                                                 7
Le origini dell’informatica


 concetto astratto.

 Lo stadio successivo consiste nell’associare simboli a gruppi e con questi
 costruire dei sistemi di numerazione. Tali sistemi si possono suddividere in
 sistemi additivi e sistemi posizionali.

 Il sistema Egiziano è un sistema di tipo additivo, ma certamente noi siamo più
 famigliari con quello Romano che è dello stesso tipo.

 Il sistema si basa su sette simboli :

 I                             1
 V                  5
 X                  10
 L                  50
 C                  100
 D                  500
 M                  1000

 Questi simboli venivano utilizzati in modo additivo, cioè sommando i valori
 dei simboli tra di loro partendo da sinistra. Solo in epoca successiva venne
 introdotta la forma sottrattiva, un simbolo a sinistra viene sottratto qualora sia
 di dimensione inferiore ( IV per quattro e IX per 9 ). Il sistema è abbastanza
 semplice per le addizioni, anche se richiede due passi, prima i simboli vengono
 raggruppati in ordine decrescente, in un secondo passo vengono sostituiti i
 gruppi di simboli che possono essere riscritti con simboli maggiori ( VV co X ,
 XXXXX con L). La moltiplicazione appare notevolmente più complessa e
 richiede di conoscere i multipli di V e X. Vengono rappresentati i soli numeri
 interi e naturalmente il sistema appare gestibile solo per numeri fino ad un
 massimo di qualche migliaio. Per I numeri razionali, come già per gli Egiziani
 si aggiungevano ai numeri naturali le frazioni. Un sistema piuttosto limitato,
 ma l’impero Romano dominò il mondo allora conosciuto con una struttura di
 stato che per molti aspetti ancora ci stupisce. Con la caduta dell’Impero
 Romano di Occidente nel 456 ebbe inizio una lunga fase di stagnazione che
 viene indicata con Medio Evo, il sonno della ragione.


1.3 Il contributo del mondo Arabo

 In questa epoca le scienze matematiche e astronomiche
 fiorirono nel vicino mondo arabo, in particolare nella penisola
 arabica. Nel VII secolo viene fondata la dinastia dei califfi a
 Bagdad, la nascente cultura araba assorbe dai paesi vicini idee
 e concetti. Probabilmente dall’india deriva un’idea
 rivoluzionaria per i sistemi di numerazione:


                                                                     Fig. 3 Al-Kwoaritzmi,
 Capitolo I –Numerare contare calcolare                              ipotetico ritratto

                                                                                      8
Le origini dell’informatica




      0


      Lo zero rappresenta il definitivo distacco del concetto di numero da una sua
      rappresentazione fisica. E’ lo zero che consente di definire un sistema di
      numerazione posizionale e pesato, dove gli stessi simboli hanno un significato
      non solo per se ma anche per la posizione. Questo non sarebbe possibile senza
      un simbolo per la quantità nulla. E' con l'introduzione delle cifre arabe per le
      prime 9 quantità che si realizza, unitamente allo zero, un sistema molto
      potente, scalabile, che può rappresentare facilmente anche quantità molto
      grandi e che permette, con semplici regole, di realizzare somme e sottrazioni
      tra qualsiasi numero.

        La più antica testimonianza a noi nota sull’utilizzo dello zero risale all’anno
        876 AD, con la rappresentazione dei numeri 50 e 270. Già i babilonesi               L’introduzione
        utilizzavano però un carattere simile allo zero nel proprio sistema di              dello zero
                                                                                            consente di
        numerazione, ma non come parte consistente sel sistema. Il simbolo veniva           costruire un
        concepito come separatore tra numeri, ad esempio in un documento dell’epoca         sistema di
                                                                                            numerazione
        si può riscontrare come per rappresentare 1024 il simbolo veniva inserito come      posizionale e
        separatore tra la colonna per le migliaia e le decine. Non veniva utilizzato        pesato

        invece per numeri come 1000. La difficoltà stava nel concepire che il nulla
                                                 potesse separare il nulla. Il califfo Al
                                                 Mamum stabilì un centro accademico,
                                                 denominato Casa della Saggezza,
                                                 attorno all’anno 800, a Bagdad. Si
                                                 trattava di una combinazione tra una
                                                 biblioteca, una università e di un
                                                 centro di traduzione da lingue straniere
                                                 in Arabo. Fu il centro più importante
                                                 per la diffusione del sapere dalla
                                                 distruzione     della   biblioteca    di
                                                 Alessandria d’Egitto. Vennero tradotti
                                                 testi dal greco antico, persiano,
Fig.4 Monumento ad Al-Kwoaritzmi, Gedda.
                                                 sanscrito e copto. Molti importanti
                                                 testi dell’antichità sono giunti a noi
        solo grazie a queste traduzioni in Arabo. Purtroppo la storia si ripete nel 1258
        AD quando Hulagu Khan, nipote del più famoso Gengis Khan conquista
        Bagdad e la distrugge. Uno degli studiosi che operarono nella Casa della
        Saggezza fu Mohammed ibn Musa Al-Kwoharizmi ( Mohhamed, figlio di
        Moses , originario di Khowarizm, la moderna citta di Kiva nel sud della
        Russia) .Fu autore di testi di algebra e di geometria e di tavole di calcoli per
        uso astronomico. Nella sua “Aritmetica” cita espressamente come il sistema di
        numerazione decimale gli sia pervenuto dagli Indiani . nessuna edizione
        originale ci è pervenuta, ma disponiamo di traduzioni in altri linguaggi. Il


      Capitolo I –Numerare contare calcolare
                                                                                       9
Le origini dell’informatica


 lavoro inizia con la numerazione e discute diffusamente dell’utilizzo delle cifre
 ed in particolare dello zero. Prosegue con l’esposizione dei metodi
 fondamentali per le operazioni tra interi. Il lavoro influenzò tutte le successive
 opere di autori arabi nel campo. L’utilizzo del sistema di numerazione Hindu si
 diffuse rapidamente in tutto il mondo Arabo.


1.4 La rinascita e l’introduzione del sistema decimale
 Con la riconquista di territori di cultura araba da parte dei Normanni in Sicilia
 e, soprattutto la riconquista di Toledo in Spagna nel 1085 da parte di Alfonso
 di Leon, si pongono le basi per la rinascita culturale
 dell’Europa.. Un crescente entusiasmo portò studiosi da ogni
 parte d’Europa alla ricerca dei documenti dell’antichità nella
 traduzione Araba e dei testi Arabi. Alcuni, come Adelardo di
 Bath, giunsero alla conversione all’islamismo spinti
 dall’amore per il sapere. Contribuirono inoltre a questo
 passaggio di conoscenze il fiorire dei traffici mercantili tra le
 sponde del mediterraneo. In questa atmosfera si formò alla
 matematica Leonardo Pisano , figlio di Bonaccio. Nacque
 attorno al 1170 e alcune informazioni sulla sua vita ci
 vengono dall’introduzione alla sua prima opera, il Liber
 Abaci, scritta nel 1202. Il padre Bonaccio era incaricato di Fig.6 Leonardo Pisano,
 dirigere, per conto dell’Ordo Mercatorum di Pisa, l’ufficio detto il Fibonacci,
 doganale di Bugea in Algeria. Quando Leonardo era ancora ipotetico ritratto, 1170-
 ragazzino lo chiamò presso di se per studiare il nuovo 1250 (circa).
 sistema di numerazione in uso nel mondo Arabo, il sistema decimale
 posizionale. Da questa esperienza nasce il Liber Abaci, che come dichiarato
 nell’introduzione ha lo scopo di mettere tutto il suo sapere

 “ a disposizione della gens latina in modo che ben poco sull’argomento ne
 possa restare fuori “

 Il termine abaco viene utilizzato da Leonardo per indicare l’aritmetica/algebra
 in generale, termine che mantenne in Italia questo significato fino alla fine del
 XVIII secolo. Si tratta di un’opera per, l’epoca, colossale. Nella versione in 4°
 di Baldassare Boncompagni nel 1854 si tratta di 459 pagine, nelle quali
 vengono presentate le “novem figure” degli indiani e il “signum” 0 ( “quod
 arabice zephirum appellatur” ) , le operazioni con interi e frazioni, le prove per
 7, 9, 11, 13 e il criterio di divisibilità per 9, le operazione per determinare il
 massimo comun divisore ed il minimo comune multiplo. Vi si danno poi le
 regole pratiche per compra-vendite, baratti, società, cambi con le monete al
 tempo in uso,proporzioni. Il tutto corredato da numerosi esempi pratici. In
 capitoli a parte la regola “ elchataym “ ( doppia posizione per la soluzione
 delle equazioni ) , sino alla soluzione , discussione e applicazione delle
 equazioni di secondo grado. E’ sul Liber Abaci che per tre secoli si formeranno



 Capitolo I –Numerare contare calcolare
                                                                               10
Le origini dell’informatica


maestri e allievi della scuola toscana. Non era certo un’opera facile, Leonardo
consigliava al lettore di insistere nell’applicazione e nell’esercizio continuo,
sino a che memoria e ragionamento, mani e numeri “ quasi uno impulsu et
anelitu in uno et eodem instanti circa idem per omnia naturaliter consonent” .
Sarà questo anelito di perfezione a fare di Leonardo un matematico di
eccezione tra i contemporanei e successori, i quali conservarono un




   Fig.7 L’incipit del Liber Abaci, notare evidenziata la sequenza delle nove cifre .

reverenziale ricordo del maestro. Maestro Benedetto da Firenze a metà del
secolo successivo tradurrà la sua opera in volgare e citerà ripetutamente le sue
opere e ne ricorderà la figura.

“ dicho che L.P. fu uomo sottilissimo in tutte le dispute et secondo che si
trova, lui fu il primo che ridusse allume questa pratica in toscana, che allora
si andava per vie molte e strane”

 Dal 1202 al 1220 Leonardo Pisano non scrisse più nulla. In quegli anni gli
scomunicati della quarta crociata fondavano l’impero latino d’Oriente e nuovi
testi, questa volta greci, passavano in Europa ; crociati comunicati
distruggevano la Provenza e i suoi abitanti, demandando a Dio l’incarico di
riconoscere le anime dei non eretici. A Parigi veniva proibita , pena la
scomunica, la lettura sia in pubblico che in privato delle opere di Aristotele. Le
arti, le lettere e le scienze ebbero un forte impulso dall’avvento di Federico di
Svevia, “stupor mundi”, che volle alla sua corte notari e protonotari indigeni,
“magistri” e “philosofi” di tutte le nazioni. Fu proprio uno dei filosofi della



Capitolo I –Numerare contare calcolare
                                                                                        11
Le origini dell’informatica


corte di Federico, Maestro Domenico, a spingere Leonardo a scrivere un
nuovo testo, un compendio di geometria , la Pratica Geometriae.
Leonardo fu protagonista di sfide alla corte di Federico. Nel 1223 l’imperatore
passo per Pisa e Leonardo venne presentato a Federico II da Maestro
Domenico. Davanti all’imperatore si intrattenne in discussioni con Maestro
Giovanni da Palermo. Questi propose a Leonardo problemi del tipo di trovare
la soluzione ad una equazione di terzo grado o trovare un congruo, cioè

“Trovare un numero quadrato tale che , sia aggiungendogli che togliendoli
5, dia sempre un quadrato”.




Capitolo I –Numerare contare calcolare
                                                                           12
Le origini dell’informatica



La prova del 9

 Leonardo inserisce nelle spiegazioni delle operazioni anche un metodo per controllarne la correttezza, la prova del 9.

 Se si calcola il residuo di ogni numero coinvolto nell’operazione, i residui degli operandi , composti come l’operazione, devono dare il
 residuo del risultato. Il residuo è la cifra ottenuta sommando tra loro, se necessario più volte, le cifre del numero sino ad ottenere una sola
 cifra. Tale operazione equivale al resto dell’operazione di divisione per 9, o modulo 9. Infatti ogni volta che in un numero spostiamo una
 cifra dalla sua posizione e la sommiamo alla cifra di destra, equivale a sottrarre al numero un multiplo di 9, una cifra n in posizione p,


   (                 )
 n 10 p − 10 p −1 = n(10 − 1)10 p −1 = 9n10 p −1
 Prendiamo ad esempio l’operazione di moltiplicazione e scomponiamo i moltiplicandi secondo la divisione per 9,

 m=pxq


 m = (t m ⋅ 9 ) + res m          p = (t p ⋅ 9) + res p             q = (t q ⋅ 9) + res q
 e quindi
  p ⋅ q = (t p ⋅ 9) ⋅ (t q ⋅ 9) + res p ⋅ (t q ⋅ 9) + res q ⋅ (t p ⋅ 9) + res p ⋅ res q = (t m ⋅ 9) + res m


    [                                              ]
 9 ⋅ t p ⋅ (t q ⋅ 9) + res p ⋅ t q + res q ⋅ t p + res p ⋅ res q = (t m ⋅ 9) + res m
 eseguendo ora l’operazione di modulo 9

 mod 9 (res p ⋅ res q ) =res m                  cvd.
 Da questo si desume anche che la prova del 9 stabilisce una condizione necessaria ma non sufficiente per stabilire la correttezza
 dell’operazione, non si possono infatti individuare errori che introducono nel risultato dei multipli di 9.

 Certamente l’operazione di modulo 9 non è facilmente realizzabile manualmente comportando l’effettuazione di una divisione, ma
 Leonardo indica un modo agevole ç

 Sommare tra di loro le cifre che compongono il numero e se il risultato è maggiore di 9, ripetere il procedimento sino a ridursi ad una sola
 cifra. Infatti sommare una cifra n in posizione p alla posizione p-1 equivale a sommare
 + n per 10 alla p-1 - n per 10 alla p o – n per 9 per a0 alla p-1
 Cioè equivale a sottrarre un multiplo di 9. Iterando il procedimento fino all’ultima cifra otteniamo un numero compreso tra zero e 9. Nel
 caso di 9 per ottener il modulo di deve sottrarre una ultima volta 9.




  Il nome di Fibonacci rimase legato alla soluzione di uno dei problemi pratici
  del Liber Abaci, trovare il numero di discendenti di una coppia di conigli dopo
  n generazione. La soluzione è data dalla serie
  , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , ….
  Dove ogni numero è la somma dei due precedenti.


1.5 La lenta diffusione del nuovo sistema



  Capitolo I –Numerare contare calcolare
                                                                                                                       13
Le origini dell’informatica


    Sia per la complessità che per la lunghezza la diffusione del Liber Abaci fu
    piuttosto ristretta. Il solo lavoro di copiare manualmente un testo di 459 pagine
    era già un grosso problema. Ad una diffusione più capillare del nuovo sistema
    contribuirono i lavori “Carmen de
    Algorismo” di Alexander De Villa Dei,             Le operazioni con il nuovo sistema
    circa 1220 , e “Algorismus Vulgaris” di Nel Liber Abaci viene illustrato in dettaglio l’utilizzo del
    Giovanni da Halifax, meglio conosciuto sistema decimale. Vi sono esempi per moltiplicare traillustra
                                                    con lunghezza diversa . Ad esempio nel capitolo II si
                                                                                                               numeri

    come Sacrobosco. Anche questi lavori si la moltiplicazione dei numeri di due cifre per due cifre.
    basano sull’Aritmetica di Al-Kwaritzmi            37 x
    e furono utilizzati come testo in                 37
    numerose Università . Il “Carmen de               Si esegue il prodotto delle cifre della prima colonna si
    Algorismo”         è       composto       in      segna in alto il risultato e si prende nota del riporto
    endecassilabi. Per entrambi non si                   9                riporto               4
    forniva una completa spiegazione del                37 x
                                                        37
    sistema       ma        erano      composti
    rispettivamente da quattromila parole il          Si esegue il prodotto incrociato decine per unità, per
                                                      entrambe le diagonali quindi 7 x 3 + 7 x 3, vi si somma il
    primo e da 284 linee il secondo, la qual          riporto precedente( 4 ) e si ottiene 46, si scrive il 6 e si tiene
    cosa li rendeva particolarmente adatti ad         conto del nuovo riporto di 4.

    una veloce copiatura. Ne vennero                    69                riporto               4
    effettuate traduzioni in diverse lingue.            37 x
                                                        37
    La diffusione del nuovo sistema fu
    comunque molto lenta, abbandonare il              Si moltiplicano tra di loro le decine 3 x 3 , si somma il
                                                      riporto e si ottiene il risultato
    sistema di numerazione Romano non fu
    facile, soprattutto per motivi culturali. A       1369                riporto               /
                                                         37 x
    quanto veniva dal mondo Arabo si                     37
    guardava con molta diffidenza. Nei                Vengono poi fornite le regole per prodotti tra numeri di
                                                      lunghezza diversa.
    conventi l’utilizzo del sistema Romano
    per le registrazioni si protrasse fino al
    XVIII 1 secolo. Le resistenze furono
    molteplici. Nel 1299 la città di Firenze
    emise un’ordinanza che proibiva
    l’utilizzo del sistema indo-arabico nelle
    transazioni commerciali, vista la facilità di falsificare i numeri. Uno zero
    poteva facilmente essere trasformato in un nove o in un sei. In altri casi
    l’innovazione fu molto veloce.
    Un interessante documento conservato al British Museum riporta le
    registrazioni dei figli nati in una famigli a metà del XIII secolo, nel seguente
    ordine

    Primo figlio                   Mijc.Lviii 2
    Secondo figlio                 Mijc.Lxi

1
    Incidentalmente l’aver riportato il secolo come numero Romano testimonia come ancora oggi per le cose
     importanti questo nuovo sistema di numerazione non paia molto appropriato.
2
    La forma ijc era una forma scritta per rappresentare 200.




    Capitolo I –Numerare contare calcolare
                                                                                                     14
Le origini dell’informatica


 Terzo figlio                  Mijc.63
 Quarto figlio                 1264
 Quinto figlio                 1266

 In un primo momento le cifre furono usate solo per l’anno ma nel breve
 volgere di otto anni l’estensore del testo si era completamente adeguato.



1.6 Metodi e strumenti per calcolare

 Con l’introduzione del sistema decimale si compie un
 notevole passo avanti in termini di capacità di calcolo.
 Ma i problemi che si affrontano sono sempre più
 complessi e vi è un notevole impegno nel cercare
 metodi e artifici per agevolare il compito. Tra le
 persone che maggiormente hanno contribuito a questo
 sviluppo vi è Jhon Napier, barone di Merchiston, nato
 nel 1550, scozzese. A lui va il merito dell’introduzione
 dei Logaritmi, per cui è famoso, ma sempre a lui si
 devono anche altri metodi di calcolo. Con le sue parole
 :

 The difficulty and prolixity of calculation, the
 weariness of wich is so apt to deter from the study of
 mathematics, I have always, with what little powers
 and little genius I possess, laboured to eradicate. And
 with that end in view, I have published of late years Fig. 8 Johan Nepier , Barone di
                                                           Merchiston 1550 -
 the Cannon of Logharithms ... [F]or the sake of those
 who prefer to work with the natural numbers as they
 stand, I have excogitated three other compendious modes of calculation, of
 witch the first by means of numberig rods and these I have called
 Rabdologia. Another, by far the most expeditious of all for multiplication,
 and which on that account I have no inaptly called the Promptuary of
                                                                                         Nepero
 Multiplication, is by means of little plates of metal disposed ina a box. And            I logaritmi come
 lastly, a third method , namely Local Arithmetic performed upon a chess                 strumento per
                                                                                         aiutare
 board.                                                                                  l’esecuzione di
                                                                                         calcoli complessi
                                                                                         come le
 Il metodo maggiormente diffuso al tempo fu quello delle barrette numerate,              moltiplicazioni
 citato per primo, che consentiva di eseguire le operazioni mediante
 l’accostamento delle barrette. Certamente questi metodi furono anche utilizzati
 per il calcolo delle tabelle logaritmiche.

 Napier , meglio noto in Italia come Nepero fu tra i protagonisti della riforma
 Protestante e pubblicò anche un libro sull’Apocalisse di S.Giovanni Apostolo



 Capitolo I –Numerare contare calcolare
                                                                                15
Le origini dell’informatica


      che lo rese celebre come teologo. E’ da credere che l’ispirazione venne dai
      primi lavori sulla trigonometria e in particolare con la formula di prostaferisi

      Sin (a) sin (b) =[cos (a-b) – cos ( a+b)]/2

      Per mezzo di questa formula e disponendo dei valori già tabulati per seno e
      coseno si può effettuare una operazione difficile, la moltiplicazione, mediante
      delle somme, delle sottrazioni ed una divisione per due. Questo influenzò
      certamente Nepero, in quanto i primi logaritmi non erano di numeri naturali ma
      di seni di angoli.
      L’idea nacque quindi non dall’algebra ma dalla geometria, cosa che trova una
      spiegazione anche nel fatto che all’epoca la notazione decimale dei numeri
                                      rappresentati con la virgola e quindi le
                                      potenze negative di dieci o quella
                                      dell’elevamento a potenza con l’esponente
                                      come indice mon erano ancora in uso. In
                                      origine utilizzò il termine di numeri artificiali
                                      ma in seguito coniò il termine logaritmo
                                      derivandolo dalla frase greca per rapporto tra
                                      numeri. Nel Luglio del 1614 pubblica un
                                      piccolo volume di 56 pagine di testo e 90 di
                                      tabelle dal titolo Mirifici Logarithmorum
                                      Canonis Descriptio.

                                               La proprietà che ci interessa ai fini del calcolo
                                               è che

                                               log ab = log a + log b

                                         Nel 1624 il matematico Henry Brigs pubblica
Fig 9. Il frontespizio della prima       una serie di tavole con i logaritmi dei numeri
edizione dei Mirifici Logarithmorum      da 1 a 20.000 e da 90.000 a 100.000, calcolati
, 1614
                                         con una precisione di 14 cifre decimali. Le
                                         tabelle contenevano solo 1161 errori, pari allo
                                         0,04% dei dati. L’utilizzo dei logaritmi nel
       calcolo si diffuse molto rapidamente, tra i primi ad utilizzarli vi fu l’astronomo
       Keplero. Fu quindi un’invenzione che modificò radicalmente, migliorandolo, il
       lavoro di chi a vario titolo si trovava coinvolto nel calcolo. L’utilizzo, anche
       mediante regoli calcolatori, venne soppiantato solo dall’avvento dei moderni
       calcolatori elettronici.

      Nella figura che segue viene riportata una tavola tratta “Tavole Logaritmiche e
      trigonometriche a cinque decimali” di Guglielmo Palazzi, edito dalla casa
      editrice Ponte Nuovo – Bologna , nel 1974, ad uso dei licei , Istituti Tecnici e
      professionali. Nella premessa apprendiamo che le presenti tavole logaritmiche
      “ … sono state segnalate dall’Accademia Nazionale dei Lincei per il “Premio


      Capitolo I –Numerare contare calcolare
                                                                                            16
Le origini dell’informatica


del Ministero della Pubblica Istruzione per la matematica per l’anno 1970”,
con la seguente motivazione :
“Palazzi Guglielmo presenta delle tavole dei logaritmi dei numeri naturali fino
a 10.000 e delle funzioni trigonometriche , dove l’uso di particolari
accorgimenti consente di ottenere approssimazioni molto soddisfacenti.”

L’opera riporta i logaritmi delle funzioni trigonometriche ed il valore dei
quadrati e dei cubi dei primi 1000 numeri. Seguono istruzioni per l’uso con
esempi pratici in particolare per interpolare valori tra quelli tabulati.

Sia le tecniche esposte da Leonardo Pisano che l’utilizzo delle tavole
trigonometriche richiedevano del personale specializzato e ben addestrato. I
calcoli erano comunque lunghi e tediosi, inevitabilmente soggetti ad errori. Si
cominciò a ragionare di come tale lavoro potesse essere automatizzato
utilizzando delle macchine.




Capitolo I –Numerare contare calcolare
                                                                           17
Le origini dell’informatica




   Fig. 10 Tavola per il calcolo dei Logaritmi tratta da le “ Tavole Logaritmiche e Trigonometriche
   di Guglielmo Palazzi “ - 1974



Capitolo I –Numerare contare calcolare
                                                                                                      18
Le origini dell’informatica


1.7 Un esempio pratico, una moltiplicazione con l’utilizzo
    delle tavole logaritmiche

 Premesso che in campo tecnico la precisione viene identificata con il numero
 di cifre significative, tabulando i valori dei logaritmi naturali dei numeri da 1 a
 10000 si può condurre qualsiasi calcolo con la precisione di cinque cifre
 significative. Le cifre significative sono quelle che seguono la prima cifra
 diversa da zero. Qualsiasi numero si può ricondurre ad una rappresentazione
 normalizzata utilizzando le potenze di 10. Ad esempio 3.456.000 e
 0,00012389 sono entrambi numeri con cinque cifre siginificative e possono
 essere rappresentati in forma normalizzata come 0,3456 x 107 e 0,00012389 x
 10-3. Vediamo un Esempio: Calcolare 10,34 x 1347 usando la tavola dei
 logaritmi ( da http://web.ticino.com/calcolo/info.html )


                                                                  Per prima cosa
                                                                  si deve trovare il
                                                                  logaritmo      di
                                                                  10,34.

                                                                  La tavola ci dà
                                                                  solo la parte
                                                                  decimale      del
                                                                  logaritmo
 (mantissa), la parte intera è data dalla potenza di dieci del numero.
 La parte intera del logaritmo di 10,34 sarà quindi 1.
 Per trovare la parte decimale si toglie la virgola al numero, che diventa 1034.
 La colonna N della tavola indica le prime 3 cifre del numero, la quarta è il
 numero indicato in cima alle colonne numerate da 0 a 9.
 Le prime due cifre della parte decimale si trovano nella colonna L in
 corrispondenza della riga per N=103 (01), le altre 3 cifre si trovano sulla stessa
 riga nella colonna del 4 (452).
 La parte decimale sarà quindi 01452.
 Il logaritmo di 10,34 è 1,01452.




Poi si, allo stesso modo, si deve trovare il logaritmo di1347.

La parte intera del logaritmo è 3.



 Capitolo I –Numerare contare calcolare
                                                                                19
Le origini dell’informatica



Il numero è 1347, per cui le prime 3 cifre sono 134. Sulla linea 134 manca il
valore nella colonna L, per le prime due cifre della parte decimale si deve quindi
prendere l' ultimo valore della colonna L prima della linea 134 (12). Le altre 3 si
trovano sulla riga per N=134 nella colonna 7 (937).
La parte decimale sarà quindi 12937

Il logaritmo di 1347 è 3,12937.




Ora si somma il logaritmo di 10,34 al logaritmo di 1034 (nel caso della divisione
si dovrebbe sottrarre)

1,01452 + 3,12937 = 4,14389

Il prodotto tra 10,34 e 1347 sarà il numero il cui logaritmo è 4,14389, ora lo si
deve cercare nella tavola.
La parte intera del logaritmo è la potenza di 10 del numero cercato (4), con la
parte decimale (14389) si trovano le cifre.
La parte decimale inizia con le 2 cifre 14, le si cercano nella colonna L. Poi si
cercano le altre 3 cifre (389) nelle colonne seguenti numerate da 0 a 9. Il 389
non c' è, ci sono il 364 nella colonna 2 ed il 395 nella colonna 3 della riga per
N=139.

Il numero cercato si troverà quindi tra 13920 e 13930.

Per trovare la quinta cifra significativa dobbiamo interpolare.



 Capitolo I –Numerare contare calcolare
                                                                                20
Le origini dell’informatica



                                                 Per interpolare si usano le tabelle P.P. (partes
                                                 proportionales).
                                                 Dapprima si trova la differenza tra 395 e 364
                                                 (i 2 numeri alle colonne 2 e 3)

                                                 395 - 364 = 31

                                                 Si dovrà consultare la tabella P.P. alla
                                                 colonna 31

                                                 Poi si trova la differenza tra 389 (il valore
                                                 non trovato) e 364 (il più piccolo dei 2
                                                 trovati)

                                                 389 - 364 = 25

Nella colonna 31 della tabella P.P. cerchiamo il valore più vicino al 25 (24,8).
Nella prima colonna in corrispondenza di 24,8 troviamo il numero 8, è la quinta
cifra significativa.
Il numero cercato sarà dunque 13928:

10,34 x 1347 = 13928




Fig. xx Frontespizio della pubblicazione di Rottman




  Capitolo I –Numerare contare calcolare
                                                                                                 21
Le origini dell’informatica


Terminiamo ricordando che nel 1959             Karl Rottmann pubblica presso il
Bibliographisches Institut di Mannheim delle tavole logaritmiche calcolate e
stampate con l' aiuto del computer. Non contengono errori di stampa . con
questo si realizza il sogno di Charles Babbage ( vedi il prossimo capitolo ),
realizzare mediante una macchina delle tavole che non contengano errori,
nemmeno di trascrizione. Questo ci ricorda anche come anche i computer erano
all’inizio non delle macchine di uso generale ma data la mole ed i costi solo per
scopi molto particolari, le necessità di calcolo della vita quotidiano erano sempre
soddisfatte con i vecchi metodi anche se gli strumenti erano ora più affidabili.




Fig. xx Presentazione del lavoro di Rottman




  Capitolo I –Numerare contare calcolare
                                                                               22
Le origini dell’informatica




Capitolo I –Numerare contare calcolare
                                         23
Le origini dell’informatica




Capitolo I –Numerare contare calcolare
                                         24
Le origini dell’informatica

Fig. xx Una pagina delle tavole di Rottman




1.8 I regoli calcolatori

  Con lo sviluppo dei logaritmi vengono introdotti anche degli strumenti per
  calcolare che costituiscono dei veri e propri calcolatori analogici denominati
  regoli calcolatori, l’invenzione vien ricondotta a Nel 1650 il matematico inglese
  E. Gunter La parola analogico significa che lo strumento manipola grandezze
  che variano in modo continuo e mediante l’utilizzo di aste graduate le
  operazioni algebriche vengono ricondotte alla somma o differenza di segmenti
  misurati su diverse aste. Se le scale di numerazione sono in scala logaritmica la
  somma di due segmenti proporzionali al logaritmo dei moltiplicandi
  rappresenta il logaritmo del prodotto dei due numeri. Vediamo alcuni esempi
  tratti sempre dal sito : da http://web.ticino.com/calcolo/info.html
1.8.1     Moltiplicazione
     1. Portare l' 1 iniziale della scala C sopra il primo fattore sulla scala D
     2. portare il cursore sul secondo fattore della scala C
     3. Leggere il prodotto sulla scala D
Se il prodotto è fuori scala:
     1. Portare l' 1 finale della scala C (a volte segnato con 10) sopra il primo
        fattore sulla scala D
     2. portare il cursore sul secondo fattore della scala C
     3. Leggere il prodotto sulla scala D
     4. Moltiplicare per 10

                                             1.8.1.1 2 x Pi




     1. portare l' 1 iniziale della scala C sopre il 2 della scala D
     2. portare il cursore sul Pi della scala C
     3. Leggere il prodotto sulla scala D (un po' più di 6,25)




  Capitolo I –Numerare contare calcolare
                                                                                   25
Le origini dell’informatica


1.8.2    Divisione
   1. Portare divisore sulla scala C sopra il dividendo sulla scala D
   2. portare il cursore sull' 1 iniziale della scala C
   3. Leggere il quoziente sulla scala D
Se il quozienze è fuori scala:
   1. Portare il divisore sulla scala C sopra il dividendo sulla scala D
   2. portare il cursore sull' 1 finale (a volte segnato con 10) della scala C
   3. Leggere il quoziente sulla scala D
   4. Dividerere per 10

                                     1.8.2.1 5 : 2,2




   1. Portare il 2,2 sulla scala C sopra il 5 sulla scala D
   2. portare il cursore sull' 1 iniziale della scala C
   3. Leggere il quoziente sulla scala D (un po' più di 2,25)


1.9 La calcolatrice elettronica
 Negli anni settanta del secolo scorso l’avvento della calcolatrice elettronica
 rende improvvisamente obsoleti tre secoli di storia e montagne di tavole e
 regoli calcolatori. Tra le più celebri vi furono quelle prodotte dalla Hewlet
 Packard che si distinguevono per l’utilizzo di una notazione molto particolare
 che analizziamo con una presentazione tratta dalla sito della società (www.hp.it
 ) .Questo m,etodo si basa sull’utilizzo di uno stack, concetto che ritroveremo
 ancora in seguito.




RPN, un'introduzione alla notazione
polacca inversa


 Capitolo I –Numerare contare calcolare
                                                                                 26
Le origini dell’informatica

Il metodo RPN: descrizione e origine
Se siete utilizzatori assidui di una calcolatrice, è giunto il momento di scoprire i vantaggi del
metodo RPN. RPN è l'acronimo di Reverse Polish Notation (notazione polacca inversa). La
notazione polacca inversa è stata sviluppata nel 1920 da Jan Lukasiewicz come un modo
per scrivere un'espressione matematica senza usare parentesi. Hewlett-Packard Co. ha
ritenuto che il metodo di Lukasiewicz fosse superiore alle espressioni algebriche standard(1)
nell'uso di calcolatrici e computer, e ha adottato la notazione polacca per la sua prima
calcolatrice scientifica tascabile, la hp35, nel 1972.

Perché usare RPN?

      • RPN permette di risparmiare tempo e immissioni di dati. Non occorre usare le
parentesi per effettuare i calcoli. Il processo è simile al modo in cui si è appresa la
matematica su carta.
      • Si possono vedere i risultati intermedi mentre si eseguono i calcoli anziché avere
solo la risposta finale al termine. Si tratta di una funzione estremamente utile. Gli insegnanti
di matematica la utilizzano per migliorare la comprensione della matematica dei loro
studenti.
      • Un risultato intermedio consente di controllare i risultati e di correggere gli errori più
facilmente. Risulta così più semplice seguire il corso del calcolo. L'utilizzatore definisce la
priorità degli operatori.
      • RPN è logico perché l'utilizzatore prima immette il numero e poi stabilisce cosa
farne.

HP Fornisce la piena funzionalità RPN

Hewlett-Packard produce alcuni modelli di calcolatrici con RPN perché si tratta di un metodo
di calcolo estremamente potente e semplice. Le calcolatrici scientifiche HP 48G+ e HP
48GX e la calcolatrice finanziaria hp12C usano esclusivamente RPN. HP sa bene comunque
che vi sono clienti che preferiscono il modo di immissione algebrico tradizionale. Ecco
perché alcune calcolatrici HP funzionano con i due sistemi, RPN e algebrico. Ad esempio, la
17BII e la 49G possono passare da una modalità all'altra.

RPN è coerente nell'uso. Gran parte delle calcolatrici scientifiche non-RPN sono metà RPN
e metà algebriche. Ad esempio, per eseguire la somma, è necessario immettere 2+4
(sistema algebrico), ma per effettuare un calcolo del seno, occorre prima digitare il numero e
poi premere il pulsante SIN, il che corrisponde appunto al metodo RPN per immettere
l'equazione. Le calcolatrici scientifiche RPN HP non presentano questa peculiare differenza.

Imparare l'RPN è facile

Che lo si creda o meno, l'apprendimento della notazione polacca inversa è analogo a quello
della matematica. A ben pensarci, per usare una calcolatrice in modo algebrico bisogna
cambiare il modo in cui si è imparata la matematica.

Facciamo un esempio:
          3+5
---
7+6

oppure (3+5) ÷ (7+6) = x


Metodo algebrico: Sommare 3+5=8. Annotare la risposta o memorizzarla. Sommare
7+6=13. Ora digitare l'8 dell'operazione precedente e quindi dividerlo per il secondo risultato
così da ottenere x=0,62.




 Capitolo I –Numerare contare calcolare
                                                                                              27
Le origini dell’informatica

Metodo RPN: Premere 3 e il tasto ENTER. Premere 5 e il tasto +. Premere 7 e il tasto
ENTER. Premere 6 e il tasto +. Viene visualizzato il risultato della seconda somma. Ecco ora
la parte sorprendente: premere il tasto di divisione e la calcolatrice fornisce il risultato: 0,62.

Metodo algebrico: 13 tasti, senza contare lo sforzo per annotare o memorizzare il primo
risultato mentre si calcola il secondo.

Metodo RPN: 9 tasti e nessun bisogno di prendere appunti.

 Come                      funzionano             le               calcolatrici                 RPN

RPN tiene traccia dei calcoli ponendoli in uno stack(2). Nell'esempio precedente, quando si
è premuto ENTER per la seconda volta, il risultato della prima somma è stato inserito(3)
nello stack in attesa dell'azione successiva. Dopo aver immesso la seconda somma,
premendo il tasto di divisione, il risultato della prima somma viene diviso per il risultato della
seconda e l'ultimo risultato in ordine di tempo viene rimosso(4) dallo stack. In altre parole, il
metodo RPN ha eseguito il calcolo in un ordine logico.

Per imparare a usare una calcolatrice RPN sono necessari solo pochi minuti, dopo di che è
possibile risparmiare una considerevole quantità di tempo. Ecco un esempio pratico e
comune di uso del metodo RPN.
      Operazione:                      Saldo:          Operazione RPN:             Stack RPN:

                                $252               252 ENTER                $252
Spesa €23                       229                23 -                     229
Deposito 30                     259                30 +                     259
Spesa 21                        238                21 -                     238
Spesa 43                        195                43 -                     195
Spesa 21                        174                21 -                     174
Controllo pagamento:            574                400 +                    574
400
Spesa 35                        539                35 -                     539
Spesa 74                        465                74 -                     465
Spesa 26                        439                26 -                     26
Spesa 100                       339                100 -                    339
Spesa 10                        329                10 -                     329


 Vuoi sperimentare l’utilizzo di una delle prime calcolatrici HP in notazione RPN, collegati al
 sito http://www.hpmuseum.org/simulate/hp35sim/hp35sim.htm



(1) Modo algebrico: definizione della notazione matematica utilizzata su tutte le calcolatrici
non-RPN quando si immette un'equazione matematica nel seguente modo: 1+3*(3+(2-5)/3).
In modo algebrico le parentesi e l'ordine delle operazioni sono estremamente importanti.

(2) Stack: detto anche LIFO (last-in, first-out), costituisce la base del sistema RPN essendo
la 'memoria' che consente all'utilizzatore di immettere i numeri




 Capitolo I –Numerare contare calcolare
                                                                                                28
Le origini dell’informatica

(3) Inserimento: l'aggiunta di un numero alla fine dello stack che spinge tutti gli altri numeri
verso l'alto.

(1) Rimozione: l'eliminazione dell'ultimo numero inserito in uno stack.




 Capitolo I –Numerare contare calcolare
                                                                                            29
Le origini dell’informatica




    Riferimenti capitolo 1




    [1] Michael R. Williams A HISTORY OF COMPUTING TECHNOLOGY –
    IEEE COMPUTER SOCIETY 1996
    Capitoli 1 e 2

    [2] Nathan Altshiller Court -Mathematics in the History of Civilization –
       A.B. Arndt - Al Kwartizmi
            in From Five fingers to Infinity – Open Court

    [3] Ettore Picutti -Leonardo Fibonacci – Le Scienze Aprile 1982

    [4] L.E. Sigler – Fibonacci’s Liber Abaci , A translation into Modern English
    of Leonardo Pisano’s Book of alculation – Springer Verlag New York - 2002 –
    www.verlag-ny.com


    Siti INTERNET


    http://www.hpmuseum.org/
.




    Capitolo I –Numerare contare calcolare
                                                                                30
2 Macchine per calcolare



    I

        moderni elaboratori traggono le origini dalle macchine
       meccaniche sviluppate a partire dal 1600 per
       automatizzare le quattro operazioni aritmetiche. Le
       difficoltà incontrate dai primi pionieri furono enormi,
       poiché oltre allo sviluppo teorico dei meccanismi, le Fig. 10 Blaise Pascal
       rudimentali     tecnologie    meccaniche      dell’epoca
       comportarono enormi problemi per la realizzazione
       pratica delle opere ideate. Le prime idee si mossero dall’utilizzo di una
       rappresentazione delle cifre decimali baste su ruote dentate con una posizione
       di riferimento. Per sommare il contenuto di due ruote, si faceva girare una
       terza ruota prima di un numero di scatti pari alla prima e poi pari alla seconda.
                                       Il problema maggiore da risolvere era quello
                                       della generazione dei riporti. Comunque le
                                       macchine di quest’epoca si possono ricondurre
                                       a sistemi basati su sei componenti
                                       fondamentali:
                                       Un meccanismo che oggi definiremmo di
                                       ingresso, che permettesse di caricare i numeri
                                       da elaborare.
                                       Un meccanismo di selezione che determinasse
                                       i movimenti da eseguire nel caso di
                                       un’addizione o di una sottrazione.
                                       Un meccanismo in gradi di registrare un
                                       numero all’interno della macchina.
Fig. 9 La pascalina                    Un meccanismo di riporto, in grado di
                                       assicurare, nel caso il risultato di una somma
                                       fosse maggiore di 9, il riporto di una unità
       sulla ruota successiva.
Le origini dell’informatica


Un meccanismo di controllo in grado di impostare una posizione iniziale per
tutte le ruote.
Un meccanismo per cancellare il numero memorizzato nella macchina.
In merito ai primi lavori in questo campo, sebbene alcune leggende accreditino
al monaco Gerbert che divenne papa con il nome di Silvestro II, come il primo
a sviluppare un congegno per il calcolo automatico, la prima macchina di cui si
abbia notizie storiche certe, è quella sviluppata da Wihelm Schikard ( 1592 –
1635 ). Personaggio dai molteplici interessi, paragonato spesso per il suo
eclettismo a Leonardo da Vinci, scienziato, inventore e pittore, si trovò a
collaborare in diverse occasioni con Keplero. Della sua macchina per calcolare
non sono rimaste tracce, probabilmente anche perché tutta la famiglia si estinse
durante una delle periodiche epidemie che travagliarono l’Europa. In base alle
informazioni disponibili nel 1971 si è costruita una replica della macchina.


2.1 La macchina di Pascal

Ma il contributo più noto venne da Blaise Pascal ( 1623 – 1662 ), la sua
macchina si basava su principi completamente differenti da quelli di Schickard,
di cui non si ritiene avesse notizia. Nato nel sud della Francia, da famiglia
nobile, Pascal fu educato in famiglia, principalmente da parte del padre
potendo contare su una vasta biblioteca. A seguito di un tracollo economico
dovuto ad una forte diminuzione sugli interessi del
debito pubblico a seguito della guerra dei Differenze con i complementi
trent’anni, il padre cadde in disgrazia e vene anche Sottrarre 34 a 87
imprigionato. Riabilitato, anche a seguito delle 87 -
perorazioni dei figli, gli venne assegnato l’incarico 38
di esattore delle tasse nel nord della Normandia, ______ 49
incarico non certo molto popolare ma che
                                                         complemento a 99 di 38 = 61
consentiva alla famiglia un certo agio. Fu proprio a
seguito di tale incarico e dei laboriosi conti 87 +
                                                         61+
giornalieri necessari alla tenuta dei registri che         1
Pascal progettò e costruì la sua macchina da ______
                                                         149
calcolo. La prima macchina venne costruita nel
1642, ma si ritiene che nel corso della sua vita ne Non considerando il riporto si ottiene il
                                                         medesimo risultato. Certo eseguire il
costruì in totale cinquanta esemplari . I numeri complemento a 99 è sempre una
venivano inseriti mediante una serie di ruote forate sottrazione, ma si può fare senza
                                                         riporti
per mezzo di un perno un sistema simile ai selettori
decadici dei telefoni. I risultati venivano riportati in
una serie di finestrelle nella parte superiore della
macchina. Le ruote potevano muoversi solo in una direzione, di conseguenza si
potevano eseguire solo operazioni di somma, le sottrazioni venivano eseguite
utilizzando il complemento a nove del numero da sottrarre il meccanismo del
riporto è molto simile a quello di Schickard e si basa sull’utilizzo di una ruota
con un solo dente accoppiata a quella per rappresentare il numero e che, solo



Capitolo IV – I primi elaboratori

                                                                                     32
Le origini dell’informatica


 dopo una rotazione completa, causasse la rotazione di uno scatto di quella
 successiva. Il problema maggiore consisteva nel fatto che nel caso un riporto
 generasse a sua volta un riporto e così via in catena, le forze necessarie da
 applicare per ottenere la generazione di tutti questi valori poteva
 compromettere i delicati meccanismi della macchina. I problemi maggiori che
 Pascal dovette affrontare per la costruzione delle sue macchine non furono
 tanto legati alla soluzione dei problemi teorici quanto alla loro realizzazione
 pratica. Per tali motivi, dopo alcuni deludenti risultati, si cimentò direttamente
 nella realizzazione pratica sperimentando diversi materiali per la costruzione
 degli ingranaggi, tra cui anche l’avorio. La vita di Pascal non fu certo felice,
 travagliato oltre che dalle difficoltà economiche anche da disturbi fisici molto
 forti, dovuti a malformazioni degli organi interni e del cervello, morirà in
 completa povertà, forse proprio ad una vita così travagliata va ricondotto il suo
 grande contributo filosofico e matematico. Il rifugiarsi in tali attività gli era
 forse unico sollievo ai tanti dolori e dispiaceri.

2.2 Leibnitz, un meccanismo per moltiplicare
        Un ulteriore contributo venne dal matematico tedesco Wihelm Leibnitz (
 1646 – 1716 ). Anche per lui educazione in famiglia resa possibile dalla
 disponibilità di una vasta biblioteca dove, dopo la morte del padre a soli sei
 anni, potrà liberamente formarsi. Certamente venne a conoscenza della
 macchina di PASCAL ma non ci è noto se ebbe la ossibilità di
 vederla funzionare. L’innovazione introdotta era la capacità di
 eseguire le moltiplicazioni. Per tale operazione era disponibile
 un congegno che, operando su una struttura di base simile a
 quella di Pascal, poteva essere accoppaiato a due ingranaggi
 per eseguire la moltiplicazione delle due cifre rappresentate.
 Come si può notare nell’illustrazione, il congegno poteva
 muoversi ( la parte circolare ) per venire accoppiata a qualsiasi
                                         coppia di ruote. Il
                                         meccanismo si basava
                                                                    Fig.12 Gottfried W.
                                         su di un cilindro con
                                                                   Leibnitz 1646 - 1716
                                         scanalature            di
                                         lunghezza
                                         proporzionale alle nove
                                         cifre.
                                          Questo meccanismo venne ripreso
                                         anche da altre macchine successive.
                                         Citiamo tra i maggiori tentativi di
                                         miglioramento di macchine basate su
    Fig.11 La macchina di Lebnitz        questo principio quelle realizzate da
                                         Samuel Morland,Renè Grillet e tutte le
                                         macchine commerciali prodotte a partire
 dal 1820, che portarono alle calcolatri meccaniche da tavolo in uso fino agli
 anni’70. Da questo ramo evolutivo si stacca una nuova tipologia di macchine,



 Capitolo IV – I primi elaboratori

                                                                                 33
Le origini dell’informatica


   si comincia a pensare di costruire macchine che non solo sappiano fare i calcoli
   ma che possano essere utilizzate a scopo generale, ma vediamo prima quale fu
   la necessità che spinse a questa evoluzione.




 2.3 Il problema della longitudine e della latitudine

    Nel secolo XIX l’aumento dei traffici mercantili comporta che per la principale
    potenza marittima del tempo, la Gran Bretagna, la questione della sicurezza in
    mare diventa di primaria importanza. A tale scopo assumeva particolare
                             importanza poter stabilire con precisione la posizione
                             di una nave in mare. Se nel Mediterraneo era possibile
                             effettuare una navigazione prevalentemente costiera
                             questo non era possibile sugli oceani. Si disponeva già
                             di carte nautiche abbastanza dettagliate ma a nulla
                             potevano servire senza la possibilità di conoscere la
                             propria posizione. Per determinarla occorre conoscere
                             due angoli rispetto al sistema
                             di coordinate sferiche, la
                             longitudine e la latitudine. Per
                             il primo la determinazione si
Fig 13 .Jhon Harrison
1693 - 1776, ritratto con il
                             basa sulla misura della
cronometro H3.               differenza     fra    i    valori
                             simultanei del tempo locale t
    di un astro e del tempo dello stesso astro rispetto ad un
    meridiano di riferimento. Occorre quindi poter disporre
    del tempo rispetto al meridiano di riferimento. Non
    potendo disporre di uno strumento accurato a tale
                                                               Fig.14 H1 , presentato nel 1736 al
    scopo nel corso dei secoli si svilupparono diversi Board of Longitude
    metodi per raggiungere lo scopo. Tra tutti merita di
    essere citato quello dovuto a Galileo Galilei ( 1564 –
    1642 ). A seguito della sua scoperta delle lune di Giove nel 1610. Le quattro
    lune battezzate Astri Medicei ruotano attorno al pianeta con tale rapidità da



   Capitolo IV – I primi elaboratori

                                                                                         34
Le origini dell’informatica


dare luogo ad eclissi che potevano essere utilizzate per il calcolo della
latitudine. Si possono utilizzare due eclissi nel corso di una notte e su questa
base Galileo produsse delle tabelle che consentivano di ricavare la longitudine.
Naturalmente restava la difficoltà di procedere all’osservazione delle eclissi
delle lune di Giove dal ponte di una nave a vela nel mezzo dell’oceano.
Naturalmente il punto nave e di maggiore importanza in mezzo a una tempesta
e con il mare molto mosso. La vera soluzione rimaneva la costruzione di un
orologio che consentisse di mantenere il tempo con un errore molto basso. Un
secondo d’arco corrisponde sulla sfera terrestre ad un miglio marino. L’uso di
orologi a bordo delle navi risale al XVI secolo ma la precisione era del tutto
insufficiente. Per tale motivo il parlamento inglese nel 1714 , su proposta del
matematico W. Whiston e con il consenso della regina Anna approvò il
Longitude Act con lo stanziamento di un premio di 10.000 , 15.000 o 20.000
sterline (si stima equivalenti a 12 milioni di Euro attuali ) a chi avesse
determinato la longitudine rispettivamente con la precisione di 1°, 0°,75 e di
0°,50 . Tra le motivazioni che portarono a tale decisione vi fu l’ennesimo
sinistro navale, la flotta da guerra inglese perse otto navi con 900 uomini
presso la foce del fiume S.Lorenzo, le somme promesse, da capogiro per
l’epoca, esprime in modo eloquente lo smarrimento
dell’intera nazione di fronte alla mancanza di metodi
sicuri per poter evitare tali disastri. La soluzione arrivò
con Jhon Harrison, un geniale meccanico che nel 1736
presentò il suo primo modello di orologio denominato
H1 al Board of Longitude, la commissione designata
dal parlamento per valutare l’assegnazione del premio.
L’ingegnosa costruzione prevedeva un orologio quasi
del tutto privo di attrito , in gradi di mantenere le parti
mobili in reciproco equilibrio senza l’effetto del moto
ondoso.       Lo stesso anno la regia nave Centurion
sperimentò l’utilizzo dell’H1 in un viaggio tra Londra e
                                                              Fig.15 H3 , il primo cronografo
Lisbona. L’orologio perse solo un secondo nelle 24 ore. marino, che permise ad Harrison di
Cionondimeno la commissione decise solo di ricevere il premio di 20.000 sterline.
concedere 500 sterline per studiare successivi
affinamenti non ritenendo l’orologio sufficientemente
corrispondente alle richieste del Longitude Act. Occorsero 40 anni perché,
finalmente, Harrison potesse incassare la meritata ricompensa, dopo il
definitivo collaudo effettuato dal capitano James Cook nel suo secondo viaggio
con la Resolution nel 1772. I membri della commissione osteggiarono in ogni
modo Harrison, convinti sostenitori che la soluzione del problema della
longitudine potesse venire solo da metodi astronomici. Incidentalmente vale
la pena di ricordare che da solo H3 e il successivo H4, erano talmente
complessi da rendere improba l’impresa di riprodurli in serie.
Il Board iniziò allora a ricercare orologiai in grado di riprodurre, con la dovuta
precisione, il cronografo. Il primo a riuscire nell’impresa, ricompensato con un
premio di 500 sterline fu Larcum Kendal con il K1. Un ulteriore miglioramento
fu ricompensato con altre 200 sterline nel 1776 per il K2. Il K2 venne


Capitolo IV – I primi elaboratori

                                                                                   35
Le origini dell’informatica


imbarcato sul H.M.S Bounty al comando del capitano William Bligh. Nel
celebre ammutinamento nel 1789 fu il K2 che consenti agli ammutinati, guidati
dal secondo ufficiale Fletcher Christian, di rifugiarsi nell’isola di Pitcarin.
Perché una nuova tecnologia possa effettivamente avere ripercussioni sulla
società deve essere riproducibile in modo semplice e ampliamente disponibile.
Nel 1860 la Royal Navy disponeva di più di 200 navi presenti su tutti i sette
mari e possedeva più di 800 cronografi.

Risolto il problema di come calcolare la longitudine rimaneva però quello della
latitudine. Fin dai tempi più antichi l’uomo si è orientato sul mare seguendo le
stelle, la testimonianza più antica la troviamo nell’Odissea. Nota l’altezza
sull’orizzonte di un corpo celeste, sapendo quale è la posizione del corpo
celeste sulla sfera celeste è possibile risalire alla latitudine dell’osservatore
sulla terra. A causa del movimento della terra attorno al sole e dell’intero
sistema solare nella nostra galassia , tale posizione varia di anno in anno.
Occorre pertanto fornire ai naviganti delle tavole che mappino i principali
corpi celesti alle varie latitudini. Tali tavole, denominate Effemeridi Nautiche,
vanno prodotte a cadenza annuale e, possibilmente, non devono contenere
errori.
Vi era pertanto un grande interesse per un sistema di calcolo che consentisse di
ricavare tali dati in modo automatico, veloce e sicuro. Il parlamento inglese
avrebbe volentieri speso una somma uguale al premio conferito ad Harrison per
tale scopo.




Capitolo IV – I primi elaboratori

                                                                             36
Le origini dell’informatica




2.4 Il grande precursore


 I considered that a machine to execute the more isolated operations of
 arithmetic, would be comparatively of little value, unless it where very easily
 set to do is work, and unless it executed not only accurately, but with great,
 rapidity, whatever it was required to do.

 (Charles Babbage, Passage from the life of a Philosopher)

 Se già da due secoli si erano sviluppate macchine
 meccaniche per eseguire calcoli, non si può certo
 dire fossero molto funzionali e le capacità di gestire
 numeri elevati erano molto limitate. In questo
 quadro s'inserisce il pensiero e l'opera di Charles
 Babbage, matematico, scienziato, inventore o,
 come lui stesso si definì nella sua autobiografia,
 filosofo. Rivestì a Cambridge lo stesso prestigioso
 incarico che già fu di Isac Newton, la cattedra
 lucasiana. Già in quest'incarico dimostro le sue
 capacità innovative e lo spirito di precursore,           Fig. 16 Charles Babbage 1791-1875
 portando nel mondo statico e immutabile
 dell'università, che ancora poneva al centro delle
 proprie attenzioni le idee di Newton, la ventata di innovazione che proveniva                 Babbage, il primo a
 dal continente dove si stavano ponendo i fondamenti del calcolo differenziale                 concepire una
                                                                                               macchina
 ed infinitesimale. Si occupò di ricerca operativa e della costruzione delle                   programmabile
 prime ferrovie, spaziò in tutti i campi della scienza ottocentesca.Ma tra tutti gli
 interessi quello che caratterizzò la vita di quest'uomo straordinario fu quello
 delle macchine per il calcolo automatico. Sulla base del fatto che lo sviluppo in
 serie di potenze può approssimare qualsiasi funzione continua ed utilizzando
 un metodo particolare noto come metodo alle differenze, progettò una
 macchina completamente meccanica, che, rappresentando le informazioni per
 mezzo di ruote dentate a dieci posizioni (sistema decimale), era in grado di
 svolgere operazioni in virgola mobile di numeri fino a 60 cifre. La soluzione
 più ingegnosa introdotta fu il meccanismo per il riporto, che anziché eseguire i
 singoli riporti effettuava un'unica operazione alla fine delle somme parziali per
 mezzo di un congegno a orologeria. La macchina destò un enorme interesse,
 infatti in piena rivoluzione industriale tutti i campi della tecnica risentivano
 pesantemente della mancanza di metodi per il calcolo automatico. La necessità
 di effettuare grandi moli di calcoli manualmente introduceva infatti la
 possibilità di errori di calcolo molto frequenti. Babbage era solito vantarsi del
 fatto che la sua macchina avrebbe potuto o non riuscire o dare un dato esatto,



 Capitolo IV – I primi elaboratori

                                                                                       37
Le origini dell’informatica


senza possibilità di ambiguità. Quello che ci si proponeva non era di costruire
una macchina da replicare in grande serie e da porre al servizio dell’utente, ci
si accontentava di produrne una sola da destinare alla produzione di tavole,
logaritmiche , trigonometriche , per calcolare i tassi di ammortamento dei
mutui o le già citate Effemeridi Nautiche. Le tavole dovevano essere calcolate
con metodi manuali ed il lavoro necessario era enorme. In Francia, dopo la
rivoluzione e l’introduzione del sistema metrico decimale si rese necessario
predisporre nuove tavole in ogni campo. A tale scopo il direttorio radunò i
migliori matematici di Francia, che a loro volta dovettero utilizzare più di
cento persone per il lavoro di calcolo. Normalmente la biblioteca di un tecnico
poteva contenere un centinaio di volumi di tavole. Quella di Babbage ne
contava più di trecento. Il lavoro manuale comportava inevitabilmente errori in
ogni fase della produzione delle tavole compresa quella di stampa. Non era
raro assistere che a seguito della
pubblicazione di un volume seguisse a
breve quella dell’errata corrige, seguita da
una errata corrige delle prima errata ed
una seconda errata dell’errata. La sola
soluzione      al    problema      era    la
meccanizzazione dell’intero processo. Lo
stesso Babbage pubblicò attorno al 1820
una raccolta di tavole logaritmiche e
l’esperienza lo incitò all’ideazione di una
tale macchina.
La costruzione della macchina alle
differenze fallì miseramente, l'elevato
numero dei componenti da realizzare
(20.000) l'alta precisione richiesta e la
disponibilità di macchine utensili Fig. 17 La sezione costruita a scopo
rudimentali vinsero alla fine la tenacia dimostrativo da Clement della macchina alle
dell'autore. Certo tale insuccesso ebbe differenze
tra le cause il carattere irruente di
Babbage e i continui conflitti con il capo
meccanico Clement. A seguito di quest'episodio nella storia della scienza la
figura di Babbage fu indissolubilmente legata all'incompiutezza del suo
progetto, e rimase il dubbio se effettivamente la macchina fosse realizzabile o
le idee di base fossero realizzabili.
 Per sciogliere tale dubbio, alcuni ricercatori del museo della scienza e della
tecnica di Londra hanno provato a realizzare, per il centenario della nascita di
Babbage la seconda macchina alle differenze, sponsorizzati da diverse ditte
produttrici di elaboratori. La macchina, in ottone, è stata realizzata e funziona
perfettamente, pesa diverse tonnellate e consente di effettuare operazioni in
virgola mobile con numeri fino a 36 cifre. Questo ha quindi dimostrato la
validità delle idee di Babbage.
 Il fallimento della realizzazione della macchina alle differenze condizionò
pesantemente la vita di Babbage, ma non ne fermò la furia creativa. Dopo


Capitolo IV – I primi elaboratori

                                                                                38
Le origini dell’informatica


 pochi anni cominciò a lavorare ad un nuovo progetto che denominò macchina
 analitica, che doveva essere una macchina di uso generale, in grado cioè di
 eseguire una sequenza di operazioni base che di volta in volta venivano fornite
 dall’esterno mediante schede perforate, come già si faceva per i telai di
 Jacquard. La macchina era divisa in sezioni, una per acquisire dati e istruzioni,
 una per eseguirle ed una per stampare i risultati. E' in questo progetto che oggi
 si riconosce a Babbage il ruolo di grande precursore nello sviluppo
 dell'elaboratore.


2.5 La costruzione della prima macchina alle differenze

 L’avventura inizia nel Luglio del 1823 quando il Lord Cancelliere dello
 Scacchiere accorda un anticipo di 1.500 Sterline, dopo che il Consiglio della
 Royal Science Society si era espresso favorevolmente sulla validità del
 progetto proposto. Una cifra tra 3.000 e 5000 Sterline venne messa a
 disposizione dello stesso Babbage,
 che contava in un rimborso da parte
 del Governo una volta completata
 l’opera. Fu subito chiaro dopo la
 costruzione     di     una     sezione
 funzionante della macchina a scopo
 dimostrativo che per la effettiva
 realizzazione dell’opera si sarebbe
 dovuto migliorare le tecniche
 all’epoca disponibili. Cosa che
 abbiamo già visto accadde anche a
 Pascal. Babbage fu fortunato nel
 trovare come capo meccanico
 Samuel Clement , senza dubbio uno
 dei più esperti meccanici dell’epoca.
 Gli anni che seguirono furono Fig. 18 Una leva per il riporto, sullo sfondo il disegno del
 segnati dall’intensa collaborazione pezzo tratto dalle tavole originali.
 tra i due che portò alla definizione di
 nuovi strumenti ed utensili che spesso venivano utilizzati per produrre a loro
 volta utensili ancora più perfezionati. Una schiera di tecnici si formò sotto la
 direzione di Clement e furono in seguito disseminati nelle officine di tutto il
 paese. Lo sforzo profuso fu tale che possiamo oggi ben dire ben spesi i soldi
 investiti del governo per il solo ritorno di miglioramento tecnico indotto nel
 paese. Si può paragonare la portata del progetto a quella del più recente
 progetto Apollo. Dopo quattro anni di intenso lavoro Bababge venne colpito in
 un breve lasso di tempo da una serie di sciagure famigliari. Perse in poco
 tempo la moglie, il figlio più giovane ed il padre. Nel Ottobre del 1827 si
 manifestarono parecchi problemi di salute e i medici gli consigliarono un
 soggiorno nel clima caldo dell’Italia. In tale periodo ebbe occasione di



 Capitolo IV – I primi elaboratori

                                                                                      39
Le origini dell’informatica


riordinare i propri conti e di scoprire di essere già alla cifra di 3.475 sterline
spese. Richiese nuovamente l’intervento del Lord Cancelliere e dopo
perorazioni di numerosi amici, tra i quali il Duca di Edimburgo, gli venne
concesso un ulteriore finanziamento di 3.000 Sterline . Negli anni seguenti il
reperimento degli ulteriori fondi divenne via via più difficoltoso. Questo
comportava lunghi periodi di inattività durante i quali il personale assunto e
istruito finiva con l’allontanarsi. Alla ripresa dei lavori si doveva assumere
nuovo personale e procedere alla formazione. Durante uno di questi periodi
Babbage pensò di costruire un nuovo edificio a fianco della propria abitazione
per ospitare la macchina una volta completata, che al momento era in
costruzione presso il laboratorio di Clement. Da questo nacque una disputa con
il medesimo che lavorando anche per altri clienti, non voleva il trasferimento di
tutta l’officina nel nuovo edificio. La disputa portò alla rottura del sodalizio tra
i due, fatto deleterio per il progetto anche perché per la legge inglese a seguito
della risoluzione del contratto tutti gli strumenti sviluppati rimasero proprietà
di Clement. Durante i lunghi periodi di inattività Babbage dopo l’esperienza
già maturata ideò una nuova macchina di concezione molto più avanzata e
comunicò al governo che secondo la sua opinione la costruzione della nuova
macchina sarebbe stata di gran lunga più conveniente rispetto al
completamento di quella in costruzione. Per il Governo dopo le ingenti somme
spese fu una vera doccia fredda. Vi fu una vivace seduta del parlamento dove
un deputato dell’opposizione propose ironicamente di richiedere a Babbage se
con la parte già costruita della macchina fosse in grado di calcolare quanto
sarebbe costato completarla. Il 3 Novembre 1842 il Primo Ministro comunicò
ufficialmente a Babbage che il governo non era più intenzionato a finanziare il
progetto. Il Governo aveva contributo con un totale di 17.000 Sterline.



2.6 La ricostruzione della                        seconda                macchina                alle
    differenze di Babbage

La risoluzione del dilemma sulla effettiva possibilità che le macchine di
Babbage             potessero
funzionare si è avuta solo nel
1991, in contemporanea con
il bicentenario della nascita
di Babbage. Il progetto è
stato sviluppato al Science
Museum        di      Londra,
basandosi      sui    progetti
originali e sui quaderni di
appunti dell’autore. Durante
la     costruzione       della
macchina, che pur con

                                    Fig. 19 Il metodo alle differenze. La serie delle terze differenze assume un valore
                                    costante. Sulla base di questa osservazione si può costruire la serie con solo
                                    operazioni di somma.
Capitolo IV – I primi elaboratori

                                                                                                    40
Le origini dell’informatica


 l’impiego dell’attuale tecnologia ha richiesto due anni di lavoro si sono
 evidenziati alcuni errori di progetto, ma essenzialmente la macchina risulta
 corretta e come già detto perfettamente funzionante.
 Non è stata costruita la stampante che da sola presenta già una notevole
 complessità. Anche senza tale meccanismo, comunque la macchina pesa tre
 tonnellate. Cosa interessante della ricostruzione è che nella costruzione dei
 4000 diversi tipi di pezzi necessari, pur utilizzando tecniche a volte diverse
 rispetto a quelle disponibili all’epoca si è sempre rispettata la precisione
 all’epoca disponibile, smentendo così l’idea che il progetto non venne
 realizzato per problemi inerenti l’impossibilità di conseguire la
 necessaria precisione.
 Il vero ostacolo fu solo, per l’epoca, l’enorme complessità. La
 macchina ricostruita è la seconda macchina alle differenze,
 così chiamata in quanto si basava sul metodo alle differenze
 finite illustrato nella figura . Il ruolo della stampante era
 importante in quanto nelle intenzioni dell’autore avrebbe
 dovuto produrre direttamente su lastre in alluminio la matrice
 per la stampa evitando in tale modo l’introduzione di errori
 tipografici nella composizione dei caratteri di stampa,
                                                                   Fig.27 L’unica parte
 purtroppo molto frequenti con la predisposizione manuale.
                                                                           costruita della macchina
                                                                           analitica, il mulino. Venne
                                                                           costruita da parte del figlio
2.7 La macchina analitica di Babbage                                       Maggiore Henry P.
                                                                           Babbage con l’aiuto di

 Il più grande contributo dato da Babbage, anche se solo R.W.Monroe. Fu
                                                                        completata nel 1906 e
 concettuale, non fu però la macchina alle differenze.                  venne utilizzata per
  Appare quasi incredibile oggi riscontrare come un uomo solo calcolare i primi 25
 potesse aver concepito un progetto talmente complesso e le cui multipli di π con una
 basi sono ancora oggi utilizzate nei moderni elaboratori. Le precisione di 29 cifre.
 macchine alle differenze erano infatti macchine mono scopo
 che potevano essere utilizzate solo per il calcolo polinomiale.
 L’idea alla base della macchina alle differenze è quella di una
 macchina di uso generale e programmabile dall’esterno mediante schede
 perforate. Questo naturalmente rivoluziona il concetto di macchina anche se
 nelle idea di Babbage il programma veniva acquisito dall’esterno. Anche se
 con tali limiti, comunque si comincia a riflettere sulle possibilità
 offerte da questo tipo di approccio, in particolare la possibilità di iterare una
 serie di istruzioni per un certo numero di cicli, o di scegliere tra diversi
 percorsi in base al valore di una variabile. Il concetto di ciclo e di selezione.

 Rotto il sodalizio con Clement Babbage si trovò a riflettere sul sistema della
 macchina alle differenza e concepì una nuova organizzazione
 della macchina nella quale le barre con i risultati potevano
 riportare il risultato per essere riutilizzato in calcoli successivi. Per
 ottenere questo pensò di organizzare i registri in forma circolare.



 Capitolo IV – I primi elaboratori

                                                                                         41


                                                                                Fig.20 Charles Babbage
Le origini dell’informatica


Questo lo portò a pensare che ogni barra potesse essere equivalente
nell’utilizzo, un luogo dove memorizzare temporaneamente un valore da poter
utilizzare successivamente. Un registro . Nel maggio 1835 in una lettera a Mr.
Quetelet scriveva :

“… for six months been engaged in making the drawings of a new
calculating engine of fa greater power than the first. I am myself astonished
at the power I have been enabled to give to this machine; a year ago I should
bot have belived this result possible.”

Il fatto che Babbage non fosse intenzionato a tentare la costruzione della
macchina analitica fece si che non predispose dei progetti dettagliati ma
continuò a lavorare al progetto fino alla morte. Comunque già nel 1840 le parti
principali erano definite. Nel disegno a lato , una vista dall’alto, si possono
vedere tutte le parti principali , ogni cerchio rappresenta una colonna di
ingranggi ( un registro ) , vi sono circa duecento colonne di ingranaggi anche
se la maggior parte ha lo scopo di meccanismi di controllo. La macchina è
composta da tre parti principali, il magazzino, il mulino e la barra di controllo.
 Il magazzino corrisponde alla memoria di lavoro (RAM) dei moderni
elaboratori, il mulino all’unità aritmetico logica e la barra di controllo
costituisce una rudimentale unità di micro controllo. Così come nella macchina
alle differenze ogni colonna di ingranaggi memorizzava un numero con la
posizione degli ingranaggi, ognuno dei quali poteva assumere dieci differenze
                                                    posizioni.     Nel      prospetto
                                                    possiamo      individuare     16
                                                    colonne, in ognuna delle quali
                                                    si possono immagazzinare due
                                                    numeri. I numeri potevano
                                                    essere trasferiti da e al mulino
                                                    mediante      la     catena    di
                                                    ingranaggi rappresentata dalla
                                                    lunga linea a destra e
                                                    contrassegnata con Rack.
                                                    Il mulino consiste in un
                                                    complicato        insieme      di
     Fig.21 La barra di controllo                   ingranaggi e di trasmissioni
                                                    distribuiti attorno al cerchio
centrale. Consiste in una serie di accumulatori (A e A’) e degli ingranaggi
associati utilizzati per i riporti da uno all’altro, un terzo accumulatore (“A”) è
collocato appena sotto. Veniva utilizzato come appoggio per le operazioni di
moltiplicazione e divisione. I nove piccoli assi ( da T1 a T9 ) collocati al
centro del mulino sono da utilizzare per le moltiplicazioni e per le divisioni.
Quando la macchina doveva moltiplicare x per y i nove multipli di x venivano
immagazzinati nei nove piccoli assi e questi prodotti parziali venivano aggiunti
al registro del risultato tante volte quanto y. Durante la moltiplicazione i due
accumulatori potevano essere collegati tra di loro per memorizzare il risultato.


Capitolo IV – I primi elaboratori

                                                                                 42
Le origini dell’informatica




Fig 22 . La macchina analitica vista dall’alto , dalle tavole originali di Babbage




    Le divisioni vengono eseguite in modo analogo. Le barre di controllo (
    contrassegnate con B ) realizzano le microistruzioni necessarie per eseguire
    una operazione.
    Come illustrato nel disegno seguente le barre possono muoversi avanti ed
    indietro ( nella parte di macchina contrassegnata Reducing Appr ) per
    agganciar o sganciare le leve e gli ingranaggi utilizzati per realizzare le diverse
    operazioni. Ogni barra di controllo è in grado non solo di immagazzinare le
    microistruzioni da eseguire ma anche l’indirizzo della prossima
    microistruzione . L’ultima struttura principale ( contrassegnata con Counting
    Apparatus ) è semplicemente un registro contatore , da utilizzare per
    conteggiare quante volte una operazione viene effettuata. Secondo Babbage la
    macchina avrebbe richiesto 2,5 secondi per trasferire un numero da un registro
    esterno ad un registro del mulino mentre addizionare un numero ad un registro
    già contenuto nel mulino 3 secondi.
     La realizzazione della macchina avrebbe rappresentato quindi un enorme
    avanzamento per le capacità di calcolo dell’epoca. Dopo più di cento anni il
    MARK1 realizzato da Haiken con componenti elettromeccanici sarà in grado
    di realizzare una addizione in 0,3 secondi. Una delle parti più difficile della
    macchina analitica è costituita dal meccanismo per controllare i riporti
    multipli, come quelli che si generano sommando 1 a 999.999.
     Il problema viene risolto con un meccanismo denominato riporto anticipato. Il
    riporto viene controllato da una serie di segmenti che vengono anticipatamente
    posizionati in corrispondenza delle ruote che memorizzano 9. Con l’operazione
    la forza applicata da un lato viene trasmessa solo fino a quando I segmenti
    sono presenti . La precisione necessaria per realizzare i singoli pezzi è inferiore



    Capitolo IV – I primi elaboratori

                                                                                     43
Le origini dell’informatica


  a 0,5 centesimi di millimetro, realizzabile ai tempi di Babbage ma con costi
  enormi.




Fig. xx Il mulino della macchina analitica, in costruzione al tempo della morte di Babbage.




  Capitolo IV – I primi elaboratori

                                                                                              44
Le origini dell’informatica




   2.8 Ada Lovelace e i primi programmi
       Come già detto Babbage non fornì progetti dettagliati della macchina analitica
       ma in occasione di un viaggio in Italia ebbe occasione di esporre il progetto ad
       un gruppo di matematici e ingegneri torinesi, tra cui L.F.Menabrea , che
                              diventerà successivamente anche capo del governo, e
                              che predispose un resoconto dell’esposizione. Una
                              collaboratrice ed amica di Babbage tradusse l’articolo
                              in inglese, Ada Augusta King, Contessa di Lovelace,
                              figlia del poeta Byron. Aggiunse anche commenti e
                              note per spiegare i dettagli di funzionamento della
                              macchina. Tra questi una dettagliata descrizione di
                              come la macchina doveva essere programmata,
                              utilizzando schede perforate, idea derivata dal telaio
                              automatico di Jacquard. Molto si è discusso sul ruolo
                              avuto da Ada, secondo alcuni fu la prima
                              programmatrice, avendo scritto autonomamente i
                              programmi a noi pervenuti, secondo altri non ebbe altro
Fig. 23 Ada Augusta           ruolo che quello di trascrivere gli appunti di Babbage.
Byron Contessa di             La verità ci viene fornita dallo stesso Babbage, in una
Lovelace 1815 - 1851          lettera definisce Ada la sua interprete. Non avendo il
                              tempo di predisporre rapporti dettagliati dei propri
       lavori, Ada provvedeva pazientemente al lavoro aggiungendo esemplificazioni
       e spiegazioni . Ada ebbe una educazione di prim’ordine, inusitata anche per
       una persona nobile dell’epoca e, soprattutto, per una donna.

    “ La caratteristica distintiva della macchina analitica è l’introduzione del
    principio ideato da Jacquard per realizzare, attraverso schede perforate, i
    disegni più complessi nella fabbricazione di stoffe broccate …. Possiamo
    effettivamente dire che la macchina analitica tesse disegni algebrici proprio
    come il telaio di Jacquard tesse fiori e foglie “

    ma rispetto all’alea di leggenda che circondava la macchina, che si sospettava
    potesse pensare come l’uomo Ada ridimensiona la cosa ,

    “La macchina analitica non ha alcuna pretesa di originare qualcosa, può
    fare qualsiasi cosa noi sappiamo come ordinarle di eseguire “

    Esaminiamo come negli appunti redatti da Ada la macchina avrebbe dovuto




    Capitolo IV – I primi elaboratori

                                                                                                             45


           Fig.24 Una scheda per programmare la macchina analitica , le schede erano unite tra loro con un
           corda, notare i commenti in alto.
Le origini dell’informatica


essere programmata. Facendo riferimento allo schema della macchina del
paragrafo precedente, le schede con le istruzioni per la macchina dovevano
essere raccolte in sequenza per costruire un programma. Il lettore delle schede
le leggeva una volta, una scheda poteva contenere una istruzione come ad
esempio V6 x V3, e in conseguenza la barra doveva eseguire la sequenza di
operazioni necessari per realizzare l’operazione.




Capitolo IV – I primi elaboratori

                                                                           46
Le origini dell’informatica




    Fig.25 Il programma predisposto da Ada Lovelace per il calcolo dei numeri di Bernoulli con la
    macchina analitica

Era possibile effettuare dei cicli con delle istruzioni del tipo, Se l’apparato di
controllo contiene un numero inferiore a N allora ritorna indietro nella
sequenza di schede di P posizioni.



Capitolo IV – I primi elaboratori

                                                                                                    47
Le origini dell’informatica


Un ciclo repeat until . Le schede erano però suddivise in lettori diverse, schede
con istruzioni di controllo, schede con indicazione dei registri coinvolti
nell’operazione, schede con costanti da acquisire dall’esterno. Questo avrebbe
permesso di creare cicli di operazioni da applicare a gruppi diversi di registri o
utilizzare costanti diverse nei medesimi calcoli.
Vediamo un esempio :

La macchina deve essere predisposta per eseguire l’operazione

                                            a(b+c)/(d-e)

Inizialmente i valori devono essere inseriti manualmente nei registri
A in V1
B in V2
C in V3
D in V4
E in V5

Indichiamo le schede con le direttive

N’      la macchina trasferisce il contenuto del mulino nel registro N
‘N      la macchina trasferisce il contenuto del registro N nel mulino

La sequenza di schede di controllo

‘2 , ’3 , 6’ , ’6 , ’1 , 7’ , ’4 , ’5 , 8’ , ’7 , ’8 , 9’

in combinazione con le schede delle operazioni

+,x ,-,/

comporterà l’esecuzione delle operazioni :

V2 + V3 = V6
V6 * V1 = V7
V4 - V5 = V8
V7 / V8 = V9

Quanto illustrato è un esempio molto semplice ma
ci sono pervenuti anche programmi molto più
complessi, tra cui uno per il calcolo dei numeri di
Bernoulli. Nella figura sono rappresentate le
istruzioni per il calcolo del quarto numero. Le
prime sei colonne rappresentano le operazioni, le
colonne rimanenti i contenuti dei registri. Ogni riga
                                                            Fig. 26 Charles Babbage ,
                                                            dagherrotipo

Capitolo IV – I primi elaboratori

                                                                                        48
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006
Introduzione all'informatica2006

Weitere ähnliche Inhalte

Ähnlich wie Introduzione all'informatica2006

Ähnlich wie Introduzione all'informatica2006 (18)

02 Le origini del calcolo digitale - 2
02 Le origini del calcolo digitale - 202 Le origini del calcolo digitale - 2
02 Le origini del calcolo digitale - 2
 
01 Le origini del calcolo digitale 1
01 Le origini del calcolo digitale 101 Le origini del calcolo digitale 1
01 Le origini del calcolo digitale 1
 
Storia dei simboli matematici
Storia dei simboli matematiciStoria dei simboli matematici
Storia dei simboli matematici
 
Storia della Programmazione
Storia della ProgrammazioneStoria della Programmazione
Storia della Programmazione
 
Il numerino v
Il numerino vIl numerino v
Il numerino v
 
Il numerino n
Il numerino nIl numerino n
Il numerino n
 
Master macchina
Master macchinaMaster macchina
Master macchina
 
La matematica nel Mediovevo
La matematica nel MediovevoLa matematica nel Mediovevo
La matematica nel Mediovevo
 
Tesi_Giorgio_Santini.pdf
Tesi_Giorgio_Santini.pdfTesi_Giorgio_Santini.pdf
Tesi_Giorgio_Santini.pdf
 
Lez 1 parte A - NUOVI MEDIA
Lez 1 parte A - NUOVI MEDIALez 1 parte A - NUOVI MEDIA
Lez 1 parte A - NUOVI MEDIA
 
BIT E QUBIT LORENZO MAZZOCCHETTI
BIT E QUBIT LORENZO MAZZOCCHETTIBIT E QUBIT LORENZO MAZZOCCHETTI
BIT E QUBIT LORENZO MAZZOCCHETTI
 
Il computer2
Il computer2Il computer2
Il computer2
 
Tempo e nello spacio
Tempo e nello spacioTempo e nello spacio
Tempo e nello spacio
 
Tempo e nello spazio
Tempo e nello spazioTempo e nello spazio
Tempo e nello spazio
 
Anticipatori, pionieri, biblioteche digitali
Anticipatori, pionieri, biblioteche digitaliAnticipatori, pionieri, biblioteche digitali
Anticipatori, pionieri, biblioteche digitali
 
Limite in Matematica - Festa Inquietudine 2010
Limite in Matematica - Festa Inquietudine 2010Limite in Matematica - Festa Inquietudine 2010
Limite in Matematica - Festa Inquietudine 2010
 
Tesina 2013-2014 Evoluzione della tecnologia e dell'informatica
Tesina 2013-2014 Evoluzione della tecnologia e dell'informaticaTesina 2013-2014 Evoluzione della tecnologia e dell'informatica
Tesina 2013-2014 Evoluzione della tecnologia e dell'informatica
 
Networks Reti
Networks RetiNetworks Reti
Networks Reti
 

Introduzione all'informatica2006

  • 1. Informatica , le origini e lo sviluppo Dalle schegge di selce alle schegge di silicio Flavio Lombella , 2006
  • 2. Introduzione Nel 1967 viene introdotto il termine informatica per designare una nuova disciplina che si occupa del trattamento automatico delle informazioni e che funge da supporto per tutte le discipline, consentendo di affrontare classi di problemi in precedenza preclusi dalla quantità di dati da trattare. Prima di allora si indicava genericamente con il termine cibernetica tutto quanto riguardasse gli elaboratori, materia vista molte volte con diffidenza in quanto si identificava la capacità di calcolare con quella più generale di pensare. Si pose il problema di determinare dei nuovi sistemi di codifica e quindi di studiare in modo approfondito le capacità dei codici, ma anche di introdurre dei linguaggi formali che consentano di migliorare il compito di predisporre i programmi per gli elaboratori. Se come disciplina scientifica l’informatica è una materia molto recente, le idee su cui si basa trovano origine molto più anticamente nella storia della matematica ed in particolare in quella del calcolo Per una materia dall’evoluzione talmente veloce da vedere nuovi strumenti e nuove tecnologie succedersi nel volgere di pochi anni è importante comprendere quali siano i concetti fondamentali. In questo ci può aiutare lo studio delle stesse origini dell’informatica. Cercheremo di ricostruire il filo conduttore che ha portato dalle prime capacità di numerare gli oggetti dei nostri antichi progenitori al moderno elaboratore elettronico, analizzando le interazioni con il progresso scientifico e, più in generale con lo sviluppo della società.
  • 3. Sommario 1 Numerare , contare , calcolare 5 1.1 Quanti 5 1.2 Registrare e rappresentare i numeri con un sistema 7 1.3 Il contributo del mondo Arabo 8 1.4 La rinascita e l’introduzione del sistema decimale 10 1.5 La lenta diffusione del nuovo sistema 13 1.6 Metodi e strumenti per calcolare 15 2 Macchine per calcolare 31 2.1 La macchina di Pascal 32 2.2 Leibnitz, un meccanismo per moltiplicare 33 2.3 Il problema della longitudine e della latitudine 34 2.4 Il grande precursore 37 2.5 La costruzione della prima macchina alle differenze 39 2.6 La ricostruzione della seconda macchina alle differenze di Babbage 40 2.7 La macchina analitica di Babbage 41 2.8 Ada Lovelace e i primi programmi 45 2.9 Macchine per gestire e organizzare le informazioni 49 2.10 L’eredità della macchina analitica 50 3 La rappresentazione delle informazioni 53 3.1 Il sistema binario 53 3.2 Algebra booleana 54 3.3 Binario, esadecimale, ottale 54 3.4 Misurare l’informazione 56 3.5 I multipli 58 3.6 Rappresentare i caratteri 59 4 I primi elaboratori 61
  • 4. 4.1 Le macchine di Zuse 61 4.2 Le macchine di Harward 63 4.3 L’avvento dell’elettronica 65 4.4 Il calcolatore di Atanasoff 65 4.5 Gli elaboratori elettronici : ENIAC 66 4.6 Un caso a parte, LEO 67 4.7 Von Neuman , la definizione della struttura logica dell’elaboratore 68 4.8 Le prime macchine prodotte in serie Errore. Il segnalibro non è definito. 5 La microelettronica e la nascita del Personal Computer 70 5.1 I minicalcolatori 70 5.2 Il microcalcolatore 72 5.3 L’elettronica dello stato solido 74 5.4 Il diodo a giunzione 76 5.5 Il tranistor BJT 78 5.6 I circuiti integrati 79 5.7 La produzione dei circuiti microintegrati 82 5.8 Il microelabortatore diventa un bene di consumo 84 5.9 INTEL e la nascita del microprocessore 86 5.10 Dal minicomputer al Personal Computer 87 5.11 Il Personal Computer IBM 89
  • 5. 1 Numerare , contare , calcolare Prima di guardarti avanti guardati indietro (John Watt) 1.1 Quanti N ello sviluppo della storia dell'uomo, in epoche diverse si sono sviluppate delle civiltà che sono poi completamente scomparse ma che hanno lasciato come eredità un bagaglio di conoscenze. Tra gli elementi fondamentali che hanno portato al loro sviluppo vi è stata la capacità di contare e di numerare gli oggetti, parte della più generale abilità di utilizzare simboli e di ragionare manipolando simboli. Qualsiasi forma di organizzazione sociale evoluta richiede, infatti, tale abilità. Quanti sono i bisonti cacciati o i giorni trascorsi ? La mente umana ha impiegato centinaia di migliaia di anni per impadronirsi di questi concetti ed è oggi per noi molto difficile renderci conto di quanto questo sia stato importante. Nel nostro modo di ragionare la capacità di contare deriva infatti, in buona parte da concetti che abbiamo dovuto imparare a memoria nei primi anni della nostra vita e all’esposizione al linguaggio, all’esempio dei nostri simili. In questo modo ci siamo impadroniti di concetti che la nostra Fig.1 L’abaco specie ha acquisito in un tempo lunghissimo. In tempi e luoghi diversi una tappa fondamentale di ogni civiltà fu quando ci si pose la fondamentale domanda : Quanti sono? La prima possibile risposta venne fornita dalla possibilità di raffrontare tra loro quantità simili di oggetti diversi. In tal modo i bastoncini, le conchiglie, le tacche su un legno o le dita delle mani furono tutti elementi validi per lo scopo. Quello che è interessante notare è come sia stato difficile per l'uomo astrarre il concetto di numero come
  • 6. Le origini dell’informatica elemento simbolico svincolato da oggetti materiali. E’ certo che in origine i termini utilizzati per rappresentare le quantità numeriche erano diversi per oggetti diversi.Di questa difficoltà possiamo trovare ancora traccia nel linguaggio odierno. Quando nella nostra lingua dobbiamo indicare un gruppo di animali utilizziamo tutta una serie di vocaboli diversi , gregge per le pecore , branco per i lupi, stormo per gli uccelli, mandria per le mucche, mentre nulla vieterebbe, dal punto di vista logico, di utilizzare un unico termine. Non disponiamo di testimonianze dirette ma il sopravvivere fino a tempi recenti di popolazioni che in luoghi isolati hanno mantenuto un modo di vita tipico di quello dell’età della pietra ci ha permesso di avere delle testimonianze dirette delle capacità di rappresentare i numeri e del loro utilizzo. All’inizio del secolo scorso un missionario vissuto a lungo nella tribù dei Tamanaca, lungo il corso dell’Orinoco, riportava come il metodo utilizzato per contare si basava su parole per identificare le sole prime quattro quantità. Per contare si avvalevano di mani e piedi. Cinque corrispondeva ad una mano intera. Oltre si identificavano i numeri con uno sull’altra mano, fino a due mani, poi uno sul primo piede, due mani ed un piede, uno sull’altro piede. Venti veniva identificato quindi con un intero indiano e oltre con un indiano e uno. Insomma si può definire un sistema di numerazione a base venti. Un sistema analogo si riscontra anche nelle popolazioni Eschimesi e questo fa pensare che il modo di numerare risalga ad un’epoca precedente a quella in cui le grandi migrazioni portarono Homo Sapiens a colonizzare l’intero pianeta, vista la difficoltà di rappresentare visivamente le dita in popolazioni abituate a vivere completamente coperte da pellicce. Quell’epoca che ancora oggi nella tradizioni orale degli aborigeni australiani viene indicata Fig.2 Il papiro di Rhind, parte iniziale come l’epoca del sogno. Una delle esigenze principali che spinsero allo sviluppo della capacità di calcolare fu il commercio. Un secondo esempio molto significativo ci viene dal resoconto sempre di un missionario che a fine 800 ci riportava gli usi delle tribù Dammara, nel Sud Africa. A proposito dell’utilizzo del baratto osservava come quando durante uno scambio di ad esempio pecore per stecche di tabacco supponendo che il cambio corrente fosse di una pecora per due stecche, il cambio di due pecore avveniva nel seguente modo : prima il venditore delle pecore cedeva al prima pecora ricevendo in cambio le prime due stecche. La pecora doveva essere allontanata. Convinto che la prima transazione fosse stata correttamente e onestamente svolta si passava alla seconda pecora. Uno scambio in cui direttamente si davano le due pecore e si ricevevano in cambio quattro stecche non era assolutamente accettato. Insomma per questa parte dell’umanità il concetto che due per due fa quattro era ancora lontano dall’essere acquisito. Capitolo I –Numerare contare calcolare 6
  • 7. Le origini dell’informatica L’effetto che sui nostri antenati ebbe l’appropriarsi della capacità di manipolare le quantità e di calcolare fu enorme. Nell’antico Egitto i problemi matematici ed il loro studio erano riservati alla casta dei sacerdoti e si attribuivano tali capacità a poteri magici, derivanti direttamente dagli Dei. Uno dei primi esempi di testo per insegnare la matematica e la soluzione dei problemi numerici è giunta fino a noi in alcuni papiri tra cui forse il più celebre è quello noto come papiro di Rhind ( il primo proprietario ) o di Ahmes(l’autore ), una raccolta di 25 problemi datatati al 1650 A.C. . Scritto in Ieratico il papiro è lungo circa 6 metri e largo 30 centimetri, è custodito al British Museum. La prima sezione riporta una introduzione, nella quale si rende gloria agli dei ispiratori di quanto verrà esposto, seguito dal risultato della divisione per due di tutti i numeri dispari da 3 a 101, con il risultato espresso in frazioni.La notazione con la virgola ed i decimali è molto recente, risale al secolo XVIII. La seconda sezione consiste in una tabella che riporta le divisioni dei numeri da 1 a 9 per 10. Seguono poi i problemi pratici. Il primo problema consiste nel dividere una razione di grano tra dieci uomini. Ogni uomo riceve un decimo. La dimostrazione ricostruisce l’operazione al contrario usando la tabella precedente : due uomini ricevono 2 decimi, tre uomini ricevono tre decimi, e così via sino all’unità. I problemi sino al sei trattano rispettivamente della divisione di due razioni, tre , quattro e cinque, sempre utilizzando le tabelle precedenti. Tanto i problemi appaiono ai nostri occhi banali e le dimostrazioni peddiseque quanto agli occhio dei contemporanei di Ahmes dovevano essere stupefacenti. 1.2 Registrare e rappresentare i numeri con un sistema Scartata la possibilità di introdurre nel linguaggio una parola per ogni possibile quantità l’unica possibilità era di definire un sistema che consentisse di utilizzare dei simboli base associati tra di loro in un sistema. I progressi della capacità di numerare arrivarono con i corrispondenti progressi della società organizzata. Non a caso le prime iscrizioni di età sumera sono registrazioni di tasse, versate per consentire di mantenere una struttura di stato. Si possono distinguere due distinti stadi nello sviluppo della capacità di registrare in forma scritta le grandezze numeriche, uno pittorico ed uno simbolico. In quello pittorico le grandezze vengono Fig. 5 dimostrazione di un teorema, rappresentate associando un elemento, come un tratto da un codice arabo animale, ad una serie di aste ed in seguito elementi grafici associati tra loro, come simboli stilizzati. Questo comincia a comportare in un certo senso un Capitolo I –Numerare contare calcolare 7
  • 8. Le origini dell’informatica concetto astratto. Lo stadio successivo consiste nell’associare simboli a gruppi e con questi costruire dei sistemi di numerazione. Tali sistemi si possono suddividere in sistemi additivi e sistemi posizionali. Il sistema Egiziano è un sistema di tipo additivo, ma certamente noi siamo più famigliari con quello Romano che è dello stesso tipo. Il sistema si basa su sette simboli : I 1 V 5 X 10 L 50 C 100 D 500 M 1000 Questi simboli venivano utilizzati in modo additivo, cioè sommando i valori dei simboli tra di loro partendo da sinistra. Solo in epoca successiva venne introdotta la forma sottrattiva, un simbolo a sinistra viene sottratto qualora sia di dimensione inferiore ( IV per quattro e IX per 9 ). Il sistema è abbastanza semplice per le addizioni, anche se richiede due passi, prima i simboli vengono raggruppati in ordine decrescente, in un secondo passo vengono sostituiti i gruppi di simboli che possono essere riscritti con simboli maggiori ( VV co X , XXXXX con L). La moltiplicazione appare notevolmente più complessa e richiede di conoscere i multipli di V e X. Vengono rappresentati i soli numeri interi e naturalmente il sistema appare gestibile solo per numeri fino ad un massimo di qualche migliaio. Per I numeri razionali, come già per gli Egiziani si aggiungevano ai numeri naturali le frazioni. Un sistema piuttosto limitato, ma l’impero Romano dominò il mondo allora conosciuto con una struttura di stato che per molti aspetti ancora ci stupisce. Con la caduta dell’Impero Romano di Occidente nel 456 ebbe inizio una lunga fase di stagnazione che viene indicata con Medio Evo, il sonno della ragione. 1.3 Il contributo del mondo Arabo In questa epoca le scienze matematiche e astronomiche fiorirono nel vicino mondo arabo, in particolare nella penisola arabica. Nel VII secolo viene fondata la dinastia dei califfi a Bagdad, la nascente cultura araba assorbe dai paesi vicini idee e concetti. Probabilmente dall’india deriva un’idea rivoluzionaria per i sistemi di numerazione: Fig. 3 Al-Kwoaritzmi, Capitolo I –Numerare contare calcolare ipotetico ritratto 8
  • 9. Le origini dell’informatica 0 Lo zero rappresenta il definitivo distacco del concetto di numero da una sua rappresentazione fisica. E’ lo zero che consente di definire un sistema di numerazione posizionale e pesato, dove gli stessi simboli hanno un significato non solo per se ma anche per la posizione. Questo non sarebbe possibile senza un simbolo per la quantità nulla. E' con l'introduzione delle cifre arabe per le prime 9 quantità che si realizza, unitamente allo zero, un sistema molto potente, scalabile, che può rappresentare facilmente anche quantità molto grandi e che permette, con semplici regole, di realizzare somme e sottrazioni tra qualsiasi numero. La più antica testimonianza a noi nota sull’utilizzo dello zero risale all’anno 876 AD, con la rappresentazione dei numeri 50 e 270. Già i babilonesi L’introduzione utilizzavano però un carattere simile allo zero nel proprio sistema di dello zero consente di numerazione, ma non come parte consistente sel sistema. Il simbolo veniva costruire un concepito come separatore tra numeri, ad esempio in un documento dell’epoca sistema di numerazione si può riscontrare come per rappresentare 1024 il simbolo veniva inserito come posizionale e separatore tra la colonna per le migliaia e le decine. Non veniva utilizzato pesato invece per numeri come 1000. La difficoltà stava nel concepire che il nulla potesse separare il nulla. Il califfo Al Mamum stabilì un centro accademico, denominato Casa della Saggezza, attorno all’anno 800, a Bagdad. Si trattava di una combinazione tra una biblioteca, una università e di un centro di traduzione da lingue straniere in Arabo. Fu il centro più importante per la diffusione del sapere dalla distruzione della biblioteca di Alessandria d’Egitto. Vennero tradotti testi dal greco antico, persiano, Fig.4 Monumento ad Al-Kwoaritzmi, Gedda. sanscrito e copto. Molti importanti testi dell’antichità sono giunti a noi solo grazie a queste traduzioni in Arabo. Purtroppo la storia si ripete nel 1258 AD quando Hulagu Khan, nipote del più famoso Gengis Khan conquista Bagdad e la distrugge. Uno degli studiosi che operarono nella Casa della Saggezza fu Mohammed ibn Musa Al-Kwoharizmi ( Mohhamed, figlio di Moses , originario di Khowarizm, la moderna citta di Kiva nel sud della Russia) .Fu autore di testi di algebra e di geometria e di tavole di calcoli per uso astronomico. Nella sua “Aritmetica” cita espressamente come il sistema di numerazione decimale gli sia pervenuto dagli Indiani . nessuna edizione originale ci è pervenuta, ma disponiamo di traduzioni in altri linguaggi. Il Capitolo I –Numerare contare calcolare 9
  • 10. Le origini dell’informatica lavoro inizia con la numerazione e discute diffusamente dell’utilizzo delle cifre ed in particolare dello zero. Prosegue con l’esposizione dei metodi fondamentali per le operazioni tra interi. Il lavoro influenzò tutte le successive opere di autori arabi nel campo. L’utilizzo del sistema di numerazione Hindu si diffuse rapidamente in tutto il mondo Arabo. 1.4 La rinascita e l’introduzione del sistema decimale Con la riconquista di territori di cultura araba da parte dei Normanni in Sicilia e, soprattutto la riconquista di Toledo in Spagna nel 1085 da parte di Alfonso di Leon, si pongono le basi per la rinascita culturale dell’Europa.. Un crescente entusiasmo portò studiosi da ogni parte d’Europa alla ricerca dei documenti dell’antichità nella traduzione Araba e dei testi Arabi. Alcuni, come Adelardo di Bath, giunsero alla conversione all’islamismo spinti dall’amore per il sapere. Contribuirono inoltre a questo passaggio di conoscenze il fiorire dei traffici mercantili tra le sponde del mediterraneo. In questa atmosfera si formò alla matematica Leonardo Pisano , figlio di Bonaccio. Nacque attorno al 1170 e alcune informazioni sulla sua vita ci vengono dall’introduzione alla sua prima opera, il Liber Abaci, scritta nel 1202. Il padre Bonaccio era incaricato di Fig.6 Leonardo Pisano, dirigere, per conto dell’Ordo Mercatorum di Pisa, l’ufficio detto il Fibonacci, doganale di Bugea in Algeria. Quando Leonardo era ancora ipotetico ritratto, 1170- ragazzino lo chiamò presso di se per studiare il nuovo 1250 (circa). sistema di numerazione in uso nel mondo Arabo, il sistema decimale posizionale. Da questa esperienza nasce il Liber Abaci, che come dichiarato nell’introduzione ha lo scopo di mettere tutto il suo sapere “ a disposizione della gens latina in modo che ben poco sull’argomento ne possa restare fuori “ Il termine abaco viene utilizzato da Leonardo per indicare l’aritmetica/algebra in generale, termine che mantenne in Italia questo significato fino alla fine del XVIII secolo. Si tratta di un’opera per, l’epoca, colossale. Nella versione in 4° di Baldassare Boncompagni nel 1854 si tratta di 459 pagine, nelle quali vengono presentate le “novem figure” degli indiani e il “signum” 0 ( “quod arabice zephirum appellatur” ) , le operazioni con interi e frazioni, le prove per 7, 9, 11, 13 e il criterio di divisibilità per 9, le operazione per determinare il massimo comun divisore ed il minimo comune multiplo. Vi si danno poi le regole pratiche per compra-vendite, baratti, società, cambi con le monete al tempo in uso,proporzioni. Il tutto corredato da numerosi esempi pratici. In capitoli a parte la regola “ elchataym “ ( doppia posizione per la soluzione delle equazioni ) , sino alla soluzione , discussione e applicazione delle equazioni di secondo grado. E’ sul Liber Abaci che per tre secoli si formeranno Capitolo I –Numerare contare calcolare 10
  • 11. Le origini dell’informatica maestri e allievi della scuola toscana. Non era certo un’opera facile, Leonardo consigliava al lettore di insistere nell’applicazione e nell’esercizio continuo, sino a che memoria e ragionamento, mani e numeri “ quasi uno impulsu et anelitu in uno et eodem instanti circa idem per omnia naturaliter consonent” . Sarà questo anelito di perfezione a fare di Leonardo un matematico di eccezione tra i contemporanei e successori, i quali conservarono un Fig.7 L’incipit del Liber Abaci, notare evidenziata la sequenza delle nove cifre . reverenziale ricordo del maestro. Maestro Benedetto da Firenze a metà del secolo successivo tradurrà la sua opera in volgare e citerà ripetutamente le sue opere e ne ricorderà la figura. “ dicho che L.P. fu uomo sottilissimo in tutte le dispute et secondo che si trova, lui fu il primo che ridusse allume questa pratica in toscana, che allora si andava per vie molte e strane” Dal 1202 al 1220 Leonardo Pisano non scrisse più nulla. In quegli anni gli scomunicati della quarta crociata fondavano l’impero latino d’Oriente e nuovi testi, questa volta greci, passavano in Europa ; crociati comunicati distruggevano la Provenza e i suoi abitanti, demandando a Dio l’incarico di riconoscere le anime dei non eretici. A Parigi veniva proibita , pena la scomunica, la lettura sia in pubblico che in privato delle opere di Aristotele. Le arti, le lettere e le scienze ebbero un forte impulso dall’avvento di Federico di Svevia, “stupor mundi”, che volle alla sua corte notari e protonotari indigeni, “magistri” e “philosofi” di tutte le nazioni. Fu proprio uno dei filosofi della Capitolo I –Numerare contare calcolare 11
  • 12. Le origini dell’informatica corte di Federico, Maestro Domenico, a spingere Leonardo a scrivere un nuovo testo, un compendio di geometria , la Pratica Geometriae. Leonardo fu protagonista di sfide alla corte di Federico. Nel 1223 l’imperatore passo per Pisa e Leonardo venne presentato a Federico II da Maestro Domenico. Davanti all’imperatore si intrattenne in discussioni con Maestro Giovanni da Palermo. Questi propose a Leonardo problemi del tipo di trovare la soluzione ad una equazione di terzo grado o trovare un congruo, cioè “Trovare un numero quadrato tale che , sia aggiungendogli che togliendoli 5, dia sempre un quadrato”. Capitolo I –Numerare contare calcolare 12
  • 13. Le origini dell’informatica La prova del 9 Leonardo inserisce nelle spiegazioni delle operazioni anche un metodo per controllarne la correttezza, la prova del 9. Se si calcola il residuo di ogni numero coinvolto nell’operazione, i residui degli operandi , composti come l’operazione, devono dare il residuo del risultato. Il residuo è la cifra ottenuta sommando tra loro, se necessario più volte, le cifre del numero sino ad ottenere una sola cifra. Tale operazione equivale al resto dell’operazione di divisione per 9, o modulo 9. Infatti ogni volta che in un numero spostiamo una cifra dalla sua posizione e la sommiamo alla cifra di destra, equivale a sottrarre al numero un multiplo di 9, una cifra n in posizione p, ( ) n 10 p − 10 p −1 = n(10 − 1)10 p −1 = 9n10 p −1 Prendiamo ad esempio l’operazione di moltiplicazione e scomponiamo i moltiplicandi secondo la divisione per 9, m=pxq m = (t m ⋅ 9 ) + res m p = (t p ⋅ 9) + res p q = (t q ⋅ 9) + res q e quindi p ⋅ q = (t p ⋅ 9) ⋅ (t q ⋅ 9) + res p ⋅ (t q ⋅ 9) + res q ⋅ (t p ⋅ 9) + res p ⋅ res q = (t m ⋅ 9) + res m [ ] 9 ⋅ t p ⋅ (t q ⋅ 9) + res p ⋅ t q + res q ⋅ t p + res p ⋅ res q = (t m ⋅ 9) + res m eseguendo ora l’operazione di modulo 9 mod 9 (res p ⋅ res q ) =res m cvd. Da questo si desume anche che la prova del 9 stabilisce una condizione necessaria ma non sufficiente per stabilire la correttezza dell’operazione, non si possono infatti individuare errori che introducono nel risultato dei multipli di 9. Certamente l’operazione di modulo 9 non è facilmente realizzabile manualmente comportando l’effettuazione di una divisione, ma Leonardo indica un modo agevole ç Sommare tra di loro le cifre che compongono il numero e se il risultato è maggiore di 9, ripetere il procedimento sino a ridursi ad una sola cifra. Infatti sommare una cifra n in posizione p alla posizione p-1 equivale a sommare + n per 10 alla p-1 - n per 10 alla p o – n per 9 per a0 alla p-1 Cioè equivale a sottrarre un multiplo di 9. Iterando il procedimento fino all’ultima cifra otteniamo un numero compreso tra zero e 9. Nel caso di 9 per ottener il modulo di deve sottrarre una ultima volta 9. Il nome di Fibonacci rimase legato alla soluzione di uno dei problemi pratici del Liber Abaci, trovare il numero di discendenti di una coppia di conigli dopo n generazione. La soluzione è data dalla serie , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , …. Dove ogni numero è la somma dei due precedenti. 1.5 La lenta diffusione del nuovo sistema Capitolo I –Numerare contare calcolare 13
  • 14. Le origini dell’informatica Sia per la complessità che per la lunghezza la diffusione del Liber Abaci fu piuttosto ristretta. Il solo lavoro di copiare manualmente un testo di 459 pagine era già un grosso problema. Ad una diffusione più capillare del nuovo sistema contribuirono i lavori “Carmen de Algorismo” di Alexander De Villa Dei, Le operazioni con il nuovo sistema circa 1220 , e “Algorismus Vulgaris” di Nel Liber Abaci viene illustrato in dettaglio l’utilizzo del Giovanni da Halifax, meglio conosciuto sistema decimale. Vi sono esempi per moltiplicare traillustra con lunghezza diversa . Ad esempio nel capitolo II si numeri come Sacrobosco. Anche questi lavori si la moltiplicazione dei numeri di due cifre per due cifre. basano sull’Aritmetica di Al-Kwaritzmi 37 x e furono utilizzati come testo in 37 numerose Università . Il “Carmen de Si esegue il prodotto delle cifre della prima colonna si Algorismo” è composto in segna in alto il risultato e si prende nota del riporto endecassilabi. Per entrambi non si 9 riporto 4 forniva una completa spiegazione del 37 x 37 sistema ma erano composti rispettivamente da quattromila parole il Si esegue il prodotto incrociato decine per unità, per entrambe le diagonali quindi 7 x 3 + 7 x 3, vi si somma il primo e da 284 linee il secondo, la qual riporto precedente( 4 ) e si ottiene 46, si scrive il 6 e si tiene cosa li rendeva particolarmente adatti ad conto del nuovo riporto di 4. una veloce copiatura. Ne vennero 69 riporto 4 effettuate traduzioni in diverse lingue. 37 x 37 La diffusione del nuovo sistema fu comunque molto lenta, abbandonare il Si moltiplicano tra di loro le decine 3 x 3 , si somma il riporto e si ottiene il risultato sistema di numerazione Romano non fu facile, soprattutto per motivi culturali. A 1369 riporto / 37 x quanto veniva dal mondo Arabo si 37 guardava con molta diffidenza. Nei Vengono poi fornite le regole per prodotti tra numeri di lunghezza diversa. conventi l’utilizzo del sistema Romano per le registrazioni si protrasse fino al XVIII 1 secolo. Le resistenze furono molteplici. Nel 1299 la città di Firenze emise un’ordinanza che proibiva l’utilizzo del sistema indo-arabico nelle transazioni commerciali, vista la facilità di falsificare i numeri. Uno zero poteva facilmente essere trasformato in un nove o in un sei. In altri casi l’innovazione fu molto veloce. Un interessante documento conservato al British Museum riporta le registrazioni dei figli nati in una famigli a metà del XIII secolo, nel seguente ordine Primo figlio Mijc.Lviii 2 Secondo figlio Mijc.Lxi 1 Incidentalmente l’aver riportato il secolo come numero Romano testimonia come ancora oggi per le cose importanti questo nuovo sistema di numerazione non paia molto appropriato. 2 La forma ijc era una forma scritta per rappresentare 200. Capitolo I –Numerare contare calcolare 14
  • 15. Le origini dell’informatica Terzo figlio Mijc.63 Quarto figlio 1264 Quinto figlio 1266 In un primo momento le cifre furono usate solo per l’anno ma nel breve volgere di otto anni l’estensore del testo si era completamente adeguato. 1.6 Metodi e strumenti per calcolare Con l’introduzione del sistema decimale si compie un notevole passo avanti in termini di capacità di calcolo. Ma i problemi che si affrontano sono sempre più complessi e vi è un notevole impegno nel cercare metodi e artifici per agevolare il compito. Tra le persone che maggiormente hanno contribuito a questo sviluppo vi è Jhon Napier, barone di Merchiston, nato nel 1550, scozzese. A lui va il merito dell’introduzione dei Logaritmi, per cui è famoso, ma sempre a lui si devono anche altri metodi di calcolo. Con le sue parole : The difficulty and prolixity of calculation, the weariness of wich is so apt to deter from the study of mathematics, I have always, with what little powers and little genius I possess, laboured to eradicate. And with that end in view, I have published of late years Fig. 8 Johan Nepier , Barone di Merchiston 1550 - the Cannon of Logharithms ... [F]or the sake of those who prefer to work with the natural numbers as they stand, I have excogitated three other compendious modes of calculation, of witch the first by means of numberig rods and these I have called Rabdologia. Another, by far the most expeditious of all for multiplication, and which on that account I have no inaptly called the Promptuary of Nepero Multiplication, is by means of little plates of metal disposed ina a box. And I logaritmi come lastly, a third method , namely Local Arithmetic performed upon a chess strumento per aiutare board. l’esecuzione di calcoli complessi come le Il metodo maggiormente diffuso al tempo fu quello delle barrette numerate, moltiplicazioni citato per primo, che consentiva di eseguire le operazioni mediante l’accostamento delle barrette. Certamente questi metodi furono anche utilizzati per il calcolo delle tabelle logaritmiche. Napier , meglio noto in Italia come Nepero fu tra i protagonisti della riforma Protestante e pubblicò anche un libro sull’Apocalisse di S.Giovanni Apostolo Capitolo I –Numerare contare calcolare 15
  • 16. Le origini dell’informatica che lo rese celebre come teologo. E’ da credere che l’ispirazione venne dai primi lavori sulla trigonometria e in particolare con la formula di prostaferisi Sin (a) sin (b) =[cos (a-b) – cos ( a+b)]/2 Per mezzo di questa formula e disponendo dei valori già tabulati per seno e coseno si può effettuare una operazione difficile, la moltiplicazione, mediante delle somme, delle sottrazioni ed una divisione per due. Questo influenzò certamente Nepero, in quanto i primi logaritmi non erano di numeri naturali ma di seni di angoli. L’idea nacque quindi non dall’algebra ma dalla geometria, cosa che trova una spiegazione anche nel fatto che all’epoca la notazione decimale dei numeri rappresentati con la virgola e quindi le potenze negative di dieci o quella dell’elevamento a potenza con l’esponente come indice mon erano ancora in uso. In origine utilizzò il termine di numeri artificiali ma in seguito coniò il termine logaritmo derivandolo dalla frase greca per rapporto tra numeri. Nel Luglio del 1614 pubblica un piccolo volume di 56 pagine di testo e 90 di tabelle dal titolo Mirifici Logarithmorum Canonis Descriptio. La proprietà che ci interessa ai fini del calcolo è che log ab = log a + log b Nel 1624 il matematico Henry Brigs pubblica Fig 9. Il frontespizio della prima una serie di tavole con i logaritmi dei numeri edizione dei Mirifici Logarithmorum da 1 a 20.000 e da 90.000 a 100.000, calcolati , 1614 con una precisione di 14 cifre decimali. Le tabelle contenevano solo 1161 errori, pari allo 0,04% dei dati. L’utilizzo dei logaritmi nel calcolo si diffuse molto rapidamente, tra i primi ad utilizzarli vi fu l’astronomo Keplero. Fu quindi un’invenzione che modificò radicalmente, migliorandolo, il lavoro di chi a vario titolo si trovava coinvolto nel calcolo. L’utilizzo, anche mediante regoli calcolatori, venne soppiantato solo dall’avvento dei moderni calcolatori elettronici. Nella figura che segue viene riportata una tavola tratta “Tavole Logaritmiche e trigonometriche a cinque decimali” di Guglielmo Palazzi, edito dalla casa editrice Ponte Nuovo – Bologna , nel 1974, ad uso dei licei , Istituti Tecnici e professionali. Nella premessa apprendiamo che le presenti tavole logaritmiche “ … sono state segnalate dall’Accademia Nazionale dei Lincei per il “Premio Capitolo I –Numerare contare calcolare 16
  • 17. Le origini dell’informatica del Ministero della Pubblica Istruzione per la matematica per l’anno 1970”, con la seguente motivazione : “Palazzi Guglielmo presenta delle tavole dei logaritmi dei numeri naturali fino a 10.000 e delle funzioni trigonometriche , dove l’uso di particolari accorgimenti consente di ottenere approssimazioni molto soddisfacenti.” L’opera riporta i logaritmi delle funzioni trigonometriche ed il valore dei quadrati e dei cubi dei primi 1000 numeri. Seguono istruzioni per l’uso con esempi pratici in particolare per interpolare valori tra quelli tabulati. Sia le tecniche esposte da Leonardo Pisano che l’utilizzo delle tavole trigonometriche richiedevano del personale specializzato e ben addestrato. I calcoli erano comunque lunghi e tediosi, inevitabilmente soggetti ad errori. Si cominciò a ragionare di come tale lavoro potesse essere automatizzato utilizzando delle macchine. Capitolo I –Numerare contare calcolare 17
  • 18. Le origini dell’informatica Fig. 10 Tavola per il calcolo dei Logaritmi tratta da le “ Tavole Logaritmiche e Trigonometriche di Guglielmo Palazzi “ - 1974 Capitolo I –Numerare contare calcolare 18
  • 19. Le origini dell’informatica 1.7 Un esempio pratico, una moltiplicazione con l’utilizzo delle tavole logaritmiche Premesso che in campo tecnico la precisione viene identificata con il numero di cifre significative, tabulando i valori dei logaritmi naturali dei numeri da 1 a 10000 si può condurre qualsiasi calcolo con la precisione di cinque cifre significative. Le cifre significative sono quelle che seguono la prima cifra diversa da zero. Qualsiasi numero si può ricondurre ad una rappresentazione normalizzata utilizzando le potenze di 10. Ad esempio 3.456.000 e 0,00012389 sono entrambi numeri con cinque cifre siginificative e possono essere rappresentati in forma normalizzata come 0,3456 x 107 e 0,00012389 x 10-3. Vediamo un Esempio: Calcolare 10,34 x 1347 usando la tavola dei logaritmi ( da http://web.ticino.com/calcolo/info.html ) Per prima cosa si deve trovare il logaritmo di 10,34. La tavola ci dà solo la parte decimale del logaritmo (mantissa), la parte intera è data dalla potenza di dieci del numero. La parte intera del logaritmo di 10,34 sarà quindi 1. Per trovare la parte decimale si toglie la virgola al numero, che diventa 1034. La colonna N della tavola indica le prime 3 cifre del numero, la quarta è il numero indicato in cima alle colonne numerate da 0 a 9. Le prime due cifre della parte decimale si trovano nella colonna L in corrispondenza della riga per N=103 (01), le altre 3 cifre si trovano sulla stessa riga nella colonna del 4 (452). La parte decimale sarà quindi 01452. Il logaritmo di 10,34 è 1,01452. Poi si, allo stesso modo, si deve trovare il logaritmo di1347. La parte intera del logaritmo è 3. Capitolo I –Numerare contare calcolare 19
  • 20. Le origini dell’informatica Il numero è 1347, per cui le prime 3 cifre sono 134. Sulla linea 134 manca il valore nella colonna L, per le prime due cifre della parte decimale si deve quindi prendere l' ultimo valore della colonna L prima della linea 134 (12). Le altre 3 si trovano sulla riga per N=134 nella colonna 7 (937). La parte decimale sarà quindi 12937 Il logaritmo di 1347 è 3,12937. Ora si somma il logaritmo di 10,34 al logaritmo di 1034 (nel caso della divisione si dovrebbe sottrarre) 1,01452 + 3,12937 = 4,14389 Il prodotto tra 10,34 e 1347 sarà il numero il cui logaritmo è 4,14389, ora lo si deve cercare nella tavola. La parte intera del logaritmo è la potenza di 10 del numero cercato (4), con la parte decimale (14389) si trovano le cifre. La parte decimale inizia con le 2 cifre 14, le si cercano nella colonna L. Poi si cercano le altre 3 cifre (389) nelle colonne seguenti numerate da 0 a 9. Il 389 non c' è, ci sono il 364 nella colonna 2 ed il 395 nella colonna 3 della riga per N=139. Il numero cercato si troverà quindi tra 13920 e 13930. Per trovare la quinta cifra significativa dobbiamo interpolare. Capitolo I –Numerare contare calcolare 20
  • 21. Le origini dell’informatica Per interpolare si usano le tabelle P.P. (partes proportionales). Dapprima si trova la differenza tra 395 e 364 (i 2 numeri alle colonne 2 e 3) 395 - 364 = 31 Si dovrà consultare la tabella P.P. alla colonna 31 Poi si trova la differenza tra 389 (il valore non trovato) e 364 (il più piccolo dei 2 trovati) 389 - 364 = 25 Nella colonna 31 della tabella P.P. cerchiamo il valore più vicino al 25 (24,8). Nella prima colonna in corrispondenza di 24,8 troviamo il numero 8, è la quinta cifra significativa. Il numero cercato sarà dunque 13928: 10,34 x 1347 = 13928 Fig. xx Frontespizio della pubblicazione di Rottman Capitolo I –Numerare contare calcolare 21
  • 22. Le origini dell’informatica Terminiamo ricordando che nel 1959 Karl Rottmann pubblica presso il Bibliographisches Institut di Mannheim delle tavole logaritmiche calcolate e stampate con l' aiuto del computer. Non contengono errori di stampa . con questo si realizza il sogno di Charles Babbage ( vedi il prossimo capitolo ), realizzare mediante una macchina delle tavole che non contengano errori, nemmeno di trascrizione. Questo ci ricorda anche come anche i computer erano all’inizio non delle macchine di uso generale ma data la mole ed i costi solo per scopi molto particolari, le necessità di calcolo della vita quotidiano erano sempre soddisfatte con i vecchi metodi anche se gli strumenti erano ora più affidabili. Fig. xx Presentazione del lavoro di Rottman Capitolo I –Numerare contare calcolare 22
  • 23. Le origini dell’informatica Capitolo I –Numerare contare calcolare 23
  • 24. Le origini dell’informatica Capitolo I –Numerare contare calcolare 24
  • 25. Le origini dell’informatica Fig. xx Una pagina delle tavole di Rottman 1.8 I regoli calcolatori Con lo sviluppo dei logaritmi vengono introdotti anche degli strumenti per calcolare che costituiscono dei veri e propri calcolatori analogici denominati regoli calcolatori, l’invenzione vien ricondotta a Nel 1650 il matematico inglese E. Gunter La parola analogico significa che lo strumento manipola grandezze che variano in modo continuo e mediante l’utilizzo di aste graduate le operazioni algebriche vengono ricondotte alla somma o differenza di segmenti misurati su diverse aste. Se le scale di numerazione sono in scala logaritmica la somma di due segmenti proporzionali al logaritmo dei moltiplicandi rappresenta il logaritmo del prodotto dei due numeri. Vediamo alcuni esempi tratti sempre dal sito : da http://web.ticino.com/calcolo/info.html 1.8.1 Moltiplicazione 1. Portare l' 1 iniziale della scala C sopra il primo fattore sulla scala D 2. portare il cursore sul secondo fattore della scala C 3. Leggere il prodotto sulla scala D Se il prodotto è fuori scala: 1. Portare l' 1 finale della scala C (a volte segnato con 10) sopra il primo fattore sulla scala D 2. portare il cursore sul secondo fattore della scala C 3. Leggere il prodotto sulla scala D 4. Moltiplicare per 10 1.8.1.1 2 x Pi 1. portare l' 1 iniziale della scala C sopre il 2 della scala D 2. portare il cursore sul Pi della scala C 3. Leggere il prodotto sulla scala D (un po' più di 6,25) Capitolo I –Numerare contare calcolare 25
  • 26. Le origini dell’informatica 1.8.2 Divisione 1. Portare divisore sulla scala C sopra il dividendo sulla scala D 2. portare il cursore sull' 1 iniziale della scala C 3. Leggere il quoziente sulla scala D Se il quozienze è fuori scala: 1. Portare il divisore sulla scala C sopra il dividendo sulla scala D 2. portare il cursore sull' 1 finale (a volte segnato con 10) della scala C 3. Leggere il quoziente sulla scala D 4. Dividerere per 10 1.8.2.1 5 : 2,2 1. Portare il 2,2 sulla scala C sopra il 5 sulla scala D 2. portare il cursore sull' 1 iniziale della scala C 3. Leggere il quoziente sulla scala D (un po' più di 2,25) 1.9 La calcolatrice elettronica Negli anni settanta del secolo scorso l’avvento della calcolatrice elettronica rende improvvisamente obsoleti tre secoli di storia e montagne di tavole e regoli calcolatori. Tra le più celebri vi furono quelle prodotte dalla Hewlet Packard che si distinguevono per l’utilizzo di una notazione molto particolare che analizziamo con una presentazione tratta dalla sito della società (www.hp.it ) .Questo m,etodo si basa sull’utilizzo di uno stack, concetto che ritroveremo ancora in seguito. RPN, un'introduzione alla notazione polacca inversa Capitolo I –Numerare contare calcolare 26
  • 27. Le origini dell’informatica Il metodo RPN: descrizione e origine Se siete utilizzatori assidui di una calcolatrice, è giunto il momento di scoprire i vantaggi del metodo RPN. RPN è l'acronimo di Reverse Polish Notation (notazione polacca inversa). La notazione polacca inversa è stata sviluppata nel 1920 da Jan Lukasiewicz come un modo per scrivere un'espressione matematica senza usare parentesi. Hewlett-Packard Co. ha ritenuto che il metodo di Lukasiewicz fosse superiore alle espressioni algebriche standard(1) nell'uso di calcolatrici e computer, e ha adottato la notazione polacca per la sua prima calcolatrice scientifica tascabile, la hp35, nel 1972. Perché usare RPN? • RPN permette di risparmiare tempo e immissioni di dati. Non occorre usare le parentesi per effettuare i calcoli. Il processo è simile al modo in cui si è appresa la matematica su carta. • Si possono vedere i risultati intermedi mentre si eseguono i calcoli anziché avere solo la risposta finale al termine. Si tratta di una funzione estremamente utile. Gli insegnanti di matematica la utilizzano per migliorare la comprensione della matematica dei loro studenti. • Un risultato intermedio consente di controllare i risultati e di correggere gli errori più facilmente. Risulta così più semplice seguire il corso del calcolo. L'utilizzatore definisce la priorità degli operatori. • RPN è logico perché l'utilizzatore prima immette il numero e poi stabilisce cosa farne. HP Fornisce la piena funzionalità RPN Hewlett-Packard produce alcuni modelli di calcolatrici con RPN perché si tratta di un metodo di calcolo estremamente potente e semplice. Le calcolatrici scientifiche HP 48G+ e HP 48GX e la calcolatrice finanziaria hp12C usano esclusivamente RPN. HP sa bene comunque che vi sono clienti che preferiscono il modo di immissione algebrico tradizionale. Ecco perché alcune calcolatrici HP funzionano con i due sistemi, RPN e algebrico. Ad esempio, la 17BII e la 49G possono passare da una modalità all'altra. RPN è coerente nell'uso. Gran parte delle calcolatrici scientifiche non-RPN sono metà RPN e metà algebriche. Ad esempio, per eseguire la somma, è necessario immettere 2+4 (sistema algebrico), ma per effettuare un calcolo del seno, occorre prima digitare il numero e poi premere il pulsante SIN, il che corrisponde appunto al metodo RPN per immettere l'equazione. Le calcolatrici scientifiche RPN HP non presentano questa peculiare differenza. Imparare l'RPN è facile Che lo si creda o meno, l'apprendimento della notazione polacca inversa è analogo a quello della matematica. A ben pensarci, per usare una calcolatrice in modo algebrico bisogna cambiare il modo in cui si è imparata la matematica. Facciamo un esempio: 3+5 --- 7+6 oppure (3+5) ÷ (7+6) = x Metodo algebrico: Sommare 3+5=8. Annotare la risposta o memorizzarla. Sommare 7+6=13. Ora digitare l'8 dell'operazione precedente e quindi dividerlo per il secondo risultato così da ottenere x=0,62. Capitolo I –Numerare contare calcolare 27
  • 28. Le origini dell’informatica Metodo RPN: Premere 3 e il tasto ENTER. Premere 5 e il tasto +. Premere 7 e il tasto ENTER. Premere 6 e il tasto +. Viene visualizzato il risultato della seconda somma. Ecco ora la parte sorprendente: premere il tasto di divisione e la calcolatrice fornisce il risultato: 0,62. Metodo algebrico: 13 tasti, senza contare lo sforzo per annotare o memorizzare il primo risultato mentre si calcola il secondo. Metodo RPN: 9 tasti e nessun bisogno di prendere appunti. Come funzionano le calcolatrici RPN RPN tiene traccia dei calcoli ponendoli in uno stack(2). Nell'esempio precedente, quando si è premuto ENTER per la seconda volta, il risultato della prima somma è stato inserito(3) nello stack in attesa dell'azione successiva. Dopo aver immesso la seconda somma, premendo il tasto di divisione, il risultato della prima somma viene diviso per il risultato della seconda e l'ultimo risultato in ordine di tempo viene rimosso(4) dallo stack. In altre parole, il metodo RPN ha eseguito il calcolo in un ordine logico. Per imparare a usare una calcolatrice RPN sono necessari solo pochi minuti, dopo di che è possibile risparmiare una considerevole quantità di tempo. Ecco un esempio pratico e comune di uso del metodo RPN. Operazione: Saldo: Operazione RPN: Stack RPN: $252 252 ENTER $252 Spesa €23 229 23 - 229 Deposito 30 259 30 + 259 Spesa 21 238 21 - 238 Spesa 43 195 43 - 195 Spesa 21 174 21 - 174 Controllo pagamento: 574 400 + 574 400 Spesa 35 539 35 - 539 Spesa 74 465 74 - 465 Spesa 26 439 26 - 26 Spesa 100 339 100 - 339 Spesa 10 329 10 - 329 Vuoi sperimentare l’utilizzo di una delle prime calcolatrici HP in notazione RPN, collegati al sito http://www.hpmuseum.org/simulate/hp35sim/hp35sim.htm (1) Modo algebrico: definizione della notazione matematica utilizzata su tutte le calcolatrici non-RPN quando si immette un'equazione matematica nel seguente modo: 1+3*(3+(2-5)/3). In modo algebrico le parentesi e l'ordine delle operazioni sono estremamente importanti. (2) Stack: detto anche LIFO (last-in, first-out), costituisce la base del sistema RPN essendo la 'memoria' che consente all'utilizzatore di immettere i numeri Capitolo I –Numerare contare calcolare 28
  • 29. Le origini dell’informatica (3) Inserimento: l'aggiunta di un numero alla fine dello stack che spinge tutti gli altri numeri verso l'alto. (1) Rimozione: l'eliminazione dell'ultimo numero inserito in uno stack. Capitolo I –Numerare contare calcolare 29
  • 30. Le origini dell’informatica Riferimenti capitolo 1 [1] Michael R. Williams A HISTORY OF COMPUTING TECHNOLOGY – IEEE COMPUTER SOCIETY 1996 Capitoli 1 e 2 [2] Nathan Altshiller Court -Mathematics in the History of Civilization – A.B. Arndt - Al Kwartizmi in From Five fingers to Infinity – Open Court [3] Ettore Picutti -Leonardo Fibonacci – Le Scienze Aprile 1982 [4] L.E. Sigler – Fibonacci’s Liber Abaci , A translation into Modern English of Leonardo Pisano’s Book of alculation – Springer Verlag New York - 2002 – www.verlag-ny.com Siti INTERNET http://www.hpmuseum.org/ . Capitolo I –Numerare contare calcolare 30
  • 31. 2 Macchine per calcolare I moderni elaboratori traggono le origini dalle macchine meccaniche sviluppate a partire dal 1600 per automatizzare le quattro operazioni aritmetiche. Le difficoltà incontrate dai primi pionieri furono enormi, poiché oltre allo sviluppo teorico dei meccanismi, le Fig. 10 Blaise Pascal rudimentali tecnologie meccaniche dell’epoca comportarono enormi problemi per la realizzazione pratica delle opere ideate. Le prime idee si mossero dall’utilizzo di una rappresentazione delle cifre decimali baste su ruote dentate con una posizione di riferimento. Per sommare il contenuto di due ruote, si faceva girare una terza ruota prima di un numero di scatti pari alla prima e poi pari alla seconda. Il problema maggiore da risolvere era quello della generazione dei riporti. Comunque le macchine di quest’epoca si possono ricondurre a sistemi basati su sei componenti fondamentali: Un meccanismo che oggi definiremmo di ingresso, che permettesse di caricare i numeri da elaborare. Un meccanismo di selezione che determinasse i movimenti da eseguire nel caso di un’addizione o di una sottrazione. Un meccanismo in gradi di registrare un numero all’interno della macchina. Fig. 9 La pascalina Un meccanismo di riporto, in grado di assicurare, nel caso il risultato di una somma fosse maggiore di 9, il riporto di una unità sulla ruota successiva.
  • 32. Le origini dell’informatica Un meccanismo di controllo in grado di impostare una posizione iniziale per tutte le ruote. Un meccanismo per cancellare il numero memorizzato nella macchina. In merito ai primi lavori in questo campo, sebbene alcune leggende accreditino al monaco Gerbert che divenne papa con il nome di Silvestro II, come il primo a sviluppare un congegno per il calcolo automatico, la prima macchina di cui si abbia notizie storiche certe, è quella sviluppata da Wihelm Schikard ( 1592 – 1635 ). Personaggio dai molteplici interessi, paragonato spesso per il suo eclettismo a Leonardo da Vinci, scienziato, inventore e pittore, si trovò a collaborare in diverse occasioni con Keplero. Della sua macchina per calcolare non sono rimaste tracce, probabilmente anche perché tutta la famiglia si estinse durante una delle periodiche epidemie che travagliarono l’Europa. In base alle informazioni disponibili nel 1971 si è costruita una replica della macchina. 2.1 La macchina di Pascal Ma il contributo più noto venne da Blaise Pascal ( 1623 – 1662 ), la sua macchina si basava su principi completamente differenti da quelli di Schickard, di cui non si ritiene avesse notizia. Nato nel sud della Francia, da famiglia nobile, Pascal fu educato in famiglia, principalmente da parte del padre potendo contare su una vasta biblioteca. A seguito di un tracollo economico dovuto ad una forte diminuzione sugli interessi del debito pubblico a seguito della guerra dei Differenze con i complementi trent’anni, il padre cadde in disgrazia e vene anche Sottrarre 34 a 87 imprigionato. Riabilitato, anche a seguito delle 87 - perorazioni dei figli, gli venne assegnato l’incarico 38 di esattore delle tasse nel nord della Normandia, ______ 49 incarico non certo molto popolare ma che complemento a 99 di 38 = 61 consentiva alla famiglia un certo agio. Fu proprio a seguito di tale incarico e dei laboriosi conti 87 + 61+ giornalieri necessari alla tenuta dei registri che 1 Pascal progettò e costruì la sua macchina da ______ 149 calcolo. La prima macchina venne costruita nel 1642, ma si ritiene che nel corso della sua vita ne Non considerando il riporto si ottiene il medesimo risultato. Certo eseguire il costruì in totale cinquanta esemplari . I numeri complemento a 99 è sempre una venivano inseriti mediante una serie di ruote forate sottrazione, ma si può fare senza riporti per mezzo di un perno un sistema simile ai selettori decadici dei telefoni. I risultati venivano riportati in una serie di finestrelle nella parte superiore della macchina. Le ruote potevano muoversi solo in una direzione, di conseguenza si potevano eseguire solo operazioni di somma, le sottrazioni venivano eseguite utilizzando il complemento a nove del numero da sottrarre il meccanismo del riporto è molto simile a quello di Schickard e si basa sull’utilizzo di una ruota con un solo dente accoppiata a quella per rappresentare il numero e che, solo Capitolo IV – I primi elaboratori 32
  • 33. Le origini dell’informatica dopo una rotazione completa, causasse la rotazione di uno scatto di quella successiva. Il problema maggiore consisteva nel fatto che nel caso un riporto generasse a sua volta un riporto e così via in catena, le forze necessarie da applicare per ottenere la generazione di tutti questi valori poteva compromettere i delicati meccanismi della macchina. I problemi maggiori che Pascal dovette affrontare per la costruzione delle sue macchine non furono tanto legati alla soluzione dei problemi teorici quanto alla loro realizzazione pratica. Per tali motivi, dopo alcuni deludenti risultati, si cimentò direttamente nella realizzazione pratica sperimentando diversi materiali per la costruzione degli ingranaggi, tra cui anche l’avorio. La vita di Pascal non fu certo felice, travagliato oltre che dalle difficoltà economiche anche da disturbi fisici molto forti, dovuti a malformazioni degli organi interni e del cervello, morirà in completa povertà, forse proprio ad una vita così travagliata va ricondotto il suo grande contributo filosofico e matematico. Il rifugiarsi in tali attività gli era forse unico sollievo ai tanti dolori e dispiaceri. 2.2 Leibnitz, un meccanismo per moltiplicare Un ulteriore contributo venne dal matematico tedesco Wihelm Leibnitz ( 1646 – 1716 ). Anche per lui educazione in famiglia resa possibile dalla disponibilità di una vasta biblioteca dove, dopo la morte del padre a soli sei anni, potrà liberamente formarsi. Certamente venne a conoscenza della macchina di PASCAL ma non ci è noto se ebbe la ossibilità di vederla funzionare. L’innovazione introdotta era la capacità di eseguire le moltiplicazioni. Per tale operazione era disponibile un congegno che, operando su una struttura di base simile a quella di Pascal, poteva essere accoppaiato a due ingranaggi per eseguire la moltiplicazione delle due cifre rappresentate. Come si può notare nell’illustrazione, il congegno poteva muoversi ( la parte circolare ) per venire accoppiata a qualsiasi coppia di ruote. Il meccanismo si basava Fig.12 Gottfried W. su di un cilindro con Leibnitz 1646 - 1716 scanalature di lunghezza proporzionale alle nove cifre. Questo meccanismo venne ripreso anche da altre macchine successive. Citiamo tra i maggiori tentativi di miglioramento di macchine basate su Fig.11 La macchina di Lebnitz questo principio quelle realizzate da Samuel Morland,Renè Grillet e tutte le macchine commerciali prodotte a partire dal 1820, che portarono alle calcolatri meccaniche da tavolo in uso fino agli anni’70. Da questo ramo evolutivo si stacca una nuova tipologia di macchine, Capitolo IV – I primi elaboratori 33
  • 34. Le origini dell’informatica si comincia a pensare di costruire macchine che non solo sappiano fare i calcoli ma che possano essere utilizzate a scopo generale, ma vediamo prima quale fu la necessità che spinse a questa evoluzione. 2.3 Il problema della longitudine e della latitudine Nel secolo XIX l’aumento dei traffici mercantili comporta che per la principale potenza marittima del tempo, la Gran Bretagna, la questione della sicurezza in mare diventa di primaria importanza. A tale scopo assumeva particolare importanza poter stabilire con precisione la posizione di una nave in mare. Se nel Mediterraneo era possibile effettuare una navigazione prevalentemente costiera questo non era possibile sugli oceani. Si disponeva già di carte nautiche abbastanza dettagliate ma a nulla potevano servire senza la possibilità di conoscere la propria posizione. Per determinarla occorre conoscere due angoli rispetto al sistema di coordinate sferiche, la longitudine e la latitudine. Per il primo la determinazione si Fig 13 .Jhon Harrison 1693 - 1776, ritratto con il basa sulla misura della cronometro H3. differenza fra i valori simultanei del tempo locale t di un astro e del tempo dello stesso astro rispetto ad un meridiano di riferimento. Occorre quindi poter disporre del tempo rispetto al meridiano di riferimento. Non potendo disporre di uno strumento accurato a tale Fig.14 H1 , presentato nel 1736 al scopo nel corso dei secoli si svilupparono diversi Board of Longitude metodi per raggiungere lo scopo. Tra tutti merita di essere citato quello dovuto a Galileo Galilei ( 1564 – 1642 ). A seguito della sua scoperta delle lune di Giove nel 1610. Le quattro lune battezzate Astri Medicei ruotano attorno al pianeta con tale rapidità da Capitolo IV – I primi elaboratori 34
  • 35. Le origini dell’informatica dare luogo ad eclissi che potevano essere utilizzate per il calcolo della latitudine. Si possono utilizzare due eclissi nel corso di una notte e su questa base Galileo produsse delle tabelle che consentivano di ricavare la longitudine. Naturalmente restava la difficoltà di procedere all’osservazione delle eclissi delle lune di Giove dal ponte di una nave a vela nel mezzo dell’oceano. Naturalmente il punto nave e di maggiore importanza in mezzo a una tempesta e con il mare molto mosso. La vera soluzione rimaneva la costruzione di un orologio che consentisse di mantenere il tempo con un errore molto basso. Un secondo d’arco corrisponde sulla sfera terrestre ad un miglio marino. L’uso di orologi a bordo delle navi risale al XVI secolo ma la precisione era del tutto insufficiente. Per tale motivo il parlamento inglese nel 1714 , su proposta del matematico W. Whiston e con il consenso della regina Anna approvò il Longitude Act con lo stanziamento di un premio di 10.000 , 15.000 o 20.000 sterline (si stima equivalenti a 12 milioni di Euro attuali ) a chi avesse determinato la longitudine rispettivamente con la precisione di 1°, 0°,75 e di 0°,50 . Tra le motivazioni che portarono a tale decisione vi fu l’ennesimo sinistro navale, la flotta da guerra inglese perse otto navi con 900 uomini presso la foce del fiume S.Lorenzo, le somme promesse, da capogiro per l’epoca, esprime in modo eloquente lo smarrimento dell’intera nazione di fronte alla mancanza di metodi sicuri per poter evitare tali disastri. La soluzione arrivò con Jhon Harrison, un geniale meccanico che nel 1736 presentò il suo primo modello di orologio denominato H1 al Board of Longitude, la commissione designata dal parlamento per valutare l’assegnazione del premio. L’ingegnosa costruzione prevedeva un orologio quasi del tutto privo di attrito , in gradi di mantenere le parti mobili in reciproco equilibrio senza l’effetto del moto ondoso. Lo stesso anno la regia nave Centurion sperimentò l’utilizzo dell’H1 in un viaggio tra Londra e Fig.15 H3 , il primo cronografo Lisbona. L’orologio perse solo un secondo nelle 24 ore. marino, che permise ad Harrison di Cionondimeno la commissione decise solo di ricevere il premio di 20.000 sterline. concedere 500 sterline per studiare successivi affinamenti non ritenendo l’orologio sufficientemente corrispondente alle richieste del Longitude Act. Occorsero 40 anni perché, finalmente, Harrison potesse incassare la meritata ricompensa, dopo il definitivo collaudo effettuato dal capitano James Cook nel suo secondo viaggio con la Resolution nel 1772. I membri della commissione osteggiarono in ogni modo Harrison, convinti sostenitori che la soluzione del problema della longitudine potesse venire solo da metodi astronomici. Incidentalmente vale la pena di ricordare che da solo H3 e il successivo H4, erano talmente complessi da rendere improba l’impresa di riprodurli in serie. Il Board iniziò allora a ricercare orologiai in grado di riprodurre, con la dovuta precisione, il cronografo. Il primo a riuscire nell’impresa, ricompensato con un premio di 500 sterline fu Larcum Kendal con il K1. Un ulteriore miglioramento fu ricompensato con altre 200 sterline nel 1776 per il K2. Il K2 venne Capitolo IV – I primi elaboratori 35
  • 36. Le origini dell’informatica imbarcato sul H.M.S Bounty al comando del capitano William Bligh. Nel celebre ammutinamento nel 1789 fu il K2 che consenti agli ammutinati, guidati dal secondo ufficiale Fletcher Christian, di rifugiarsi nell’isola di Pitcarin. Perché una nuova tecnologia possa effettivamente avere ripercussioni sulla società deve essere riproducibile in modo semplice e ampliamente disponibile. Nel 1860 la Royal Navy disponeva di più di 200 navi presenti su tutti i sette mari e possedeva più di 800 cronografi. Risolto il problema di come calcolare la longitudine rimaneva però quello della latitudine. Fin dai tempi più antichi l’uomo si è orientato sul mare seguendo le stelle, la testimonianza più antica la troviamo nell’Odissea. Nota l’altezza sull’orizzonte di un corpo celeste, sapendo quale è la posizione del corpo celeste sulla sfera celeste è possibile risalire alla latitudine dell’osservatore sulla terra. A causa del movimento della terra attorno al sole e dell’intero sistema solare nella nostra galassia , tale posizione varia di anno in anno. Occorre pertanto fornire ai naviganti delle tavole che mappino i principali corpi celesti alle varie latitudini. Tali tavole, denominate Effemeridi Nautiche, vanno prodotte a cadenza annuale e, possibilmente, non devono contenere errori. Vi era pertanto un grande interesse per un sistema di calcolo che consentisse di ricavare tali dati in modo automatico, veloce e sicuro. Il parlamento inglese avrebbe volentieri speso una somma uguale al premio conferito ad Harrison per tale scopo. Capitolo IV – I primi elaboratori 36
  • 37. Le origini dell’informatica 2.4 Il grande precursore I considered that a machine to execute the more isolated operations of arithmetic, would be comparatively of little value, unless it where very easily set to do is work, and unless it executed not only accurately, but with great, rapidity, whatever it was required to do. (Charles Babbage, Passage from the life of a Philosopher) Se già da due secoli si erano sviluppate macchine meccaniche per eseguire calcoli, non si può certo dire fossero molto funzionali e le capacità di gestire numeri elevati erano molto limitate. In questo quadro s'inserisce il pensiero e l'opera di Charles Babbage, matematico, scienziato, inventore o, come lui stesso si definì nella sua autobiografia, filosofo. Rivestì a Cambridge lo stesso prestigioso incarico che già fu di Isac Newton, la cattedra lucasiana. Già in quest'incarico dimostro le sue capacità innovative e lo spirito di precursore, Fig. 16 Charles Babbage 1791-1875 portando nel mondo statico e immutabile dell'università, che ancora poneva al centro delle proprie attenzioni le idee di Newton, la ventata di innovazione che proveniva Babbage, il primo a dal continente dove si stavano ponendo i fondamenti del calcolo differenziale concepire una macchina ed infinitesimale. Si occupò di ricerca operativa e della costruzione delle programmabile prime ferrovie, spaziò in tutti i campi della scienza ottocentesca.Ma tra tutti gli interessi quello che caratterizzò la vita di quest'uomo straordinario fu quello delle macchine per il calcolo automatico. Sulla base del fatto che lo sviluppo in serie di potenze può approssimare qualsiasi funzione continua ed utilizzando un metodo particolare noto come metodo alle differenze, progettò una macchina completamente meccanica, che, rappresentando le informazioni per mezzo di ruote dentate a dieci posizioni (sistema decimale), era in grado di svolgere operazioni in virgola mobile di numeri fino a 60 cifre. La soluzione più ingegnosa introdotta fu il meccanismo per il riporto, che anziché eseguire i singoli riporti effettuava un'unica operazione alla fine delle somme parziali per mezzo di un congegno a orologeria. La macchina destò un enorme interesse, infatti in piena rivoluzione industriale tutti i campi della tecnica risentivano pesantemente della mancanza di metodi per il calcolo automatico. La necessità di effettuare grandi moli di calcoli manualmente introduceva infatti la possibilità di errori di calcolo molto frequenti. Babbage era solito vantarsi del fatto che la sua macchina avrebbe potuto o non riuscire o dare un dato esatto, Capitolo IV – I primi elaboratori 37
  • 38. Le origini dell’informatica senza possibilità di ambiguità. Quello che ci si proponeva non era di costruire una macchina da replicare in grande serie e da porre al servizio dell’utente, ci si accontentava di produrne una sola da destinare alla produzione di tavole, logaritmiche , trigonometriche , per calcolare i tassi di ammortamento dei mutui o le già citate Effemeridi Nautiche. Le tavole dovevano essere calcolate con metodi manuali ed il lavoro necessario era enorme. In Francia, dopo la rivoluzione e l’introduzione del sistema metrico decimale si rese necessario predisporre nuove tavole in ogni campo. A tale scopo il direttorio radunò i migliori matematici di Francia, che a loro volta dovettero utilizzare più di cento persone per il lavoro di calcolo. Normalmente la biblioteca di un tecnico poteva contenere un centinaio di volumi di tavole. Quella di Babbage ne contava più di trecento. Il lavoro manuale comportava inevitabilmente errori in ogni fase della produzione delle tavole compresa quella di stampa. Non era raro assistere che a seguito della pubblicazione di un volume seguisse a breve quella dell’errata corrige, seguita da una errata corrige delle prima errata ed una seconda errata dell’errata. La sola soluzione al problema era la meccanizzazione dell’intero processo. Lo stesso Babbage pubblicò attorno al 1820 una raccolta di tavole logaritmiche e l’esperienza lo incitò all’ideazione di una tale macchina. La costruzione della macchina alle differenze fallì miseramente, l'elevato numero dei componenti da realizzare (20.000) l'alta precisione richiesta e la disponibilità di macchine utensili Fig. 17 La sezione costruita a scopo rudimentali vinsero alla fine la tenacia dimostrativo da Clement della macchina alle dell'autore. Certo tale insuccesso ebbe differenze tra le cause il carattere irruente di Babbage e i continui conflitti con il capo meccanico Clement. A seguito di quest'episodio nella storia della scienza la figura di Babbage fu indissolubilmente legata all'incompiutezza del suo progetto, e rimase il dubbio se effettivamente la macchina fosse realizzabile o le idee di base fossero realizzabili. Per sciogliere tale dubbio, alcuni ricercatori del museo della scienza e della tecnica di Londra hanno provato a realizzare, per il centenario della nascita di Babbage la seconda macchina alle differenze, sponsorizzati da diverse ditte produttrici di elaboratori. La macchina, in ottone, è stata realizzata e funziona perfettamente, pesa diverse tonnellate e consente di effettuare operazioni in virgola mobile con numeri fino a 36 cifre. Questo ha quindi dimostrato la validità delle idee di Babbage. Il fallimento della realizzazione della macchina alle differenze condizionò pesantemente la vita di Babbage, ma non ne fermò la furia creativa. Dopo Capitolo IV – I primi elaboratori 38
  • 39. Le origini dell’informatica pochi anni cominciò a lavorare ad un nuovo progetto che denominò macchina analitica, che doveva essere una macchina di uso generale, in grado cioè di eseguire una sequenza di operazioni base che di volta in volta venivano fornite dall’esterno mediante schede perforate, come già si faceva per i telai di Jacquard. La macchina era divisa in sezioni, una per acquisire dati e istruzioni, una per eseguirle ed una per stampare i risultati. E' in questo progetto che oggi si riconosce a Babbage il ruolo di grande precursore nello sviluppo dell'elaboratore. 2.5 La costruzione della prima macchina alle differenze L’avventura inizia nel Luglio del 1823 quando il Lord Cancelliere dello Scacchiere accorda un anticipo di 1.500 Sterline, dopo che il Consiglio della Royal Science Society si era espresso favorevolmente sulla validità del progetto proposto. Una cifra tra 3.000 e 5000 Sterline venne messa a disposizione dello stesso Babbage, che contava in un rimborso da parte del Governo una volta completata l’opera. Fu subito chiaro dopo la costruzione di una sezione funzionante della macchina a scopo dimostrativo che per la effettiva realizzazione dell’opera si sarebbe dovuto migliorare le tecniche all’epoca disponibili. Cosa che abbiamo già visto accadde anche a Pascal. Babbage fu fortunato nel trovare come capo meccanico Samuel Clement , senza dubbio uno dei più esperti meccanici dell’epoca. Gli anni che seguirono furono Fig. 18 Una leva per il riporto, sullo sfondo il disegno del segnati dall’intensa collaborazione pezzo tratto dalle tavole originali. tra i due che portò alla definizione di nuovi strumenti ed utensili che spesso venivano utilizzati per produrre a loro volta utensili ancora più perfezionati. Una schiera di tecnici si formò sotto la direzione di Clement e furono in seguito disseminati nelle officine di tutto il paese. Lo sforzo profuso fu tale che possiamo oggi ben dire ben spesi i soldi investiti del governo per il solo ritorno di miglioramento tecnico indotto nel paese. Si può paragonare la portata del progetto a quella del più recente progetto Apollo. Dopo quattro anni di intenso lavoro Bababge venne colpito in un breve lasso di tempo da una serie di sciagure famigliari. Perse in poco tempo la moglie, il figlio più giovane ed il padre. Nel Ottobre del 1827 si manifestarono parecchi problemi di salute e i medici gli consigliarono un soggiorno nel clima caldo dell’Italia. In tale periodo ebbe occasione di Capitolo IV – I primi elaboratori 39
  • 40. Le origini dell’informatica riordinare i propri conti e di scoprire di essere già alla cifra di 3.475 sterline spese. Richiese nuovamente l’intervento del Lord Cancelliere e dopo perorazioni di numerosi amici, tra i quali il Duca di Edimburgo, gli venne concesso un ulteriore finanziamento di 3.000 Sterline . Negli anni seguenti il reperimento degli ulteriori fondi divenne via via più difficoltoso. Questo comportava lunghi periodi di inattività durante i quali il personale assunto e istruito finiva con l’allontanarsi. Alla ripresa dei lavori si doveva assumere nuovo personale e procedere alla formazione. Durante uno di questi periodi Babbage pensò di costruire un nuovo edificio a fianco della propria abitazione per ospitare la macchina una volta completata, che al momento era in costruzione presso il laboratorio di Clement. Da questo nacque una disputa con il medesimo che lavorando anche per altri clienti, non voleva il trasferimento di tutta l’officina nel nuovo edificio. La disputa portò alla rottura del sodalizio tra i due, fatto deleterio per il progetto anche perché per la legge inglese a seguito della risoluzione del contratto tutti gli strumenti sviluppati rimasero proprietà di Clement. Durante i lunghi periodi di inattività Babbage dopo l’esperienza già maturata ideò una nuova macchina di concezione molto più avanzata e comunicò al governo che secondo la sua opinione la costruzione della nuova macchina sarebbe stata di gran lunga più conveniente rispetto al completamento di quella in costruzione. Per il Governo dopo le ingenti somme spese fu una vera doccia fredda. Vi fu una vivace seduta del parlamento dove un deputato dell’opposizione propose ironicamente di richiedere a Babbage se con la parte già costruita della macchina fosse in grado di calcolare quanto sarebbe costato completarla. Il 3 Novembre 1842 il Primo Ministro comunicò ufficialmente a Babbage che il governo non era più intenzionato a finanziare il progetto. Il Governo aveva contributo con un totale di 17.000 Sterline. 2.6 La ricostruzione della seconda macchina alle differenze di Babbage La risoluzione del dilemma sulla effettiva possibilità che le macchine di Babbage potessero funzionare si è avuta solo nel 1991, in contemporanea con il bicentenario della nascita di Babbage. Il progetto è stato sviluppato al Science Museum di Londra, basandosi sui progetti originali e sui quaderni di appunti dell’autore. Durante la costruzione della macchina, che pur con Fig. 19 Il metodo alle differenze. La serie delle terze differenze assume un valore costante. Sulla base di questa osservazione si può costruire la serie con solo operazioni di somma. Capitolo IV – I primi elaboratori 40
  • 41. Le origini dell’informatica l’impiego dell’attuale tecnologia ha richiesto due anni di lavoro si sono evidenziati alcuni errori di progetto, ma essenzialmente la macchina risulta corretta e come già detto perfettamente funzionante. Non è stata costruita la stampante che da sola presenta già una notevole complessità. Anche senza tale meccanismo, comunque la macchina pesa tre tonnellate. Cosa interessante della ricostruzione è che nella costruzione dei 4000 diversi tipi di pezzi necessari, pur utilizzando tecniche a volte diverse rispetto a quelle disponibili all’epoca si è sempre rispettata la precisione all’epoca disponibile, smentendo così l’idea che il progetto non venne realizzato per problemi inerenti l’impossibilità di conseguire la necessaria precisione. Il vero ostacolo fu solo, per l’epoca, l’enorme complessità. La macchina ricostruita è la seconda macchina alle differenze, così chiamata in quanto si basava sul metodo alle differenze finite illustrato nella figura . Il ruolo della stampante era importante in quanto nelle intenzioni dell’autore avrebbe dovuto produrre direttamente su lastre in alluminio la matrice per la stampa evitando in tale modo l’introduzione di errori tipografici nella composizione dei caratteri di stampa, Fig.27 L’unica parte purtroppo molto frequenti con la predisposizione manuale. costruita della macchina analitica, il mulino. Venne costruita da parte del figlio 2.7 La macchina analitica di Babbage Maggiore Henry P. Babbage con l’aiuto di Il più grande contributo dato da Babbage, anche se solo R.W.Monroe. Fu completata nel 1906 e concettuale, non fu però la macchina alle differenze. venne utilizzata per Appare quasi incredibile oggi riscontrare come un uomo solo calcolare i primi 25 potesse aver concepito un progetto talmente complesso e le cui multipli di π con una basi sono ancora oggi utilizzate nei moderni elaboratori. Le precisione di 29 cifre. macchine alle differenze erano infatti macchine mono scopo che potevano essere utilizzate solo per il calcolo polinomiale. L’idea alla base della macchina alle differenze è quella di una macchina di uso generale e programmabile dall’esterno mediante schede perforate. Questo naturalmente rivoluziona il concetto di macchina anche se nelle idea di Babbage il programma veniva acquisito dall’esterno. Anche se con tali limiti, comunque si comincia a riflettere sulle possibilità offerte da questo tipo di approccio, in particolare la possibilità di iterare una serie di istruzioni per un certo numero di cicli, o di scegliere tra diversi percorsi in base al valore di una variabile. Il concetto di ciclo e di selezione. Rotto il sodalizio con Clement Babbage si trovò a riflettere sul sistema della macchina alle differenza e concepì una nuova organizzazione della macchina nella quale le barre con i risultati potevano riportare il risultato per essere riutilizzato in calcoli successivi. Per ottenere questo pensò di organizzare i registri in forma circolare. Capitolo IV – I primi elaboratori 41 Fig.20 Charles Babbage
  • 42. Le origini dell’informatica Questo lo portò a pensare che ogni barra potesse essere equivalente nell’utilizzo, un luogo dove memorizzare temporaneamente un valore da poter utilizzare successivamente. Un registro . Nel maggio 1835 in una lettera a Mr. Quetelet scriveva : “… for six months been engaged in making the drawings of a new calculating engine of fa greater power than the first. I am myself astonished at the power I have been enabled to give to this machine; a year ago I should bot have belived this result possible.” Il fatto che Babbage non fosse intenzionato a tentare la costruzione della macchina analitica fece si che non predispose dei progetti dettagliati ma continuò a lavorare al progetto fino alla morte. Comunque già nel 1840 le parti principali erano definite. Nel disegno a lato , una vista dall’alto, si possono vedere tutte le parti principali , ogni cerchio rappresenta una colonna di ingranggi ( un registro ) , vi sono circa duecento colonne di ingranaggi anche se la maggior parte ha lo scopo di meccanismi di controllo. La macchina è composta da tre parti principali, il magazzino, il mulino e la barra di controllo. Il magazzino corrisponde alla memoria di lavoro (RAM) dei moderni elaboratori, il mulino all’unità aritmetico logica e la barra di controllo costituisce una rudimentale unità di micro controllo. Così come nella macchina alle differenze ogni colonna di ingranaggi memorizzava un numero con la posizione degli ingranaggi, ognuno dei quali poteva assumere dieci differenze posizioni. Nel prospetto possiamo individuare 16 colonne, in ognuna delle quali si possono immagazzinare due numeri. I numeri potevano essere trasferiti da e al mulino mediante la catena di ingranaggi rappresentata dalla lunga linea a destra e contrassegnata con Rack. Il mulino consiste in un complicato insieme di Fig.21 La barra di controllo ingranaggi e di trasmissioni distribuiti attorno al cerchio centrale. Consiste in una serie di accumulatori (A e A’) e degli ingranaggi associati utilizzati per i riporti da uno all’altro, un terzo accumulatore (“A”) è collocato appena sotto. Veniva utilizzato come appoggio per le operazioni di moltiplicazione e divisione. I nove piccoli assi ( da T1 a T9 ) collocati al centro del mulino sono da utilizzare per le moltiplicazioni e per le divisioni. Quando la macchina doveva moltiplicare x per y i nove multipli di x venivano immagazzinati nei nove piccoli assi e questi prodotti parziali venivano aggiunti al registro del risultato tante volte quanto y. Durante la moltiplicazione i due accumulatori potevano essere collegati tra di loro per memorizzare il risultato. Capitolo IV – I primi elaboratori 42
  • 43. Le origini dell’informatica Fig 22 . La macchina analitica vista dall’alto , dalle tavole originali di Babbage Le divisioni vengono eseguite in modo analogo. Le barre di controllo ( contrassegnate con B ) realizzano le microistruzioni necessarie per eseguire una operazione. Come illustrato nel disegno seguente le barre possono muoversi avanti ed indietro ( nella parte di macchina contrassegnata Reducing Appr ) per agganciar o sganciare le leve e gli ingranaggi utilizzati per realizzare le diverse operazioni. Ogni barra di controllo è in grado non solo di immagazzinare le microistruzioni da eseguire ma anche l’indirizzo della prossima microistruzione . L’ultima struttura principale ( contrassegnata con Counting Apparatus ) è semplicemente un registro contatore , da utilizzare per conteggiare quante volte una operazione viene effettuata. Secondo Babbage la macchina avrebbe richiesto 2,5 secondi per trasferire un numero da un registro esterno ad un registro del mulino mentre addizionare un numero ad un registro già contenuto nel mulino 3 secondi. La realizzazione della macchina avrebbe rappresentato quindi un enorme avanzamento per le capacità di calcolo dell’epoca. Dopo più di cento anni il MARK1 realizzato da Haiken con componenti elettromeccanici sarà in grado di realizzare una addizione in 0,3 secondi. Una delle parti più difficile della macchina analitica è costituita dal meccanismo per controllare i riporti multipli, come quelli che si generano sommando 1 a 999.999. Il problema viene risolto con un meccanismo denominato riporto anticipato. Il riporto viene controllato da una serie di segmenti che vengono anticipatamente posizionati in corrispondenza delle ruote che memorizzano 9. Con l’operazione la forza applicata da un lato viene trasmessa solo fino a quando I segmenti sono presenti . La precisione necessaria per realizzare i singoli pezzi è inferiore Capitolo IV – I primi elaboratori 43
  • 44. Le origini dell’informatica a 0,5 centesimi di millimetro, realizzabile ai tempi di Babbage ma con costi enormi. Fig. xx Il mulino della macchina analitica, in costruzione al tempo della morte di Babbage. Capitolo IV – I primi elaboratori 44
  • 45. Le origini dell’informatica 2.8 Ada Lovelace e i primi programmi Come già detto Babbage non fornì progetti dettagliati della macchina analitica ma in occasione di un viaggio in Italia ebbe occasione di esporre il progetto ad un gruppo di matematici e ingegneri torinesi, tra cui L.F.Menabrea , che diventerà successivamente anche capo del governo, e che predispose un resoconto dell’esposizione. Una collaboratrice ed amica di Babbage tradusse l’articolo in inglese, Ada Augusta King, Contessa di Lovelace, figlia del poeta Byron. Aggiunse anche commenti e note per spiegare i dettagli di funzionamento della macchina. Tra questi una dettagliata descrizione di come la macchina doveva essere programmata, utilizzando schede perforate, idea derivata dal telaio automatico di Jacquard. Molto si è discusso sul ruolo avuto da Ada, secondo alcuni fu la prima programmatrice, avendo scritto autonomamente i programmi a noi pervenuti, secondo altri non ebbe altro Fig. 23 Ada Augusta ruolo che quello di trascrivere gli appunti di Babbage. Byron Contessa di La verità ci viene fornita dallo stesso Babbage, in una Lovelace 1815 - 1851 lettera definisce Ada la sua interprete. Non avendo il tempo di predisporre rapporti dettagliati dei propri lavori, Ada provvedeva pazientemente al lavoro aggiungendo esemplificazioni e spiegazioni . Ada ebbe una educazione di prim’ordine, inusitata anche per una persona nobile dell’epoca e, soprattutto, per una donna. “ La caratteristica distintiva della macchina analitica è l’introduzione del principio ideato da Jacquard per realizzare, attraverso schede perforate, i disegni più complessi nella fabbricazione di stoffe broccate …. Possiamo effettivamente dire che la macchina analitica tesse disegni algebrici proprio come il telaio di Jacquard tesse fiori e foglie “ ma rispetto all’alea di leggenda che circondava la macchina, che si sospettava potesse pensare come l’uomo Ada ridimensiona la cosa , “La macchina analitica non ha alcuna pretesa di originare qualcosa, può fare qualsiasi cosa noi sappiamo come ordinarle di eseguire “ Esaminiamo come negli appunti redatti da Ada la macchina avrebbe dovuto Capitolo IV – I primi elaboratori 45 Fig.24 Una scheda per programmare la macchina analitica , le schede erano unite tra loro con un corda, notare i commenti in alto.
  • 46. Le origini dell’informatica essere programmata. Facendo riferimento allo schema della macchina del paragrafo precedente, le schede con le istruzioni per la macchina dovevano essere raccolte in sequenza per costruire un programma. Il lettore delle schede le leggeva una volta, una scheda poteva contenere una istruzione come ad esempio V6 x V3, e in conseguenza la barra doveva eseguire la sequenza di operazioni necessari per realizzare l’operazione. Capitolo IV – I primi elaboratori 46
  • 47. Le origini dell’informatica Fig.25 Il programma predisposto da Ada Lovelace per il calcolo dei numeri di Bernoulli con la macchina analitica Era possibile effettuare dei cicli con delle istruzioni del tipo, Se l’apparato di controllo contiene un numero inferiore a N allora ritorna indietro nella sequenza di schede di P posizioni. Capitolo IV – I primi elaboratori 47
  • 48. Le origini dell’informatica Un ciclo repeat until . Le schede erano però suddivise in lettori diverse, schede con istruzioni di controllo, schede con indicazione dei registri coinvolti nell’operazione, schede con costanti da acquisire dall’esterno. Questo avrebbe permesso di creare cicli di operazioni da applicare a gruppi diversi di registri o utilizzare costanti diverse nei medesimi calcoli. Vediamo un esempio : La macchina deve essere predisposta per eseguire l’operazione a(b+c)/(d-e) Inizialmente i valori devono essere inseriti manualmente nei registri A in V1 B in V2 C in V3 D in V4 E in V5 Indichiamo le schede con le direttive N’ la macchina trasferisce il contenuto del mulino nel registro N ‘N la macchina trasferisce il contenuto del registro N nel mulino La sequenza di schede di controllo ‘2 , ’3 , 6’ , ’6 , ’1 , 7’ , ’4 , ’5 , 8’ , ’7 , ’8 , 9’ in combinazione con le schede delle operazioni +,x ,-,/ comporterà l’esecuzione delle operazioni : V2 + V3 = V6 V6 * V1 = V7 V4 - V5 = V8 V7 / V8 = V9 Quanto illustrato è un esempio molto semplice ma ci sono pervenuti anche programmi molto più complessi, tra cui uno per il calcolo dei numeri di Bernoulli. Nella figura sono rappresentate le istruzioni per il calcolo del quarto numero. Le prime sei colonne rappresentano le operazioni, le colonne rimanenti i contenuti dei registri. Ogni riga Fig. 26 Charles Babbage , dagherrotipo Capitolo IV – I primi elaboratori 48