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

Slides:



Advertisements
Presentazioni simili
Architettura del calcolatore
Advertisements

Laboratorio Informatico
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
IL PROCESSORE I MICROPROCESSORI INTEL Il microprocessore è un circuito integrato dotato di una struttura circuitale in grado di effettuare un determinato.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
1 Unità didattica 1 – Concetti di base del personal computer Premessa: «L’unità didattica programmata destinata ad una allieva con obiettivi minimi della.
INFORMATICA ALGORITMI, PROGRAMMI, E LINGUAGGI DI PROGRAMMAZIONE.
Elementi fondamentali dell’ Architettura di di un elaboratore elettronico.
I linguaggi di programmazione Gruppo iOS 47: Colombini Christian Flora Jonathan Rossi Francesco.
Informatica - CDL in Scienze Politiche e delle Relazioni Internazionali A.A Architettura di un calcolatore Ing. Simona Colucci.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica PROBLEMI E ALGORITMI LINGUAGGIO MACCHINA.
Rappresentazione dell’ Informazione Digitale e Binario
Concetti Di Base Informatica
Analisi Numerica Presentazione del Modulo
© 2007 SEI-Società Editrice Internazionale, Apogeo
LA PROGRAMMAZIONE: Algoritmi e programmi
Sistemi e Applicazioni per l’Amministrazione Digitale
Tratto da: Anna Labella (a cura), E questo tutti chiamano Informatica, Manuali Scienze e Tecnologie – Formazione, La Sapienza Roma.
Introduzione al Coding
Pensiero Computazionale
Rappresentazione dell’ Informazione Informazione e Comunicazione
Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 4/25/2018 Un’introduzione alla scienza e alle tecnologie dell’informazione.
Algoritmi Avanzati a.a.2015/2016 Prof.ssa Rossella Petreschi
Dott. Fabio Massimo Zanzotto a.a
Dal problema al processo risolutivo
Programmazione per la Musica Presentazione del corso
Sistema di Analisi e di Acquisizione
Microcontrollori e microprocessori
Logica binaria Moreno Marzolla
I microprocessori Il microprocessore è un circuito integrato costituito da silicio. Il microprocessore svolge fondamentalmente due funzioni: sovraintende.
Algoritmi e soluzioni di problemi
IL CONCETTO DI ALGORITMO
Dal problema al processo risolutivo
Storia del computer.
Basi di Dati: Introduzione
STRUTTURA GENERALE DI UN ELABORATORE
Programmazione strutturata
Forme per rappresentare l’algoritmo:
Process synchronization
Programmazione ad Oggetti per la Fisica
analizzatore di protocollo
Introduzione all’uso del computer
Che cos’e’ l’Informatica
Corso propedeutico base di informatica
MODULO 1 – Computer essentials
Corso di Informatica per Giurisprudenza
PON Docente: Maura Roberta Orlando I.C. Zingarelli, Bari
IL MODELLO DI VON NEUMANN
PON Docente: Maura Roberta Orlando I.C. Zingarelli, Bari
Classe III A A.s – 2012 Programma di Informatica
IL CONCETTO DI ALGORITMO
Informatica - Prof. Gregorio Cosentino
Cos’è computabile? “si dicono computabili quelle funzioni che, in linea di principio, possono essere calcolate con un elaboratore adeguatamente.
Programmare.
La macchina di turing Uno dei pionieri dello studio della logica dei computer così come la conosciamo oggi ed il primo ad interessarsi all'argomento dell’intelligenza.
Programmazione e Laboratorio di Programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo
Dall’analisi del problema alla definizione dell’algoritmo
Programmazione e Laboratorio di Programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo
Ricorsione 16/01/2019 package.
Concetti base 1.1.
Definizione di linguaggio di programmazione
LOGICA DI FUNZIONAMENTO
Sistemi Digitali.
Teoria della computabilità
LE PARTI INTERNE DEL COMPUTER
Programmazione e Laboratorio di Programmazione
Informatica CdL Scienze e Tecniche Psicologiche a.a
Algoritmi.
Transcript della presentazione:

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

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. 2016-2017

Informazioni generali Studio Prof. Giovanni Acampora: 2G16 Telefono: 081676150 eMail: giovanni.acampora@fisica.unina.it Ricevimento: Lunedì dalle 16 alle 18 Informatica - A.A. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

Informatica per i fisici… Informatica - A.A. 2016-2017

Informatica per i fisici… Informatica - A.A. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

Macchina di Turing Informatica - A.A. 2016-2017

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. 2016-2017

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. 2016-2017

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. 2016-2017

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: 18000 valvole 30 m lunghezza 30 tonnellate Informatica - A.A. 2016-2017

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. 2016-2017

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. 2016-2017

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

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. 2016-2017

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. 2016-2017

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. 2016-2017

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

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. 2016-2017