Informatica , leorigini e losviluppoDalle 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 ...
Sommario1     Numerare , contare , calcolare 5    1.1    Quanti 5    1.2    Registrare e rappresentare i numeri con un sis...
4.1    Le macchine di Zuse 61    4.2    Le macchine di Harward 63    4.3    L’avvento dell’elettronica 65    4.4    Il cal...
1 Numerare , contare , calcolarePrima di guardarti avanti guardati indietro(John Watt)1.1 Quanti  N          ello sviluppo...
Le origini dell’informaticaelemento simbolico svincolato da oggetti materiali. E’ certo che in origine itermini utilizzati...
Le origini dell’informatica        L’effetto che sui nostri antenati ebbe l’appropriarsi della capacità di manipolare le q...
Le origini dell’informatica concetto astratto. Lo stadio successivo consiste nell’associare simboli a gruppi e con questi ...
Le origini dell’informatica      0      Lo zero rappresenta il definitivo distacco del concetto di numero da una sua      ...
Le origini dell’informatica lavoro inizia con la numerazione e discute diffusamente dell’utilizzo delle cifre ed in partic...
Le origini dell’informaticamaestri e allievi della scuola toscana. Non era certo un’opera facile, Leonardoconsigliava al l...
Le origini dell’informaticacorte di Federico, Maestro Domenico, a spingere Leonardo a scrivere unnuovo testo, un compendio...
Le origini dell’informaticaLa prova del 9 Leonardo inserisce nelle spiegazioni delle operazioni anche un metodo per contro...
Le origini dell’informatica    Sia per la complessità che per la lunghezza la diffusione del Liber Abaci fu    piuttosto r...
Le origini dell’informatica Terzo figlio                  Mijc.63 Quarto figlio                 1264 Quinto figlio        ...
Le origini dell’informatica      che lo rese celebre come teologo. E’ da credere che l’ispirazione venne dai      primi la...
Le origini dell’informaticadel Ministero della Pubblica Istruzione per la matematica per l’anno 1970”,con la seguente moti...
Le origini dell’informatica   Fig. 10 Tavola per il calcolo dei Logaritmi tratta da le “ Tavole Logaritmiche e Trigonometr...
Le origini dell’informatica1.7 Un esempio pratico, una moltiplicazione con l’utilizzo    delle tavole logaritmiche Premess...
Le origini dell’informaticaIl numero è 1347, per cui le prime 3 cifre sono 134. Sulla linea 134 manca ilvalore nella colon...
Le origini dell’informatica                                                 Per interpolare si usano le tabelle P.P. (part...
Le origini dell’informaticaTerminiamo ricordando che nel 1959             Karl Rottmann pubblica presso ilBibliographische...
Le origini dell’informaticaCapitolo I –Numerare contare calcolare                                         23
Le origini dell’informaticaCapitolo I –Numerare contare calcolare                                         24
Le origini dell’informaticaFig. xx Una pagina delle tavole di Rottman1.8 I regoli calcolatori  Con lo sviluppo dei logarit...
Le origini dell’informatica1.8.2    Divisione   1. Portare divisore sulla scala C sopra il dividendo sulla scala D   2. po...
Le origini dell’informaticaIl metodo RPN: descrizione e origineSe siete utilizzatori assidui di una calcolatrice, è giunto...
Le origini dell’informaticaMetodo RPN: Premere 3 e il tasto ENTER. Premere 5 e il tasto +. Premere 7 e il tastoENTER. Prem...
Le origini dell’informatica(3) Inserimento: laggiunta di un numero alla fine dello stack che spinge tutti gli altri numeri...
Le origini dell’informatica    Riferimenti capitolo 1    [1] Michael R. Williams A HISTORY OF COMPUTING TECHNOLOGY –    IE...
2 Macchine per calcolare    I        moderni elaboratori traggono le origini dalle macchine       meccaniche sviluppate a ...
Le origini dell’informaticaUn meccanismo di controllo in grado di impostare una posizione iniziale pertutte le ruote.Un me...
Le origini dell’informatica dopo una rotazione completa, causasse la rotazione di uno scatto di quella successiva. Il prob...
Le origini dell’informatica   si comincia a pensare di costruire macchine che non solo sappiano fare i calcoli   ma che po...
Le origini dell’informaticadare luogo ad eclissi che potevano essere utilizzate per il calcolo dellalatitudine. Si possono...
Le origini dell’informaticaimbarcato sul H.M.S Bounty al comando del capitano William Bligh. Nelcelebre ammutinamento nel ...
Le origini dell’informatica2.4 Il grande precursore I considered that a machine to execute the more isolated operations of...
Le origini dell’informaticasenza possibilità di ambiguità. Quello che ci si proponeva non era di costruireuna macchina da ...
Le origini dell’informatica pochi anni cominciò a lavorare ad un nuovo progetto che denominò macchina analitica, che dovev...
Le origini dell’informaticariordinare i propri conti e di scoprire di essere già alla cifra di 3.475 sterlinespese. Richie...
Le origini dell’informatica l’impiego dell’attuale tecnologia ha richiesto due anni di lavoro si sono evidenziati alcuni e...
Le origini dell’informaticaQuesto lo portò a pensare che ogni barra potesse essere equivalentenell’utilizzo, un luogo dove...
Le origini dell’informaticaFig 22 . La macchina analitica vista dall’alto , dalle tavole originali di Babbage    Le divisi...
Le origini dell’informatica  a 0,5 centesimi di millimetro, realizzabile ai tempi di Babbage ma con costi  enormi.Fig. xx ...
Le origini dell’informatica   2.8 Ada Lovelace e i primi programmi       Come già detto Babbage non fornì progetti dettagl...
Le origini dell’informaticaessere programmata. Facendo riferimento allo schema della macchina delparagrafo precedente, le ...
Le origini dell’informatica    Fig.25 Il programma predisposto da Ada Lovelace per il calcolo dei numeri di Bernoulli con ...
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
Introduzione all'informatica2006
Upcoming SlideShare
Loading in...5
×

Introduzione all'informatica2006

831

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
831
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Introduzione all'informatica2006"

  1. 1. Informatica , leorigini e losviluppoDalle schegge di selce alle schegge di silicio Flavio Lombella , 2006
  2. 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. 3. Sommario1 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 152 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 503 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 594 I primi elaboratori 61
  4. 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. 5. 1 Numerare , contare , calcolarePrima di guardarti avanti guardati indietro(John Watt)1.1 Quanti N ello sviluppo della storia delluomo, 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 luomo astrarre il concetto di numero come
  6. 6. Le origini dell’informaticaelemento simbolico svincolato da oggetti materiali. E’ certo che in origine itermini utilizzati per rappresentare le quantità numeriche erano diversi peroggetti diversi.Di questa difficoltà possiamo trovare ancora traccia nellinguaggio odierno. Quando nella nostra lingua dobbiamo indicare un gruppodi 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 nullavieterebbe, dal punto di vista logico, di utilizzare un unico termine. Nondisponiamo di testimonianze dirette ma il sopravvivere fino a tempi recenti dipopolazioni che in luoghi isolati hanno mantenuto un modo di vita tipico diquello dell’età della pietra ci ha permesso di avere delle testimonianze direttedelle capacità di rappresentare i numeri e del loro utilizzo. All’inizio delsecolo scorso un missionario vissuto a lungo nella tribù dei Tamanaca, lungo ilcorso dell’Orinoco, riportava come il metodo utilizzato per contare si basava suparole per identificare le sole prime quattro quantità. Per contare si avvalevanodi mani e piedi. Cinque corrispondeva ad una mano intera. Oltre siidentificavano i numeri con uno sull’altra mano, fino a due mani, poi uno sulprimo piede, due mani ed un piede, unosull’altro piede. Venti veniva identificatoquindi con un intero indiano e oltre con unindiano e uno. Insomma si può definire unsistema di numerazione a base venti. Unsistema analogo si riscontra anche nellepopolazioni Eschimesi e questo fa pensare cheil modo di numerare risalga ad un’epocaprecedente a quella in cui le grandi migrazioniportarono Homo Sapiens a colonizzare l’interopianeta, vista la difficoltà di rappresentarevisivamente le dita in popolazioni abituate avivere completamente coperte da pellicce.Quell’epoca che ancora oggi nella tradizioniorale degli aborigeni australiani viene indicata Fig.2 Il papiro di Rhind, parte inizialecome l’epoca del sogno.Una delle esigenze principali che spinsero allo sviluppo della capacità dicalcolare fu il commercio.Un secondo esempio molto significativo ci viene dal resoconto sempre di unmissionario che a fine 800 ci riportava gli usi delle tribù Dammara, nel SudAfrica. A proposito dell’utilizzo del baratto osservava come quando duranteuno scambio di ad esempio pecore per stecche di tabacco supponendo che ilcambio corrente fosse di una pecora per due stecche, il cambio di due pecoreavveniva nel seguente modo : prima il venditore delle pecore cedeva al primapecora ricevendo in cambio le prime due stecche. La pecora doveva essereallontanata. Convinto che la prima transazione fosse stata correttamente eonestamente svolta si passava alla seconda pecora. Uno scambio in cuidirettamente si davano le due pecore e si ricevevano in cambio quattro stecchenon era assolutamente accettato. Insomma per questa parte dell’umanità ilconcetto che due per due fa quattro era ancora lontano dall’essere acquisito.Capitolo I –Numerare contare calcolare 6
  7. 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. 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. 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 lintroduzione 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. 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. 11. Le origini dell’informaticamaestri e allievi della scuola toscana. Non era certo un’opera facile, Leonardoconsigliava al lettore di insistere nell’applicazione e nell’esercizio continuo,sino a che memoria e ragionamento, mani e numeri “ quasi uno impulsu etanelitu in uno et eodem instanti circa idem per omnia naturaliter consonent” .Sarà questo anelito di perfezione a fare di Leonardo un matematico dieccezione 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à delsecolo successivo tradurrà la sua opera in volgare e citerà ripetutamente le sueopere e ne ricorderà la figura.“ dicho che L.P. fu uomo sottilissimo in tutte le dispute et secondo che sitrova, lui fu il primo che ridusse allume questa pratica in toscana, che allorasi andava per vie molte e strane” Dal 1202 al 1220 Leonardo Pisano non scrisse più nulla. In quegli anni gliscomunicati della quarta crociata fondavano l’impero latino d’Oriente e nuovitesti, questa volta greci, passavano in Europa ; crociati comunicatidistruggevano la Provenza e i suoi abitanti, demandando a Dio l’incarico diriconoscere le anime dei non eretici. A Parigi veniva proibita , pena lascomunica, la lettura sia in pubblico che in privato delle opere di Aristotele. Learti, le lettere e le scienze ebbero un forte impulso dall’avvento di Federico diSvevia, “stupor mundi”, che volle alla sua corte notari e protonotari indigeni,“magistri” e “philosofi” di tutte le nazioni. Fu proprio uno dei filosofi dellaCapitolo I –Numerare contare calcolare 11
  12. 12. Le origini dell’informaticacorte di Federico, Maestro Domenico, a spingere Leonardo a scrivere unnuovo testo, un compendio di geometria , la Pratica Geometriae.Leonardo fu protagonista di sfide alla corte di Federico. Nel 1223 l’imperatorepasso per Pisa e Leonardo venne presentato a Federico II da MaestroDomenico. Davanti all’imperatore si intrattenne in discussioni con MaestroGiovanni da Palermo. Questi propose a Leonardo problemi del tipo di trovarela soluzione ad una equazione di terzo grado o trovare un congruo, cioè“Trovare un numero quadrato tale che , sia aggiungendogli che togliendoli5, dia sempre un quadrato”.Capitolo I –Numerare contare calcolare 12
  13. 13. Le origini dell’informaticaLa 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. 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.Lxi1 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. 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. 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 pubblicaFig 9. Il frontespizio della prima una serie di tavole con i logaritmi dei numeriedizione 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. 17. Le origini dell’informaticadel 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 finoa 10.000 e delle funzioni trigonometriche , dove l’uso di particolariaccorgimenti consente di ottenere approssimazioni molto soddisfacenti.”L’opera riporta i logaritmi delle funzioni trigonometriche ed il valore deiquadrati e dei cubi dei primi 1000 numeri. Seguono istruzioni per l’uso conesempi pratici in particolare per interpolare valori tra quelli tabulati.Sia le tecniche esposte da Leonardo Pisano che l’utilizzo delle tavoletrigonometriche richiedevano del personale specializzato e ben addestrato. Icalcoli erano comunque lunghi e tediosi, inevitabilmente soggetti ad errori. Sicominciò a ragionare di come tale lavoro potesse essere automatizzatoutilizzando delle macchine.Capitolo I –Numerare contare calcolare 17
  18. 18. Le origini dell’informatica Fig. 10 Tavola per il calcolo dei Logaritmi tratta da le “ Tavole Logaritmiche e Trigonometriche di Guglielmo Palazzi “ - 1974Capitolo I –Numerare contare calcolare 18
  19. 19. Le origini dell’informatica1.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. 20. Le origini dell’informaticaIl numero è 1347, per cui le prime 3 cifre sono 134. Sulla linea 134 manca ilvalore nella colonna L, per le prime due cifre della parte decimale si deve quindiprendere l ultimo valore della colonna L prima della linea 134 (12). Le altre 3 sitrovano sulla riga per N=134 nella colonna 7 (937).La parte decimale sarà quindi 12937Il logaritmo di 1347 è 3,12937.Ora si somma il logaritmo di 10,34 al logaritmo di 1034 (nel caso della divisionesi dovrebbe sottrarre)1,01452 + 3,12937 = 4,14389Il prodotto tra 10,34 e 1347 sarà il numero il cui logaritmo è 4,14389, ora lo sideve cercare nella tavola.La parte intera del logaritmo è la potenza di 10 del numero cercato (4), con laparte decimale (14389) si trovano le cifre.La parte decimale inizia con le 2 cifre 14, le si cercano nella colonna L. Poi sicercano le altre 3 cifre (389) nelle colonne seguenti numerate da 0 a 9. Il 389non c è, ci sono il 364 nella colonna 2 ed il 395 nella colonna 3 della riga perN=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. 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 = 25Nella 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 quintacifra significativa.Il numero cercato sarà dunque 13928:10,34 x 1347 = 13928Fig. xx Frontespizio della pubblicazione di Rottman Capitolo I –Numerare contare calcolare 21
  22. 22. Le origini dell’informaticaTerminiamo ricordando che nel 1959 Karl Rottmann pubblica presso ilBibliographisches Institut di Mannheim delle tavole logaritmiche calcolate estampate con l aiuto del computer. Non contengono errori di stampa . conquesto 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 eranoall’inizio non delle macchine di uso generale ma data la mole ed i costi solo perscopi molto particolari, le necessità di calcolo della vita quotidiano erano sempresoddisfatte 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. 23. Le origini dell’informaticaCapitolo I –Numerare contare calcolare 23
  24. 24. Le origini dell’informaticaCapitolo I –Numerare contare calcolare 24
  25. 25. Le origini dell’informaticaFig. xx Una pagina delle tavole di Rottman1.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.html1.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 DSe 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. 26. Le origini dell’informatica1.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 DSe 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, unintroduzione alla notazionepolacca inversa Capitolo I –Numerare contare calcolare 26
  27. 27. Le origini dell’informaticaIl metodo RPN: descrizione e origineSe siete utilizzatori assidui di una calcolatrice, è giunto il momento di scoprire i vantaggi delmetodo RPN. RPN è lacronimo di Reverse Polish Notation (notazione polacca inversa). Lanotazione polacca inversa è stata sviluppata nel 1920 da Jan Lukasiewicz come un modoper scrivere unespressione matematica senza usare parentesi. Hewlett-Packard Co. haritenuto che il metodo di Lukasiewicz fosse superiore alle espressioni algebriche standard(1)nelluso di calcolatrici e computer, e ha adottato la notazione polacca per la sua primacalcolatrice scientifica tascabile, la hp35, nel 1972.Perché usare RPN? • RPN permette di risparmiare tempo e immissioni di dati. Non occorre usare leparentesi per effettuare i calcoli. Il processo è simile al modo in cui si è appresa lamatematica su carta. • Si possono vedere i risultati intermedi mentre si eseguono i calcoli anziché averesolo la risposta finale al termine. Si tratta di una funzione estremamente utile. Gli insegnantidi matematica la utilizzano per migliorare la comprensione della matematica dei lorostudenti. • Un risultato intermedio consente di controllare i risultati e di correggere gli errori piùfacilmente. Risulta così più semplice seguire il corso del calcolo. Lutilizzatore definisce lapriorità degli operatori. • RPN è logico perché lutilizzatore prima immette il numero e poi stabilisce cosafarne.HP Fornisce la piena funzionalità RPNHewlett-Packard produce alcuni modelli di calcolatrici con RPN perché si tratta di un metododi calcolo estremamente potente e semplice. Le calcolatrici scientifiche HP 48G+ e HP48GX e la calcolatrice finanziaria hp12C usano esclusivamente RPN. HP sa bene comunqueche vi sono clienti che preferiscono il modo di immissione algebrico tradizionale. Eccoperché alcune calcolatrici HP funzionano con i due sistemi, RPN e algebrico. Ad esempio, la17BII e la 49G possono passare da una modalità allaltra.RPN è coerente nelluso. Gran parte delle calcolatrici scientifiche non-RPN sono metà RPNe 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 epoi premere il pulsante SIN, il che corrisponde appunto al metodo RPN per immetterelequazione. Le calcolatrici scientifiche RPN HP non presentano questa peculiare differenza.Imparare lRPN è facileChe lo si creda o meno, lapprendimento della notazione polacca inversa è analogo a quellodella matematica. A ben pensarci, per usare una calcolatrice in modo algebrico bisognacambiare il modo in cui si è imparata la matematica.Facciamo un esempio: 3+5---7+6oppure (3+5) ÷ (7+6) = xMetodo algebrico: Sommare 3+5=8. Annotare la risposta o memorizzarla. Sommare7+6=13. Ora digitare l8 delloperazione precedente e quindi dividerlo per il secondo risultatocosì da ottenere x=0,62. Capitolo I –Numerare contare calcolare 27
  28. 28. Le origini dell’informaticaMetodo RPN: Premere 3 e il tasto ENTER. Premere 5 e il tasto +. Premere 7 e il tastoENTER. Premere 6 e il tasto +. Viene visualizzato il risultato della seconda somma. Ecco orala 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 primorisultato mentre si calcola il secondo.Metodo RPN: 9 tasti e nessun bisogno di prendere appunti. Come funzionano le calcolatrici RPNRPN tiene traccia dei calcoli ponendoli in uno stack(2). Nellesempio precedente, quando siè premuto ENTER per la seconda volta, il risultato della prima somma è stato inserito(3)nello stack in attesa dellazione successiva. Dopo aver immesso la seconda somma,premendo il tasto di divisione, il risultato della prima somma viene diviso per il risultato dellaseconda e lultimo risultato in ordine di tempo viene rimosso(4) dallo stack. In altre parole, ilmetodo 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 ecomune di uso del metodo RPN. Operazione: Saldo: Operazione RPN: Stack RPN: $252 252 ENTER $252Spesa €23 229 23 - 229Deposito 30 259 30 + 259Spesa 21 238 21 - 238Spesa 43 195 43 - 195Spesa 21 174 21 - 174Controllo pagamento: 574 400 + 574400Spesa 35 539 35 - 539Spesa 74 465 74 - 465Spesa 26 439 26 - 26Spesa 100 339 100 - 339Spesa 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 calcolatricinon-RPN quando si immette unequazione matematica nel seguente modo: 1+3*(3+(2-5)/3).In modo algebrico le parentesi e lordine delle operazioni sono estremamente importanti.(2) Stack: detto anche LIFO (last-in, first-out), costituisce la base del sistema RPN essendola memoria che consente allutilizzatore di immettere i numeri Capitolo I –Numerare contare calcolare 28
  29. 29. Le origini dell’informatica(3) Inserimento: laggiunta di un numero alla fine dello stack che spinge tutti gli altri numeriverso lalto.(1) Rimozione: leliminazione dellultimo numero inserito in uno stack. Capitolo I –Numerare contare calcolare 29
  30. 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. 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. 32. Le origini dell’informaticaUn meccanismo di controllo in grado di impostare una posizione iniziale pertutte le ruote.Un meccanismo per cancellare il numero memorizzato nella macchina.In merito ai primi lavori in questo campo, sebbene alcune leggende accreditinoal monaco Gerbert che divenne papa con il nome di Silvestro II, come il primoa sviluppare un congegno per il calcolo automatico, la prima macchina di cui siabbia notizie storiche certe, è quella sviluppata da Wihelm Schikard ( 1592 –1635 ). Personaggio dai molteplici interessi, paragonato spesso per il suoeclettismo a Leonardo da Vinci, scienziato, inventore e pittore, si trovò acollaborare in diverse occasioni con Keplero. Della sua macchina per calcolarenon sono rimaste tracce, probabilmente anche perché tutta la famiglia si estinsedurante una delle periodiche epidemie che travagliarono l’Europa. In base alleinformazioni disponibili nel 1971 si è costruita una replica della macchina.2.1 La macchina di PascalMa il contributo più noto venne da Blaise Pascal ( 1623 – 1662 ), la suamacchina si basava su principi completamente differenti da quelli di Schickard,di cui non si ritiene avesse notizia. Nato nel sud della Francia, da famiglianobile, Pascal fu educato in famiglia, principalmente da parte del padrepotendo contare su una vasta biblioteca. A seguito di un tracollo economicodovuto ad una forte diminuzione sugli interessi deldebito pubblico a seguito della guerra dei Differenze con i complementitrent’anni, il padre cadde in disgrazia e vene anche Sottrarre 34 a 87imprigionato. Riabilitato, anche a seguito delle 87 -perorazioni dei figli, gli venne assegnato l’incarico 38di esattore delle tasse nel nord della Normandia, ______ 49incarico non certo molto popolare ma che complemento a 99 di 38 = 61consentiva alla famiglia un certo agio. Fu proprio aseguito di tale incarico e dei laboriosi conti 87 + 61+giornalieri necessari alla tenuta dei registri che 1Pascal progettò e costruì la sua macchina da ______ 149calcolo. La prima macchina venne costruita nel1642, ma si ritiene che nel corso della sua vita ne Non considerando il riporto si ottiene il medesimo risultato. Certo eseguire ilcostruì in totale cinquanta esemplari . I numeri complemento a 99 è sempre unavenivano inseriti mediante una serie di ruote forate sottrazione, ma si può fare senza riportiper mezzo di un perno un sistema simile ai selettoridecadici dei telefoni. I risultati venivano riportati inuna serie di finestrelle nella parte superiore dellamacchina. Le ruote potevano muoversi solo in una direzione, di conseguenza sipotevano eseguire solo operazioni di somma, le sottrazioni venivano eseguiteutilizzando il complemento a nove del numero da sottrarre il meccanismo delriporto è molto simile a quello di Schickard e si basa sull’utilizzo di una ruotacon un solo dente accoppiata a quella per rappresentare il numero e che, soloCapitolo IV – I primi elaboratori 32
  33. 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. 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 siFig 13 .Jhon Harrison1693 - 1776, ritratto con il basa sulla misura dellacronometro 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. 35. Le origini dell’informaticadare luogo ad eclissi che potevano essere utilizzate per il calcolo dellalatitudine. Si possono utilizzare due eclissi nel corso di una notte e su questabase Galileo produsse delle tabelle che consentivano di ricavare la longitudine.Naturalmente restava la difficoltà di procedere all’osservazione delle eclissidelle 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 tempestae con il mare molto mosso. La vera soluzione rimaneva la costruzione di unorologio che consentisse di mantenere il tempo con un errore molto basso. Unsecondo d’arco corrisponde sulla sfera terrestre ad un miglio marino. L’uso diorologi a bordo delle navi risale al XVI secolo ma la precisione era del tuttoinsufficiente. Per tale motivo il parlamento inglese nel 1714 , su proposta delmatematico W. Whiston e con il consenso della regina Anna approvò ilLongitude Act con lo stanziamento di un premio di 10.000 , 15.000 o 20.000sterline (si stima equivalenti a 12 milioni di Euro attuali ) a chi avessedeterminato la longitudine rispettivamente con la precisione di 1°, 0°,75 e di0°,50 . Tra le motivazioni che portarono a tale decisione vi fu l’ennesimosinistro navale, la flotta da guerra inglese perse otto navi con 900 uominipresso la foce del fiume S.Lorenzo, le somme promesse, da capogiro perl’epoca, esprime in modo eloquente lo smarrimentodell’intera nazione di fronte alla mancanza di metodisicuri per poter evitare tali disastri. La soluzione arrivòcon Jhon Harrison, un geniale meccanico che nel 1736presentò il suo primo modello di orologio denominatoH1 al Board of Longitude, la commissione designatadal parlamento per valutare l’assegnazione del premio.L’ingegnosa costruzione prevedeva un orologio quasidel tutto privo di attrito , in gradi di mantenere le partimobili in reciproco equilibrio senza l’effetto del motoondoso. Lo stesso anno la regia nave Centurionsperimentò l’utilizzo dell’H1 in un viaggio tra Londra e Fig.15 H3 , il primo cronografoLisbona. L’orologio perse solo un secondo nelle 24 ore. marino, che permise ad Harrison diCionondimeno la commissione decise solo di ricevere il premio di 20.000 sterline.concedere 500 sterline per studiare successiviaffinamenti non ritenendo l’orologio sufficientementecorrispondente alle richieste del Longitude Act. Occorsero 40 anni perché,finalmente, Harrison potesse incassare la meritata ricompensa, dopo ildefinitivo collaudo effettuato dal capitano James Cook nel suo secondo viaggiocon la Resolution nel 1772. I membri della commissione osteggiarono in ognimodo Harrison, convinti sostenitori che la soluzione del problema dellalongitudine potesse venire solo da metodi astronomici. Incidentalmente valela pena di ricordare che da solo H3 e il successivo H4, erano talmentecomplessi da rendere improba l’impresa di riprodurli in serie.Il Board iniziò allora a ricercare orologiai in grado di riprodurre, con la dovutaprecisione, il cronografo. Il primo a riuscire nell’impresa, ricompensato con unpremio di 500 sterline fu Larcum Kendal con il K1. Un ulteriore miglioramentofu ricompensato con altre 200 sterline nel 1776 per il K2. Il K2 venneCapitolo IV – I primi elaboratori 35
  36. 36. Le origini dell’informaticaimbarcato sul H.M.S Bounty al comando del capitano William Bligh. Nelcelebre ammutinamento nel 1789 fu il K2 che consenti agli ammutinati, guidatidal secondo ufficiale Fletcher Christian, di rifugiarsi nell’isola di Pitcarin.Perché una nuova tecnologia possa effettivamente avere ripercussioni sullasocietà deve essere riproducibile in modo semplice e ampliamente disponibile.Nel 1860 la Royal Navy disponeva di più di 200 navi presenti su tutti i settemari e possedeva più di 800 cronografi.Risolto il problema di come calcolare la longitudine rimaneva però quello dellalatitudine. Fin dai tempi più antichi l’uomo si è orientato sul mare seguendo lestelle, la testimonianza più antica la troviamo nell’Odissea. Nota l’altezzasull’orizzonte di un corpo celeste, sapendo quale è la posizione del corpoceleste sulla sfera celeste è possibile risalire alla latitudine dell’osservatoresulla terra. A causa del movimento della terra attorno al sole e dell’interosistema solare nella nostra galassia , tale posizione varia di anno in anno.Occorre pertanto fornire ai naviganti delle tavole che mappino i principalicorpi celesti alle varie latitudini. Tali tavole, denominate Effemeridi Nautiche,vanno prodotte a cadenza annuale e, possibilmente, non devono contenereerrori.Vi era pertanto un grande interesse per un sistema di calcolo che consentisse diricavare tali dati in modo automatico, veloce e sicuro. Il parlamento ingleseavrebbe volentieri speso una somma uguale al premio conferito ad Harrison pertale scopo.Capitolo IV – I primi elaboratori 36
  37. 37. Le origini dell’informatica2.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 sinserisce il pensiero e lopera 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 questincarico dimostro le sue capacità innovative e lo spirito di precursore, Fig. 16 Charles Babbage 1791-1875 portando nel mondo statico e immutabile delluniversità, 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 questuomo 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 ununica 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. 38. Le origini dell’informaticasenza possibilità di ambiguità. Quello che ci si proponeva non era di costruireuna macchina da replicare in grande serie e da porre al servizio dell’utente, cisi accontentava di produrne una sola da destinare alla produzione di tavole,logaritmiche , trigonometriche , per calcolare i tassi di ammortamento deimutui o le già citate Effemeridi Nautiche. Le tavole dovevano essere calcolatecon metodi manuali ed il lavoro necessario era enorme. In Francia, dopo larivoluzione e l’introduzione del sistema metrico decimale si rese necessariopredisporre nuove tavole in ogni campo. A tale scopo il direttorio radunò imigliori matematici di Francia, che a loro volta dovettero utilizzare più dicento persone per il lavoro di calcolo. Normalmente la biblioteca di un tecnicopoteva contenere un centinaio di volumi di tavole. Quella di Babbage necontava più di trecento. Il lavoro manuale comportava inevitabilmente errori inogni fase della produzione delle tavole compresa quella di stampa. Non erararo assistere che a seguito dellapubblicazione di un volume seguisse abreve quella dell’errata corrige, seguita dauna errata corrige delle prima errata eduna seconda errata dell’errata. La solasoluzione al problema era lameccanizzazione dell’intero processo. Lostesso Babbage pubblicò attorno al 1820una raccolta di tavole logaritmiche el’esperienza lo incitò all’ideazione di unatale macchina.La costruzione della macchina alledifferenze fallì miseramente, lelevatonumero dei componenti da realizzare(20.000) lalta precisione richiesta e ladisponibilità di macchine utensili Fig. 17 La sezione costruita a scoporudimentali vinsero alla fine la tenacia dimostrativo da Clement della macchina alledellautore. Certo tale insuccesso ebbe differenzetra le cause il carattere irruente diBabbage e i continui conflitti con il capomeccanico Clement. A seguito di questepisodio nella storia della scienza lafigura di Babbage fu indissolubilmente legata allincompiutezza del suoprogetto, e rimase il dubbio se effettivamente la macchina fosse realizzabile ole idee di base fossero realizzabili. Per sciogliere tale dubbio, alcuni ricercatori del museo della scienza e dellatecnica di Londra hanno provato a realizzare, per il centenario della nascita diBabbage la seconda macchina alle differenze, sponsorizzati da diverse ditteproduttrici di elaboratori. La macchina, in ottone, è stata realizzata e funzionaperfettamente, pesa diverse tonnellate e consente di effettuare operazioni invirgola mobile con numeri fino a 36 cifre. Questo ha quindi dimostrato lavalidità 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. DopoCapitolo IV – I primi elaboratori 38
  39. 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 dellelaboratore.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. 40. Le origini dell’informaticariordinare i propri conti e di scoprire di essere già alla cifra di 3.475 sterlinespese. Richiese nuovamente l’intervento del Lord Cancelliere e dopoperorazioni di numerosi amici, tra i quali il Duca di Edimburgo, gli venneconcesso un ulteriore finanziamento di 3.000 Sterline . Negli anni seguenti ilreperimento degli ulteriori fondi divenne via via più difficoltoso. Questocomportava lunghi periodi di inattività durante i quali il personale assunto eistruito finiva con l’allontanarsi. Alla ripresa dei lavori si doveva assumerenuovo personale e procedere alla formazione. Durante uno di questi periodiBabbage pensò di costruire un nuovo edificio a fianco della propria abitazioneper ospitare la macchina una volta completata, che al momento era incostruzione presso il laboratorio di Clement. Da questo nacque una disputa conil medesimo che lavorando anche per altri clienti, non voleva il trasferimento ditutta l’officina nel nuovo edificio. La disputa portò alla rottura del sodalizio trai due, fatto deleterio per il progetto anche perché per la legge inglese a seguitodella risoluzione del contratto tutti gli strumenti sviluppati rimasero proprietàdi Clement. Durante i lunghi periodi di inattività Babbage dopo l’esperienzagià maturata ideò una nuova macchina di concezione molto più avanzata ecomunicò al governo che secondo la sua opinione la costruzione della nuovamacchina sarebbe stata di gran lunga più conveniente rispetto alcompletamento di quella in costruzione. Per il Governo dopo le ingenti sommespese fu una vera doccia fredda. Vi fu una vivace seduta del parlamento doveun deputato dell’opposizione propose ironicamente di richiedere a Babbage secon la parte già costruita della macchina fosse in grado di calcolare quantosarebbe costato completarla. Il 3 Novembre 1842 il Primo Ministro comunicòufficialmente a Babbage che il governo non era più intenzionato a finanziare ilprogetto. Il Governo aveva contributo con un totale di 17.000 Sterline.2.6 La ricostruzione della seconda macchina alle differenze di BabbageLa risoluzione del dilemma sulla effettiva possibilità che le macchine diBabbage potesserofunzionare si è avuta solo nel1991, in contemporanea conil bicentenario della nascitadi Babbage. Il progetto èstato sviluppato al ScienceMuseum di Londra,basandosi sui progettioriginali e sui quaderni diappunti dell’autore. Durantela costruzione dellamacchina, 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. 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 figlio2.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. 42. Le origini dell’informaticaQuesto lo portò a pensare che ogni barra potesse essere equivalentenell’utilizzo, un luogo dove memorizzare temporaneamente un valore da poterutilizzare successivamente. Un registro . Nel maggio 1835 in una lettera a Mr.Quetelet scriveva :“… for six months been engaged in making the drawings of a newcalculating engine of fa greater power than the first. I am myself astonishedat the power I have been enabled to give to this machine; a year ago I shouldbot have belived this result possible.”Il fatto che Babbage non fosse intenzionato a tentare la costruzione dellamacchina analitica fece si che non predispose dei progetti dettagliati macontinuò a lavorare al progetto fino alla morte. Comunque già nel 1840 le partiprincipali erano definite. Nel disegno a lato , una vista dall’alto, si possonovedere tutte le parti principali , ogni cerchio rappresenta una colonna diingranggi ( un registro ) , vi sono circa duecento colonne di ingranaggi anchese 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 modernielaboratori, il mulino all’unità aritmetico logica e la barra di controllocostituisce una rudimentale unità di micro controllo. Così come nella macchinaalle differenze ogni colonna di ingranaggi memorizzava un numero con laposizione 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 cerchiocentrale. Consiste in una serie di accumulatori (A e A’) e degli ingranaggiassociati utilizzati per i riporti da uno all’altro, un terzo accumulatore (“A”) ècollocato appena sotto. Veniva utilizzato come appoggio per le operazioni dimoltiplicazione e divisione. I nove piccoli assi ( da T1 a T9 ) collocati alcentro 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 venivanoimmagazzinati nei nove piccoli assi e questi prodotti parziali venivano aggiuntial registro del risultato tante volte quanto y. Durante la moltiplicazione i dueaccumulatori potevano essere collegati tra di loro per memorizzare il risultato.Capitolo IV – I primi elaboratori 42
  43. 43. Le origini dell’informaticaFig 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. 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. 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 altroFig. 23 Ada Augusta ruolo che quello di trascrivere gli appunti di Babbage.Byron Contessa di La verità ci viene fornita dallo stesso Babbage, in unaLovelace 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. 46. Le origini dell’informaticaessere programmata. Facendo riferimento allo schema della macchina delparagrafo precedente, le schede con le istruzioni per la macchina dovevanoessere raccolte in sequenza per costruire un programma. Il lettore delle schedele leggeva una volta, una scheda poteva contenere una istruzione come adesempio V6 x V3, e in conseguenza la barra doveva eseguire la sequenza dioperazioni necessari per realizzare l’operazione.Capitolo IV – I primi elaboratori 46
  47. 47. Le origini dell’informatica Fig.25 Il programma predisposto da Ada Lovelace per il calcolo dei numeri di Bernoulli con la macchina analiticaEra possibile effettuare dei cicli con delle istruzioni del tipo, Se l’apparato dicontrollo contiene un numero inferiore a N allora ritorna indietro nellasequenza di schede di P posizioni.Capitolo IV – I primi elaboratori 47

×