La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Lezione 1 – A.A. 2016/2017 Prof. Giovanni Acampora

Presentazioni simili


Presentazione sul tema: "Lezione 1 – A.A. 2016/2017 Prof. Giovanni Acampora"— Transcript della presentazione:

1 Lezione 1 – A.A. 2016/2017 Prof. Giovanni Acampora
Informatica Informatica - A.A Lezione 1 – A.A. 2016/2017 Prof. Giovanni Acampora

2 Introduzione al corso Informazioni generali e di supporto agli studenti Obiettivi del corso Definizioni generali Algoritmo Macchina di Turing Modello di Von Neumann Informatica - A.A

3 Informazioni generali
Studio Prof. Giovanni Acampora: 2G16 Telefono: Ricevimento: Lunedì dalle 16 alle 18 Informatica - A.A

4 Testi consigliati G.M. Schneider, J.L. Gersting, “Informatica”, Apogeo
P. Tosoratti, “Introduzione all’Informatica”, Casa Editrice Ambrosiana Al Kelley, Ira Pohl, “C: Didattica e Programmazione,” Addison-wesley L.M. Barone, E. Marinari, G. Organtini, F. Ricci-Tersenghi, “Programmazione Scientifica,” Pearson Education Informatica - A.A

5 Modalità di esame Prova Pratica: Prova Orale Durata 3 ore
Sviluppo di un algoritmo e implementazione in Linguaggio C/C++ Prova Orale Informatica - A.A

6 Premessa Il corso non presuppone conoscenze informatiche
Corso di Informatica per futuri fisici Introduzione all’Informatica Concetti generali Architetture per il calcolo automatico Programmazione in linguaggio C/C++ Metodologie di Calcolo Numerico: ricerca di algoritmi per la risoluzione di problemi quali l’approssimazione di funzioni e l’integrazione di equazioni differenziali ordinarie o alle derivate parziali. Indispensabile seguire le lezioni pratiche in laboratorio. Informatica - A.A

7 Informatica per i fisici…
Analisi dei dati Simulazione di apparati e sistemi fisici complessi Controllo di apparecchiature di laboratorio Calcoli matematici complessi, sia numerici che simbolici Calcolo parallelo In tutti i settori della fisica teorica e sperimentale: subnucleare, nucleare, della materia, astrofisica, geofisica, biomedica, elettronica… Informatica - A.A

8 Informatica per i fisici…
Informatica - A.A

9 Informatica per i fisici…
Informatica - A.A

10 Obiettivi del corso Essere a conoscenza degli aspetti fondamentali dell’Informatica e della struttura dei calcolatori Essere in grado di utilizzare un calcolatore in ambiente Unix/Linux Essere in grado di progettare un algoritmo per risolvere un semplice problema e di implementarlo in un programma in linguaggio C/C++ Informatica - A.A

11 Cos’è l’Informatica? Falso ! Falso ! Falso !
L’Informatica è la scienza dei calcolatori L’Informatica è la scienza della programmazione L’Informatica è la scienza di Internet Falso ! Falso ! Informatica - A.A

12 Cos’è l’Informatica L’informatica è la scienza della rappresentazione e della elaborazione dell’informazione In particolare, l’informatica si occupa dello studio e della realizzazione di algoritmi: delle loro proprietà formali e matematiche delle loro analisi qualitativa delle loro implementazione delle loro applicazioni Informatica - A.A

13 Definizione di algoritmo
Un insieme ordinato e finito di passi computazionali non ambigui che, applicati ad un insieme di condizioni iniziali, produce un risultato e termina in una quantità di tempo finita. Informatica - A.A

14 Esempio di algoritmo La somma dei primi 100 numeri interi:
Poni somma = 0 Poni indice = 1 Finché indice è minore di 100 ripeti i passi 4. e 5. Aggiungi indice a somma Incrementa indice di 1 Stampa somma Fermati Informatica - A.A

15 Viviamo usando algoritmi
Ricette di cucina Sequenza di operazioni per registrare un film Sequenza di operazioni per montare un mobile IKEA Sequenza di operazioni per moltiplicare due numeri Informatica - A.A

16 Proprietà formali e matematiche degli algoritmi
La prima proprietà è ovviamente la correttezza Ma ha una fondamentale importanza anche l’efficienza, che si misura rispetto alla risorsa spazio e rispetto alla risorsa tempo Informatica - A.A

17 Progettare un algoritmo
La ricerca del giusto algoritmo per la soluzione di un dato problema è la parte più creativa del lavoro di un informatico. Ogni algoritmo può essere scomposto in tre tipi fondamentali di operazioni: Operazioni sequenziali Operazioni condizionali Operazioni iterative Informatica - A.A

18 Cos’è un programma? Un programma è la codifica di un algoritmo in un linguaggio comprensibile all’esecutore L’algoritmo è una rappresentazione astratta della soluzione di un problema, il programma è l’espressione concreta dell’ algoritmo Informatica - A.A

19 Pseudocodice Lo pseucodice consente la rappresentazione di un algoritmo in linguaggio intermedio, non comprensibile dall’esecutore, ma più formale del linguaggio naturale Gli esempi di algoritmo finora presentati sono basati sulla rappresentazione in pseudocodice Notate che: tutte le linee contengono un verbo specifico (azione) i passi sono numerati in modo tale che per ogni riga viene eseguita una sola azione se la linea richiede due passi viene suddivisa in linee successive identate Informatica - A.A

20 Esempio Poni y = 0. Leggi x. Poni I = 0. Poni y = y + x. Scrivi y.
Start Leggi x y  y + x I  I + 1 End Poni y = 0. Leggi x. Poni I = 0. Poni y = y + x. Scrivi y. Poni I = I + 1. Se I < 10 vai al passo 4. Altrimenti prosegui Fine Informatica - A.A

