DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 1 Marco D. Santambrogio – Ver. aggiornata al 23 Settembre 2016.

Slides:



Advertisements
Presentazioni simili
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 1 Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
Advertisements

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 1 Marco D. Santambrogio – Ver. aggiornata al 3 Ottobre 2013.
Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 4/7/2017 Un’introduzione alla scienza e alle tecnologie dell’informazione.
Mari, Buonanno, Sciuto – Informatica e cultura dell’informazione – McGraw-Hill 4/7/2017 Capitolo 0 Un’introduzione alla scienza e alle tecnologie dell’informazione.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 1 Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Unità di apprendimento 6 Dal problema al programma.
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.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – Matteo Ferroni –
Elementi fondamentali dell’ Architettura di di un elaboratore elettronico.
© 2007 SEI-Società Editrice Internazionale, Apogeo
LA PROGRAMMAZIONE: Algoritmi e programmi
Tratto da: Anna Labella (a cura), E questo tutti chiamano Informatica, Manuali Scienze e Tecnologie – Formazione, La Sapienza Roma.
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.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Dal problema al processo risolutivo
LE ARCHITETTURE NON VON NEUMANN
Microcontrollori e microprocessori
Script Marco D. Santambrogio –
Algoritmi e soluzioni di problemi
IL CONCETTO DI ALGORITMO
Dal problema al processo risolutivo
#Code’scool.
Storia del computer.
Basi di Dati: Introduzione
Unità di apprendimento 7
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
STRUTTURA GENERALE DI UN ELABORATORE
Process synchronization
Lezione 1 – A.A. 2016/2017 Prof. Giovanni Acampora
John Von Neumann John von Neumann, nato il 28 dicembre 1903  e morto a Washington l’8 febbraio 1957, è stato un matematico, fisico e informatico ungherese naturalizzato statunitense.
Il Computer, come funziona e come è fatto
Che cos’e’ l’Informatica
Corso di Ingegneria del Web A A Domenico Rosaci 1
MODULO 1 – Computer essentials
LE PERSONE PARLANO TRA LORO PER SCAMBIARSI EMOZIONI, IDEE, PER RACCONTARSI… COMUNICARE ATTRAVERSO IL LINGUAGGIO E’ LA COSA PIU’ DIFFUSA SU TUTTA LA TERRA.
IL MODELLO DI VON NEUMANN
Caratteristiche e funzioni della scheda Arduino
Modelli simulativi per le Scienze Cognitive
IL CONCETTO DI ALGORITMO
Informatica - Prof. Gregorio Cosentino
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
Gli automi.
Programmazione e Laboratorio di Programmazione
Sistemi informativi statistici
Ricorsione 16/01/2019 package.
Process synchronization
Fare ricerca, mai così facile
Definizione di linguaggio di programmazione
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Sistemi Digitali.
Excel 3 - le funzioni.
Gli archivi e le basi di dati
Teoria della computabilità
Parti interne del computer
Process synchronization
Process synchronization
Unità D2 Dal problema all’algoritmo
Programmazione e Laboratorio di Programmazione
Informatica Introduzione.
Algoritmi.
ALGORITMO E’ una successione finita di passi che consente di risolvere tutti i problemi di una classe e di determinare il risultato. Caratteristiche: Finito.
Process synchronization
Transcript della presentazione:

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 1 Marco D. Santambrogio – Ver. aggiornata al 23 Settembre 2016

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 2 Informazione e trattamento dell’informazione Informazione e trattamento dell’informazione Programmabilità del calcolatore e concetti di hardware e software Programmabilità del calcolatore e concetti di hardware e software Macchina di von Neumann Macchina di von Neumann Comunicazione tra esseri umani e calcolatori Comunicazione tra esseri umani e calcolatori

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 3 Significato 1: [informazione = dati + istruzioni] insieme dei dati su cui operare e delle istruzioni con cui elaborare tali dati Significato 1: [informazione = dati + istruzioni] insieme dei dati su cui operare e delle istruzioni con cui elaborare tali dati ▶ per esempio, nell’operazione 1+2 sono entità di informazione i numeri 1 e 2 e l’operatore ‘+’ enfasi sulla distinzione tra struttura e descrizione dell’operazione ▶ che si scriva “uno più due” o “1+2” l’informazione è la stessa Significato 2: [informazione = dati con significato] ciò che si ottiene dai dati a cui è stato attribuito un significato Significato 2: [informazione = dati con significato] ciò che si ottiene dai dati a cui è stato attribuito un significato ▶ per esempio, i numeri 1 e 2 sono semplici dati; diventano entità di informazione solo quando si stabilisce che si riferiscono, per esempio, a mele o a portaerei enfasi sulla distinzione tra forma e contenuto

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 4 Molti strumenti sono stati progettati e realizzati per trattare informazione: Molti strumenti sono stati progettati e realizzati per trattare informazione: ▶ le matite servono per scrivere (non per trasferire grafite su carta) ▶ i violini servono per suonare (non per produrre onde acustiche) A differenza di questi, i calcolatori sono dispositivi programmabili A differenza di questi, i calcolatori sono dispositivi programmabili Ma cosa significa programmabile? Ma cosa significa programmabile?

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 5 Per gestire informazione, si opera su dati mediante istruzioni:

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 6 Per gestire informazione, si opera su dati mediante istruzioni: supporto materiale mente datiX istruzioniX

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 7 Per gestire informazione, si opera su dati mediante istruzioni: supporto materiale mente datiX istruzioniX supporto materiale mente datiX istruzioniX

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 8 Per gestire informazione, si opera su dati mediante istruzioni: supporto materiale mente datiX istruzioniX supporto materiale mente datiX istruzioniX supporto materiale mente datiX Istruzioni: esecuzioneX Istruzioni: controlloX

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 9 Per gestire informazione, si opera su dati mediante istruzioni: supporto materiale mente datiX istruzioniX supporto materiale mente datiX istruzioni: esecuzione X istruzioni: controllo X supporto materiale mente datiX istruzioniX supporto materiale mente datiX Istruzioni: esecuzioneX Istruzioni: controlloX

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 10 Ogni essere umano elabora quotidianamente informazione in grande quantità senza usare strumenti particolarmente sofisticati Ogni essere umano elabora quotidianamente informazione in grande quantità senza usare strumenti particolarmente sofisticati Due situazioni possono rendere difficile questa attività: Due situazioni possono rendere difficile questa attività: ▶ quando il problema supera un certo grado di complessità ▶ quando è necessario elaborare informazione con particolare rapidità Nel corso della storia, l’uomo ha creato molti strumenti in grado di supportarlo nell’elaborazione dell’informazione: Nel corso della storia, l’uomo ha creato molti strumenti in grado di supportarlo nell’elaborazione dell’informazione: ▶ strumenti formali (per es. il sillogismo) che consentono di trattare entità di informazione dotate di una certa struttura, ricavandone delle conclusioni per via puramente elaborativa ▶ strumenti materiali (modelli in scala, galleria del vento, …), che “materializzando” le entità di informazione su cui si opera ne facilitano l’elaborazione

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 11 Blaise Pascal ( ) dispositivo meccanico (ingranaggi azionati da una manovella) per l’esecuzione di somme e sottrazioni Blaise Pascal ( ) dispositivo meccanico (ingranaggi azionati da una manovella) per l’esecuzione di somme e sottrazioni Gottfried Wilhelm von Leibniz ( ) introduce anche moltiplicazioni e divisioni (calcolatrice a quattro funzioni) Gottfried Wilhelm von Leibniz ( ) introduce anche moltiplicazioni e divisioni (calcolatrice a quattro funzioni) Charles Babbage ( ) progetta e realizza un “difference engine” Charles Babbage ( ) progetta e realizza un “difference engine” ▶ calcola tabelle di numeri utili per la navigazione ▶ unicopolinomiale alle differenze finite ▶ unico algoritmo: polinomiale alle differenze finite fori ▶ output: fori su una piastra di rame (schede perforate)

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Input: dati e istruzioni 3. Output: dati (risultati dell’elaborazione) 2. Elaborazione e quindi, il calcolatore si può intendere come una black box: calcolatore Input Output

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 13 Ricevendo una richiesta dall’utente, il calcolatore svolge in successione due attività: controlla di essere in grado di interpretare il comando, cioè di riconoscere il comando come corretto e corrispondente a un’azione che è in grado di eseguire controlla di essere in grado di interpretare il comando, cioè di riconoscere il comando come corretto e corrispondente a un’azione che è in grado di eseguire se il controllo ha dato esito positivo, esegue l’azione associata al comando e, quando richiesto, presenta il risultato all’utente se il controllo ha dato esito positivo, esegue l’azione associata al comando e, quando richiesto, presenta il risultato all’utente Invece di inviare al calcolatore un comando per volta, l’utente può scegliere di creare una successione di comandi (= programma) e inviarla al calcolatore, che autonomamente è in grado di interpretare ed eseguire il programma stesso, un’istruzione per volta

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 14 L’utente-programmatore e il calcolatore devono parlare uno stesso linguaggio Un’opzione potrebbe essere di “insegnare al calcolatore” a comprendere (= interpretare ed eseguire comandi espressi in) una lingua storico-naturale come l’italiano o l’inglese Vantaggi: Vantaggi: ▶ lingue semanticamente ricche, e quindi sicuramente in grado di esprimere i comandi ▶ lingue già note all’utente Svantaggi: Svantaggi: ▶ lingue semanticamente ricche, e quindi a rischio di ambiguità ▶ lingue complesse da insegnare / imparare

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 15 Comando: “nella frase l'informatica, che in inglese è detta 'computer-science', è interessante anche se difficile metti in grassetto la parola X” X: “è”  ambiguo: quale delle due “è”? X: “è”  ambiguo: quale delle due “è”? X: “in decima posizione”  ambiguo: “computer-science” conta come una o due parole? X: “in decima posizione”  ambiguo: “computer-science” conta come una o due parole? Comando: “se la condizione A è vera esegui l’istruzione B e poi esegui l’istruzione C”  ambiguo: C deve essere eseguito comunque o solo se A è vera?  ambiguo: C deve essere eseguito comunque o solo se A è vera?

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 16 Un’opzione alternativa: creare un linguaggio “di programmazione”, dedicato alla comunicazione con il calcolatore creare un linguaggio “di programmazione”, dedicato alla comunicazione con il calcolatore Vantaggi: Vantaggi: ▶ linguaggio progettato specificamente, e quindi efficiente ▶ linguaggio non ambiguo Svantaggi: Svantaggi: ▶ linguaggio formalizzato, e quindi strutturalmente diverso dalle lingue storico-naturali ▶ linguaggio non noto all’utente

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 17 Non ogni problema ammette una soluzione calcolabile Quali problemi ammettono una soluzione calcolabile? Quali problemi ammettono una soluzione calcolabile? Esistono problemi calcolabili che i calcolatori non sono in grado di risolvere? Esistono problemi calcolabili che i calcolatori non sono in grado di risolvere? Esistono problemi che solo certi calcolatori sono in grado di risolvere? cioè: esistono tipi diversi di calcolatori in relazione alla loro capacità di risolvere problemi? Esistono problemi che solo certi calcolatori sono in grado di risolvere? cioè: esistono tipi diversi di calcolatori in relazione alla loro capacità di risolvere problemi?

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 18 Ipotesi: il calcolo è una trasformazione di dati, in cui l’output è determinato univocamente dall’input attraverso una funzione: f input output = f(input) Per esempio, 1+2*3 e 4+5*6 sono due casi particolari della stessa funzione f(x,y,z)=x+y*z Ipotesi: le funzioni complesse possono essere scomposte come successioni di funzioni più semplici Per esempio: x,y,zx+y*zf* + y z x

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 19 Un sistema di calcolo molto semplice: un nastro organizzato in celle in ognuna delle quali è scritta una barra o nulla e con codifica “unaria” ( 1  “ / ”; 2  “ // ”; 3  “ /// ”; … un nastro organizzato in celle in ognuna delle quali è scritta una barra o nulla e con codifica “unaria” ( 1  “ / ”; 2  “ // ”; 3  “ /// ”; … un sistema di lettura e scrittura che opera in base a regole della forma: un sistema di lettura e scrittura che opera in base a regole della forma: se sei nello stato... e nella cella hai letto..., allora nella cella scrivi..., passa nello stato... e spostati nella cella... ///// …… Per esempio, il nastro: codifica i numeri 2 e 3, e il calcolo della funzione x+y si può realizzare in questo modo: ///// …… // / // ……

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 20 Intorno al 1930 l’inglese Alan Turing e lo statunitense Alonso Church proposero la seguente tesi: ogni funzione “naturalmente considerata calcolabile” è calcolabile da una macchina di Turing La conseguenza è sorprendente: l’insieme delle funzioni calcolabili è lo stesso per tutti i calcolatori; le differenze di capacità tra calcolatori sono: quantitative (= tempo di calcolo) quantitative (= tempo di calcolo) e non qualitative (= tipo di funzioni calcolabili) e non qualitative (= tipo di funzioni calcolabili)

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 21 Fonti per lo studio Fonti per lo studio ▶ Informatica arte e mestiere, S. Ceri, D. Mandrioli, L. Sbattella, McGrawHill  Capitolo 1 ▶ Introduzione ai sistemi informatici, D. Sciuto, G. Buonanno, L. Mari, 4a Ed, McGrawHill  Capitolo 1 ▶ The Art & Craft of Computing, S. Ceri, D. Mandrioli, L. Sbattella, Addison-Wesley  Capitolo 1 Approfondimenti Approfondimenti ▶ Uomini e computer. Storia delle macchine che hanno cambiato il mondo, D. Casalegno, HOEPLI Credits Credits ▶ Prof. G. Buonanno e D. Sciuto, LIUC

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 22

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 23