21 Automatizzare l’esecuzione di un algoritmo
L’obiettivo è la costruzione di uno o piu’ mezzi di calcolo in grado di eseguire “operazioni primitive e non ambigue” (ovvero, non scomponibili e effettivamente calcolabili) . Un mezzo di calcolo che esegue operazioni primitive permette di automatizzare una soluzione di un problema espressa da un algoritmo. La soluzione di un problema espressa da un algoritmo costituito da sequenze di operazioni primitive puo’ essere automatizzata Programma: la realizzazione di uno o piu’ algoritmi mediante sequenze di operazioni primitive comprensibili all’esecutore Informatica - A.A

22 Macchina di Turing Una macchina di Turing è una macchina ideale che manipola i dati contenuti su un nastro di lunghezza potenzialmente infinita, secondo un insieme prefissato di regole ben definite. È un modello teorico di fondamentale importanza in quanto permette di compiere tutte le elaborazioni che oggi si eseguono con le tecnologie più avanzate e gli odierni computer. Tesi di Church-Turing Se un problema può essere ridotto in una serie finita di passi elementari, allora esisterà una macchina di Turing in grado di risolverlo. Informatica - A.A

23 Macchina di Turing Informatica - A.A

24 Strumenti di calcolo Pre-Turing
I primi mezzi automatici di calcolo compaiono nel XVII secolo ad opera di Pascal e Leibniz. Funzionano sulla base di ruote dentate. La Pascalina La macchina di Leibniz Informatica - A.A

25 Strumenti di Calcolo Pre-Turing Il primo programma
Ma la prima macchina a disporre di un vero programma è il telaio di Jacquard costruito nel 1804 : il disegno della trama viene inserito tramite schede perforate e realizzato automaticamente dalla macchina. Museo della Seta, S.Leucio (CE) Informatica - A.A

26 Strumenti di Calcolo Pre-Turing Il primo calcolatore
Il primo progetto di un calcolatore vero e proprio, capace di eseguire programmi, si deve a Charles Babbage (1830) L’Analytic Engine sfruttava le schede perforate di Jacquard, e una sofisticatissima tecnica meccanica già utilizzata nella precedente Difference Engine. Informatica - A.A

27 Strumenti di Calcolo Il Calcolatore Elettronico
Motivati principalmente da esigenze belliche i primi grandi calcolatori elettronici a valvole furono realizzati dalle maggiori potenze in conflitto nel corso degli anni 40. ENIAC: valvole 30 m lunghezza 30 tonnellate Informatica - A.A

28 Strumenti di Calcolo Il Calcolatore Elettronico
Il principale problema dei calcolatori fino agli anni ’40 era la fondamentale differenza fra il modo in cui venivano memorizzati i dati e quello in cui venivano realizzati i programmi, che non erano memorizzati, ma realizzati esternamente usando connessioni, fili etc. Fu il genio di Von Neumann che permise di progettare e realizzare, nel 1950, l’EDVAC, il primo calcolatore a programma memorizzato. L’EDVAC pesava 8 ton e aveva una memoria di 1024 parole… ma non era nella sostanza diverso dal computer usato per scrivere questa presentazione… Von Neumann realizzò una un modello implementativo del modello teorico di Turing Informatica - A.A

29 Strumenti di Calcolo Il modello di Von Neumann
Lo schema della macchina di Von Neumann, modello sul quale si basano praticamente tutti i moderni computer è basato su quattro elementi fondamentali: La memoria Processore L’unità aritmetico logica (ALU) L’unità di controllo Le unità di Ingresso/Uscita (I/O) Informatica - A.A

30 Strumenti di Calcolo Il modello di Von Neumann – La Memoria
Informatica - A.A

31 Strumenti di Calcolo Il modello di Von Neumann – Unità di I/O
Dispositivi di interfaccia utente: tastiera, monitor, mouse… Dispositivi di comunicazione: porte e dispositivi ad esse connessi (stampanti, modem…) Dispositivi di memoria di massa: Hard disk, Floppy disk, CDROM, DVD Informatica - A.A

32 Strumenti di Calcolo Il modello di Von Neumann – ALU
Il cuore calcolante del computer: effettua un insieme finito e predeterminato di operazioni matematiche e logiche. Gli operandi vengono letti da registri in ingresso, e il risultato dell’operazione è scritto su un registro in uscita. Il registro di stato (SR) riporta il segno del risultato e la presenza di riporto o di una condizione di errore. Informatica - A.A

33 Strumenti di Calcolo Il modello di Von Neumann – Control Unit
Struttura di una istruzione in linguaggio macchina: Codice operativo – Indirizzo 1 – Indirizzo 2 Esempio: ADD X,Y (Y=X+Y) Ciclo di esecuzione di un programma: Instruction fetch Decodifica Esegui Informatica - A.A

34 Strumenti di Calcolo Il modello di Von Neumann – Control Unit
Informatica - A.A

35 Riassumendo La struttura di Von Neumann permette di calcolare una sequenza di istruzioni opportunamente codificate e memorizzate e di controllare il flusso dell’esecuzione. La gestione dell’I/O è delegata a opportuni controllori per ottimizzare le prestazioni. La condizione chiave per la realizzazione del calcolatore è disporre di un sistema efficiente e affidabile di codifica dell’informazione, ovvero dei dati e delle istruzioni che devono essere via via eseguite. Informatica - A.A


Scaricare ppt "Lezione 1 – A.A. 2016/2017 Prof. Giovanni Acampora"

Presentazioni simili


Annunci Google