Alberti, Bruschi, Rosti. DICo, Università degli Studi di Milano 1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Alberti, Bruschi, Rosti. DICo, Università degli Studi di Milano 1"

Transcript

1 Informatica Evoluzione del calcolatore e fondamenti della programmazione Lezione 2 L'informatica è la disciplina che fonda su basi scientifiche diverse aree: il disegno e la progettazione di computer la programmazione Includendo l implementazione di nuovi strumenti per rendere il calcolatore fruibile ai non addetti ai lavori il trattamento dell'informazione e la gestione dei dati Includendo l individuazione di nuovi ambiti applicativi la soluzione algoritmica di problemi lo studio del processo algoritmico in sé 2 All origine I calcolatori nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive; Gli algoritmi nati in risposta all esigenza di definire procedure meccaniche per la soluzione di problemi I Calcolatori 3 Storia del calcolatore Pascal ( ) I primi tentativi di automatizzare il calcolo risalgono al , Schickard: il primo modello di calcolatore per sommare e sottrarre in modo automatico, moltiplicare e dividere in modo semiautomaticamente Fu costruita ma se ne perse traccia e non influenzò i prototipi successivi La Pascalina prodotta in 50 esemplari eseguiva solo addizioni 5 6 Alberti, Bruschi, Rosti. DICo, Università degli Studi di Milano 1

2 Leibniz ( ) Non è degno di uomini eccellenti perdere ore come schiavi a faticare su calcoli che potrebbero essere affidati a chiunque se venissero usate le macchine Ispirata alla Pascalina, ma automatizzava completamente le 4 operazioni aritmetiche Finita nel 1673, esibita a Londra, mai veramente usata Macchine basate sul modello della ruota di Leibniz sono state sostanzialmente in uso fino a tempi recenti 7 La macchina alle differenze progettata, ma non costruita La macchina analitica, ispirata ai telai di Jacquard e azionata da cartoncini perforati Un idea di programma e di archivio di informazioni Ada Lovelace Babbage ( ) 8 Jaquard 1801 Il telaio per tessitura, controllato da schede perforate Tipi diversi di tessitura richiedevano solo di cambiare le schede Il censimento USA del 1890 Hollerith, MIT, estende l uso di cartoncini forati per immagazzinare informazioni Questi vengono letti automaticamente da una macchina e i risultati sommati automaticamente. I risultati in sole 6 settimane I lavori del censimenti durarono 4 anni meno che quelli del 1880 Ma non fu un successo per ragioni politiche 9 10 Mark I ( ) Macchina elettro-meccanica, progettata da Howard Aiken alla Harvard University, costruita con IBM Il sogno di Babbage diventa realtà. Calcoli in completa automazione 11 Calcolatore elettronico 40 ABC (Atanasoff Berry Computer) Special purpose Costruita ma poco usata Valvole Influenzò molto gli esperimenti successivi Colossus in particolare Mauchly che poi costruisce l ENIAC Costruito in Inghilterra per rompere i codici crittografati dai tedeschi nella II guerra mondiale 12 Alberti, Bruschi, Rosti. DICo, Università degli Studi di Milano 2

3 ENIAC ( ) Il primo calcolatore elettronico general purpose di John Mauchly e J. Presper Eckert Realizzato alla Moore School di Penn. State Costituito da valvole resistori condensatori interrutori Era lungo 30 metri, consumava 140 KW John von Neumann ( ) Matematico. Ha dato contributi fondamentali in tutti i campi di cui si è occupato: Logica Matematica Meccanica quantistica Informatica Teoria di Giochi Economia Armamenti - Politica Voleva esser ricordato per gli studi in Cibernetica Von Neumann e ENIAC La macchina di von Neumann Nel 1944 Von Neumann si aggiunge al gruppo ENIAC Insieme studiano metodi più efficienti per programmare un calcolatore Nasce l idea di calcolatore a programma memorizzato ( Macchina di Von Neumann) e viene dato avvio al progetto EDVAC Progetta la macchina dell Institute of Advanced Studies di Princeton (lo IAS) La macchina di von Neumann EDVAC - EDSAC La memoria contiene i dati e il programma Unità di processo Strutture di controllo per l esecuzione sequenziale delle istruzioni Grande influenza sui linguaggi di programmazione Il progetto EDVAC viene portato a termine nel 1952 Il primo calcolatore a programma memorizzato (EDSAC electronic delay storage automatic calculator) viene realizzato all Università di Manchester da M. Wilkes nel Alberti, Bruschi, Rosti. DICo, Università degli Studi di Milano 3

4 Il calcolatore moderno I calcolatori commerciali I generazione, fino al 1959 valvole alto consumo, surriscaldamento II generazione, i transistor macchine più piccole, più affidabili e più economiche Tutti i prototipi sinora discussi sono realizzati in ambito accademico Il primo calcolatore realizzato per scopi commerciali è l UNIVAC I, costruito da Eckert-Mauchly Venduto a 1M$ 48 esemplari venduti I calcolatori commerciali Il calcolatore moderno Nel 1964 IBM presenta l elaboratore System/360, costo medio $ Nel 1965 DEC presenta il primo minicomputer il PDP-8, costo medio $ Nel 1977 S. Jobs e S. Wozniak propongono il primo personal computer Apple II, costo medio 2000$ III generazione, i circuiti integrati e miniaturizzati con molti transistor IV generazione, i microcomputer circuiti LSI e VLSI la memoria usa la tecnologia dei semiconduttori Le generazioni di calcolatori Le generazioni di calcolatori Genera zione 1 2 data tecnologia tubi catodici transistor prodotto computer elettronico commerciale computer più economici Le generazioni di computer sono stabilite sulla base della tecnologia dominante Ogni nuova generazione implica nuove classi di computer e nuove case produttrici Circuiti integrati minicomputer 4 > 78 LSI e VLSI personal computer Alberti, Bruschi, Rosti. DICo, Università degli Studi di Milano 4

5 Le generazioni di calcolatori Gli algoritmi 25 La soluzione algoritmica di problemi Algoritmo, il concetto fondamentale e centrale dell'informatica da AL-KHOWARIZMI (825 dc). Una procedura per risolvere un problema matematico in un numero finito di passi che implicano frequenti ripetizioni di un'operazione. In senso lato, una procedura che eseguita a passo a passo risolve un problema. Dal dizionario Webster Esempi Algoritmi (o procedure): per calcolare il Massimo Comun Divisore per costruire modellini di aerei (espressi nei fogli di istruzioni) per azionare la lavatrice per suonare una melodia al piano (espressa in un insieme di simboli negli spartiti) Algoritmo di Euclide Dati due numeri interi e positivi m e n, calcola il più grande intero che li divide 1. dividere m per n, e sia r il resto della divisione (con 0 r n) 2. se r = 0 allora la risposta è n e STOP 3. porre m n e n r e ripetere il passo 1 29 Verifica empirica Funziona davvero? Il ciclo dei 3 passi termina sempre? Proviamo con m 119 e n 544: / 544 dà resto r se r 0 allora 3. poniamo m 544 e n 119. Torniamo al passo / 119 dà resto r se r 0 allora 3. poniamo m 119 e n 68 Torniamo al passo / 68 dà resto r se r 0 allora 3. poniamo m 68 e n 51 Torniamo al passo / 51 dà resto r se r 0 allora 3. poniamo m 51 e n 17 Torniamo al passo / 17 dà resto r 0 2. se r = 0 allora il MCD = n = Alberti, Bruschi, Rosti. DICo, Università degli Studi di Milano 5

6 Criteri per essere algoritmo Un insieme finito di istruzioni che dà luogo a una sequenza finita di operazioni 1. Deve terminare dopo un numero finito di passi 2. Ogni passo deve essere definito precisamente 3. Deve operare su dati di ingresso in un insieme ben specificato 4. Deve produrre un output che abbia la relazione specificata con i dati di ingresso 5. Tutte le operazioni dell algoritmo devono essere di base e poter essere eseguite in un tempo finito Il criterio di finitezza per MCD 1. è soddisfatto La sequenza dei resti è una successione di numeri interi decrescenti che termina con 0 poiché 0 <= r < n Algoritmo vs procedura di calcolo Il processo di ripetizione di cicli deve terminare Non tutte le procedure soddisfano questo requisito Si parla allora di procedure di calcolo Trovare l intero positivo x x + 7 = q Dati p e q interi positivi trovare un intero positivo x qx + p = 100 Dati p e q interi positivi trovare un intero x x 2 = p 2 + q 2 33 Gli altri criteri per MCD 2. Occorre definire precisamente divisione intera e resto per numeri positivi stabilito che i numeri siano positivi all inizio rimangono tali e quindi il criterio 2. è soddisfatto 3. I dati d ingresso sono i due numeri positivi 4. Il dato calcolato è il MCD per la coppia 5. Si usano solo divisioni intere, test su numeri positivi e assegnamenti a variabili Conosciamo procedure per eseguire queste operazioni e quindi il criterio 5. è soddisfatto 34 Trovare algoritmi Criteri di bontà degli algoritmi La ricerca di algoritmi è stata una grande parte del lavoro dei matematici nei secoli Gli algoritmi rendono il lavoro più semplice La loro esecuzione non richiede la comprensione dei principi su cui si fonda Il computer è un esecutore di algoritmi 35 Lunghezza del tempo di esecuzione espresso in termini del numero di passi da eseguire Occupazione di spazio di memoria durante l esecuzione Adattabilità dell algoritmo a situazioni più generali Semplicità Modularità Eleganza 36 Alberti, Bruschi, Rosti. DICo, Università degli Studi di Milano 6

7 Analisi dell algoritmo di Euclide E possibile fissato n stabilire il numero di passi necessari per l esecuzione al variare di m? E possibile dare una risposta alla domanda Si, il problema è ben posto e poiché fissato n il resto r < n, basta calcolare il numero di passi per m = 1 m = n e calcolare la media T n Ora si studia come varia T n al variare di n Si può dimostrare che T n ~ k log n, dove k =12 log 2 /π 2 37 n µs n 0.01 µs 0.02 µs 0.03 µs 0.04 µs 0.05 µs 0.1 µs 10 µs 1 ms Tempi d esecuzione log n 0.03 µs 0.9 µs 0.03 µs 0.21 µs 0.28 µs 0.66 µs 9.96 µs µ s ms n µs 0.4 µs 0.9 µs 1.6 µs 2.5 µs 10 µs 1 ms 100 ms m 27 µs 64 µs 125 µs m a m g a a a a a Tempi calcolati su un computer che esegue 10 9 istruzioni al secondo 38 1 µs 8 µs 1 ms 1 s n 3 n 4 10 µs 160 µs 810 µs 2.56 ms 6.25 ms 100 ms 10 s 2.84 h 6.83 g g 3.1 a n a 1 µs 1 ms 1 s 18.3 m 13 g 2 n a Massima istanza Il miglioramento tecnologico Dato un certo computer consideriamo la massima istanza del problema che può essere risolto in 1 h Quindi supponiamo di aver un computer 100 o 1000 volte più veloce Cerchiamo il miglioramento dovuto alla tecnologia sulla massima istanza computabile in 1 h f(n) n n 2 n 3 n 5 2 n 3 n computer di riferimento N 1 N 2 N 3 N 4 N 5 N 6 computer 100 volte + veloce 100 N 1 10 N N N 4 N N computer 1000 volte + veloce 1000 N N 2 10 N N 4 N N Considerazioni Non bastano i miglioramenti tecnologici Occorrono buoni algoritmi Gli algoritmi polinomiali sono ovviamente molto più apprezzabili di quelli esponenziali Teoria degli algoritmi Gli algoritmi risolvono un problema Possibilmente sono corretti... Dimostrazioni di correttezza degli algoritmi vs verifica empirica Complessità degli algoritmi Se gli algoritmi sono corretti, sono buoni? Criteri di bontà: efficienza nell uso delle risorse sia di tempo di calcolo, sia di occupazione di memoria Problemi intrinsecamente difficili Decidibilità. Dato un problema esiste un algoritmo per risolverlo? Alberti, Bruschi, Rosti. DICo, Università degli Studi di Milano 7

8 I linguaggi di programmazione L algoritmo va rappresentato in un sistema formale per essere comunicato alla macchina che lo esegue I linguaggi di programmazione Una varietà di approcci per affrontare il processo della programmazione Sintassi Sistema di regole formali che definiscono il linguaggio Consente di stabilire se un istruzione è ben formata È corretto scrivere: se x + n > m allora STOP? Facilitano il compito al programmatore I programmi devono essere tradotti nel linguaggio nativo della macchina Diversi livelli di espressività In un linguaggio ad alto livello, PASCAL semiperimetro := base + altezza; In un linguaggio assembly, simbolico del linguaggio macchina, LOAD x carica il contenuto di x in registro ADD y nel registro somma il contenuto di y STORE z il risultato salvalo nella variabile z Linguaggi di basso livello In un linguaggio macchina, ogni istruzione è una sequenza di cifre binarie Totalmente illeggibile per l uomo Perfettamente non ambiguo per la macchina traduzione delle istruzioni precedenti Traduzione dei linguaggi Il concetto di traduzione dei linguaggi ha permesso l evoluzione dei linguaggi verso sistemi simbolici più espressivi e più facilmente manipolabili dai programmatori Il programmatore scrive un programma in un linguaggio ad alto livello senza preoccuparsi della macchina che esegue il programma Il compilatore viene predisposto per una macchina specifica e poi traduce tutti i programmi scritti in uno specifico linguaggio ad alto livello Programma compilatore Il compilatore traduce istruzioni scritte in un linguaggio ad alto livello, definite da regole sintattiche precise Necessità di strumenti formali per la descrizione delle grammatiche (tavole sintattiche, grammatiche, BNF) Programma sorgente: il programma ad alto livello tradotto dal compilatore Programma oggetto: il risultato della traduzione del compilatore Alberti, Bruschi, Rosti. DICo, Università degli Studi di Milano 8

9 Influenza del modello sui linguaggi Concetto di istruzione l'unità di base del programma, memorizzate in successive celle di memoria Concetto di sequenzialità e iterazione In diversi costrutti dei linguaggi e in tutto il processo di esecuzione Concetto di variabile Le celle di memoria contenenti i valori da manipolare È sorprendente che il computer di Von Neumann sia rimasto così a lungo il paradigma fondamentale dell'architettura dei calcolatori. Ma dato il fatto, non è sorprendente che i linguaggi imperativi siano i principali oggetti di studio e sviluppo. Perchè come Backus ha sottolineato i linguaggi imperativi hanno solide radici nell'architettura della macchina di Von Neumann e ne sono l'immagine. Horowitz (Fundamentals of Programming Languages, 1983) Evoluzione dei linguaggi Anni 50: i primi linguaggi ad alto livello FORTRAN, introduce il concetto di sottoprogrammi che operano su dati comuni ALGOL, introduce il concetto di struttura dei programmi e di procedure ricorsive, ovvero che richiamano se stesse COBOL, introduce il concetto di FILE e di descrizione dei dati Evoluzione dei linguaggi Anni 60: i linguaggi orientati al problema LISP, introduce uniformità tra dati e programmi e un paradigma di programmazione basato sul concetto di funzione APL, linguaggio matematico, ricco di notazioni e operatori per operare su strutture come vettori e matrici SNOBOL, offre strumenti utili per la manipolazione di sequenze di caratteri Evoluzione dei linguaggi Anni 70: metodologia di programmazione PASCAL, ha lo scopo di insegnare la programmazione strutturata, una possbile risposta alla necessità di programmare con un metodo. Fa seguito Modula-2 che introduce il concetto di modulo. C, linguaggio ad alto livello con visibilità e accesso alla macchina Prolog, linguaggio basato sulla logica, non convenzionale diventato di nicchia 53 Evoluzione dei linguaggi Anni 80: programmazione in grande, esigenza di modularità e di astrazione La programmazione a oggetti. Una classe definisce un insieme di oggetti e le procedure per manipolarli SmallTalk, Objective-C, C++ 54 Alberti, Bruschi, Rosti. DICo, Università degli Studi di Milano 9

Laboratorio di Informatica. All origine. I Calcolatori. Pascal ( ) Storia del calcolatore. Informatica

Laboratorio di Informatica. All origine. I Calcolatori. Pascal ( ) Storia del calcolatore. Informatica Informatica Evoluzione del calcolatore e fondamenti della programmazione Lezione 1 L'informatica è la disciplina che fonda su basi scientifiche diverse aree: il disegno e la progettazione di computer la

Dettagli

Informatica di Base. Introduzione

Informatica di Base. Introduzione Informatica di Base Introduzione Evoluzione del calcolatore Storia del calcolatore! I primi tentativi di automatizzare il calcolo risalgono al 500 1623, Schickard: il primo modello di calcolatore per sommare,

Dettagli

Evoluzione del calcolatore e fondamenti della programmazione

Evoluzione del calcolatore e fondamenti della programmazione Informatica e fondamenti della programmazione Disciplina che si occupa dell informazione e del suo trattamento in modo automatico Mezzi fisici: i computer Mezzi logici: procedimenti di elaborazione, algoritmi

Dettagli

Laboratorio di Informatica. Introduzione

Laboratorio di Informatica. Introduzione Introduzione 1 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare le applicazioni e le aree disciplinari 2 1 Informatica: definizione

Dettagli

Laboratorio di Informatica. Introduzione

Laboratorio di Informatica. Introduzione Introduzione 1 Informatica: definizione Informatica: disciplina che cerca di dare un fondamento scientifico ad argomenti come la progettazione di computer, la programmazione, l elaborazione delle informazioni,

Dettagli

Laboratorio di Informatica. Introduzione. Laboratorio di Informatica

Laboratorio di Informatica. Introduzione. Laboratorio di Informatica Introduzione 1 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare le applicazioni e le aree disciplinari 2 Informatica: definizione

Dettagli

Corso di Laboratorio di Informatica

Corso di Laboratorio di Informatica Corso di Laboratorio di Informatica 2006/2007 Ing. Claudio Marrocco c.marrocco@unicas.it Struttura del corso Diviso in sei moduli: Architettura del Calcolatore Sistema Operativo Foglio Elettronico (Excel)

Dettagli

Linguaggi, Traduttori e le Basi della Programmazione

Linguaggi, Traduttori e le Basi della Programmazione Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi

Dettagli

I linguaggi di programmazione

I linguaggi di programmazione I linguaggi di programmazione sono stati introdotti per facilitare ai programmatori il compito di scrittura dei programmi Sono linguaggi simbolici, in continua evoluzione Sono definiti da un insieme di

Dettagli

Organizzazione strutturata

Organizzazione strutturata Organizzazione strutturata Evoluzione storica a.a. 2002-03 L. Borrelli 1 Complessità dei Sistemi di Elaborazione Caratteristica dei Sistemi di Elaborazione: Complessità Per trattare sistemi complessi è

Dettagli

Elementi di programmazione

Elementi di programmazione Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Elementi di programmazione Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università

Dettagli

Introduzione: informatica. 18/2/2013 Informatica applicata alla comunicazione multimediale Cristina Bosco

Introduzione: informatica. 18/2/2013 Informatica applicata alla comunicazione multimediale Cristina Bosco Introduzione: informatica 18/2/2013 Informatica applicata alla comunicazione multimediale Cristina Bosco Indice - di cosa si occupa l informatica - una definizione della scienza informatica - cosa è un

Dettagli

Elementi di programmazione

Elementi di programmazione Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Elementi di programmazione Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

Dettagli

Cenni storici. Abaco 3000 B.C. in Babilonia. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova

Cenni storici. Abaco 3000 B.C. in Babilonia. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova Cenni storici Paolo Bison Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova p.1/36 Abaco 3000 B.C. in Babilonia p.2/36 Dispositivo di Antikythera 80 A.C. calcolatore analogico per valutare

Dettagli

Architettura degli Elaboratori 01-Introduzione Introduzione

Architettura degli Elaboratori 01-Introduzione Introduzione Introduzione Calcolatore digitale: macchina capace di risolvere problemi eseguendo le istruzioni assegnate Programma: sequenza di istruzioni per eseguire un certo compito Pagina 2 Cosa abbiamo a disposizione?

Dettagli

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione Informatica 3 LEZIONE 1: Introduzione Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Informatica 3 Lezione 1- Modulo 1 Introduzione al corso Introduzione Corso di Informatica 3

Dettagli

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic

Dettagli

Il linguaggio di programmazione Python

Il linguaggio di programmazione Python Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo L1 A2-Evoluzione dei sistemi di elaborazione 1 Prerequisiti Non sono necessari particolari requisiti, se non le conoscenze a livello di cultura generale di base. 2 1 Introduzione

Dettagli

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione Informatica 3 Informatica 3 LEZIONE 1: Introduzione Lezione 1- Modulo 1 Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Introduzione al corso Politecnico di Milano - Prof. Sara Comai

Dettagli

I linguaggi di programmazione

I linguaggi di programmazione Problem Solving I linguaggi di programmazione Corso di laurea in Lo scopo di un programma è quello di risolvere un problema I passi generali per risolvere un problema sono: Capire il problema Scomporre

Dettagli

I linguaggi di programmazione

I linguaggi di programmazione I linguaggi di programmazione sono stati introdotti per facilitare ai programmatori il compito di scrittura dei programmi Sono linguaggi simbolici, in continua evoluzione Sono definiti da un insieme di

Dettagli

memorizzare dati interagire con dispositivi eseguire programmi sequenze di istruzioni che il computer esegue e di decisioni che il computer prende

memorizzare dati interagire con dispositivi eseguire programmi sequenze di istruzioni che il computer esegue e di decisioni che il computer prende Introduzione Elementi storici L idea di impiegare dispositivi meccanici per effettuare calcoli in modo automatico risale al 600 (Pascal,Leibniz) Nel 1800 vengono realizzati i primi dispositivi meccanici

Dettagli

Capitolo 0. Introduzione. Prof. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

Capitolo 0. Introduzione. Prof. Mauro Giacomini Pearson Addison-Wesley. All rights reserved Capitolo 0 Introduzione Prof. Mauro Giacomini 2007 Pearson Addison-Wesley. All rights reserved Capitolo 0: Introduzione 0.1 Il ruolo degli algoritmi 0.2 L origine delle macchine per il calcolo 0.3 La scienza

Dettagli

programmazione A.A Elementi di Informatica ( Lezione VI ) Linguaggi di programmazione Prof. Giovanni Gallo Dr.

programmazione A.A Elementi di Informatica ( Lezione VI ) Linguaggi di programmazione Prof. Giovanni Gallo Dr. Programmazione A.A. 2002-03 I Elementi di Informatica ( Lezione VI ) Linguaggi di programmazione Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di Catania

Dettagli

Linguaggi di programmazione e astrazione

Linguaggi di programmazione e astrazione Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo

Dettagli

Cenni storici sui sistemi di elaborazione

Cenni storici sui sistemi di elaborazione Cenni storici sui sistemi di elaborazione Generazione 0 (1600-1945) Tecnologia: sistemi meccanici Blaise Pascal (1623-1662) Pascalina: Somme e sottrazioni Gottfried Wilhelm von Leibniz (1646-1716) Macchina

Dettagli

L architettura del calcolatore

L architettura del calcolatore Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 1 L architettura del calcolatore Settembre 2006 L architettura del calcolatore 1 Nota bene Alcune parti del presente materiale

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada

Dettagli

Storia dell Informatica. Prof.ssa Gentile

Storia dell Informatica. Prof.ssa Gentile Storia dell Informatica Prof.ssa Gentile ABACO Abaco Giapponese Abaco Russo Abaco Rappresentazione dei numeri e metodo per l utilizzo dell Abaco Bastoncini di Nepero John Napier (Edinburgo, 1550-1617)

Dettagli

Concetti Introduttivi

Concetti Introduttivi Concetti Introduttivi Linguaggi di Programmazione http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Linguaggi di Programmazione Impartiscono

Dettagli

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Scopo della lezione. Informatica. Informatica - def. 1. Informatica LEZIONE 1 - Che cos è l informatica 1 LEZIONE 1 - Che cos è l informatica 2 Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della

Dettagli

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI Linguaggi di alto livello Barriera di astrazione C Fortran Cobol Modula-2 Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI C Fortran Modula-2

Dettagli

Linguaggi di alto livello. Barriera di astrazione. Pascal. Cobol. Fortran. Basic. Modula-2. Lisp. Simula67 Scheme. Smalltalk C++ Prolog AN

Linguaggi di alto livello. Barriera di astrazione. Pascal. Cobol. Fortran. Basic. Modula-2. Lisp. Simula67 Scheme. Smalltalk C++ Prolog AN Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI Fortran Cobol

Dettagli

Informatica Generale 01 - Introduzione

Informatica Generale 01 - Introduzione Informatica Generale 01 - Introduzione Andrea Corradini Dipartimento di Informatica email: andrea@di.unipi.it Ricevimento: Fissare un appuntamento per posta elettronica, oppure Lunedì ore 15:30-18:30 presso

Dettagli

Informatica e calcolatori

Informatica e calcolatori Lezione 1 e calcolatori Mauro Piccolo September 14, 2015 1 / 22 Il futuro Trattamento automatico delle Tre principali tematica La codifica delle Gli strumenti di trattamento delle La codifica del trattamento

Dettagli

FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA UN POCO DI STORIA FONDAMENTI DI INFORMATICA. Lezione n. 1 UN POCO DI STORIA UN POCO DI STORIA

FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA UN POCO DI STORIA FONDAMENTI DI INFORMATICA. Lezione n. 1 UN POCO DI STORIA UN POCO DI STORIA FONDAMENTI DI INFORMATICA Obiettivo del corso: Fornire le nozioni di base sull architettura dei sistemi di calcolo. Fornire i primi strumenti di descrizione e di analisi dei sistemi digitali. Descrivere

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione E una notazione con cui e possibile descrivere gli algoritmi. Programma: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione!paradigmi linguistici, costrutti!semantica!implementazione, strutture a tempo di esecuzione 1 Linguaggi di programmazione e astrazione! i linguaggi di programmazione ad alto

Dettagli

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) 1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.1a: Gli Algoritmi

INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.1a: Gli Algoritmi INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : Gli Algoritmi INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

Cenni storici sui sistemi di elaborazione

Cenni storici sui sistemi di elaborazione Cenni storici sui sistemi di elaborazione Generazione 0 (1600-1945) Tecnologia: sistemi meccanici Blaise Pascal (1623-1662) Pascalina: Somme e sottrazioni Gottfried Wilhelm von Leibniz (1646-1716) Macchina

Dettagli

Linguaggi di programmazione. Paradigmi di programmazione

Linguaggi di programmazione. Paradigmi di programmazione Linguaggi di programmazione Paradigmi di programmazione Linguaggi: un po di storia Albori: Macchine a programma memorizzato, Programmi come dati Linguaggio Macchina Assemblatore FORTRAN (calcolo scientifico)

Dettagli

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2)

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2) Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio (1) Linguaggio (2) Insieme di sequenze di simboli,

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno : Gli Algoritmi INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze

Dettagli

Origini matematiche e tecnologiche dell informatica A. Ferrari

Origini matematiche e tecnologiche dell informatica A. Ferrari Origini matematiche e tecnologiche dell informatica A. Ferrari La preistoria Fin dai tempi più antichi l uomo ha costruito apparecchi utili per alleviare lo sforzo per il calcolo e per evitare errori.

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA Obiettivo del corso: Fornire le nozioni di base sull architettura dei sistemi di calcolo. Fornire i primi strumento di descrizione e di analisi dei sistemi digitali. Descrivere

Dettagli

FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA UN POCO DI STORIA FONDAMENTI DI INFORMATICA. Lezione n. 1 UN POCO DI STORIA UN POCO DI STORIA

FONDAMENTI DI INFORMATICA FONDAMENTI DI INFORMATICA UN POCO DI STORIA FONDAMENTI DI INFORMATICA. Lezione n. 1 UN POCO DI STORIA UN POCO DI STORIA FONDAMENTI DI INFORMATICA Obiettivo del corso: Fornire le nozioni di base sull architettura dei sistemi di calcolo. Fornire i primi strumento di descrizione e di analisi dei sistemi digitali. Descrivere

Dettagli

RETI E SISTEMI INFORMATIVI

RETI E SISTEMI INFORMATIVI RETI E SISTEMI INFORMATIVI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento martedì, 12.00-13.00. Aula?? Modalità esame: scritto + tesina facoltativa 1 TIPI DI ELABORATORI I computer

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia talia@deis.unical.it A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica

Dettagli

RETI E SISTEMI INFORMATIVI

RETI E SISTEMI INFORMATIVI RETI E SISTEMI INFORMATIVI Prof. Andrea Borghesan http://venus.unive.it/borg borg@unive.it Ricevimento: mercoledì, 10.00-11.00. Studio 34, primo piano. Dip. Statistica 1 Modalità esame: scritto + tesina

Dettagli

CASO STUDIO: IL PERSONAL COMPUTER

CASO STUDIO: IL PERSONAL COMPUTER CASO STUDIO: IL PERSONAL COMPUTER 1 Prologo Penso che nel mondo ci sia mercato forse per 4 o 5 computer Thomas Watson, presidente della IBM, 1943 Progettazione e Sviluppo Prodotto 2 1 I precursori L abaco

Dettagli

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori Programma del corso o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori o Elementi di Programmazione Algoritmi e programmi o Algoritmo

Dettagli

Scaletta. Cenni di computabilità. Cosa fa un programma? Definizioni (1/2) Definizioni (2/2) Problemi e domande. Stefano Mizzaro 1

Scaletta. Cenni di computabilità. Cosa fa un programma? Definizioni (1/2) Definizioni (2/2) Problemi e domande. Stefano Mizzaro 1 Scaletta Cenni di computabilità Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 23 27 novembre 2013

Dettagli

! Problemi, domande, risposte. ! Algoritmi che calcolano funzioni. ! Funzioni computabili e non. ! Problema = insieme di domande omogenee. !

! Problemi, domande, risposte. ! Algoritmi che calcolano funzioni. ! Funzioni computabili e non. ! Problema = insieme di domande omogenee. ! Scaletta Cenni di computabilità Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 24 26 maggio 2015!

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Algoritmo. Calcolabilità

Algoritmo. Calcolabilità Algoritmo In altri termini, l algoritmo può essere definito come la descrizione di un procedimento che ha le seguenti proprietà: deve essere esplicita e non ambigua per l interlocutore cui è destinata

Dettagli

Breve storia dei sistemi di calcolo

Breve storia dei sistemi di calcolo FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Breve storia dei sistemi di calcolo 2000 Pier Luca Montessoro (si veda la nota di copyright alla

Dettagli

I Linguaggi di Programmazione

I Linguaggi di Programmazione I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio

Dettagli

Algoritmi e Linguaggi

Algoritmi e Linguaggi Algoritmi e Linguaggi Programmi e linguaggi Un calcolatore è solo un esecutore rapidissimo di istruzioni Un programma è un insieme di istruzioni codificate in un opportuno linguaggio 2 / 21 Linguaggi e

Dettagli

Informatica. Fondamenti di Informatica 1. Informatica. Informatica. Introduzione all Informatica. Introduzione all Informatica

Informatica. Fondamenti di Informatica 1. Informatica. Informatica. Introduzione all Informatica. Introduzione all Informatica Informatica Fondamenti di Informatica 1 Roberto Basili a.a. 2000-2001 Col termine Informatica si intende attualmente l insieme delle discipline scientifiche che analizzazno il trattamento automatico (codifica,

Dettagli

I linguaggi di programmazione

I linguaggi di programmazione 2. I linguaggi di I linguaggi di I linguaggi di I linguaggi di sono stati introdotti per facilitare ai programmatori il compito di scrittura dei programmi Sono linguaggi simbolici, in continua evoluzione

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

Corso di Calcolatori Elettronici I

Corso di Calcolatori Elettronici I Corso di Calcolatori Elettronici I Evoluzione dei Calcolatori Elettronici Roberto Canonico Università degli Studi di Napoli Federico II A.A. 2016-2017 Roberto Canonico Corso di Calcolatori Elettronici

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia talia@deis.unical.it A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica

Dettagli

SISTEMI INFORMATIVI AZIENDALI

SISTEMI INFORMATIVI AZIENDALI SISTEMI INFORMATIVI AZIENDALI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: Alla fine di ogni lezione Modalità esame: scritto 1 UN PO DI STORIA 1/9 L abaco, dal latino abacus, significa

Dettagli

Cos'e un linguaggio di programmazione?

Cos'e un linguaggio di programmazione? Linguaggi di Programmazione Corso di Laurea in Informatica Introduzione ai linguaggi di Valeria Carofiglio a.a. 2016-2017 (questo materiale è una rivisitazione del materiale prodotto da Nicola Fanizzi)

Dettagli

Fondamenti di programmazione!! Parte 2!

Fondamenti di programmazione!! Parte 2! Fondamenti di programmazione!! Parte 2! 1! Definizione intuitiva di algoritmo! n Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo le quali e possibile risolvere ogni istanza

Dettagli

Algoritmi. Andrea Passerini Informatica. Algoritmi

Algoritmi. Andrea Passerini Informatica. Algoritmi Andrea Passerini passerini@disi.unitn.it Informatica Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale

Dettagli

Programmi e calcolatori. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA

Programmi e calcolatori. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI "PROGRAMMAZIONE I" Prof. Franco FRATTOLILLO Dipartimento di Ingegneria Università degli Studi del Sannio Programmi e

Dettagli

Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione

Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio (1) Linguaggio (2) Insieme di sequenze di simboli,

Dettagli

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio. Messaggio

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio. Messaggio Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio Messaggio Insieme di sequenze di simboli, le parole,

Dettagli

Corso di Informatica di Base

Corso di Informatica di Base Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere

Dettagli

Fondamenti di Informatica 1 (I Modulo) Introduzione agli algoritmi. Roberto Basili a.a

Fondamenti di Informatica 1 (I Modulo) Introduzione agli algoritmi. Roberto Basili a.a Fondamenti di Informatica 1 (I Modulo) Introduzione agli algoritmi Roberto Basili a.a. 2006-2007 2007 Informatica Col termine Informatica si intende attualmente l insieme delle discipline scientifiche

Dettagli

Informatica 3. LEZIONE 0: Panoramica dei linguaggi di programmazione. Politecnico di Milano - Prof. Sara Comai 1

Informatica 3. LEZIONE 0: Panoramica dei linguaggi di programmazione. Politecnico di Milano - Prof. Sara Comai 1 Informatica 3 LEZIONE 0: Panoramica dei linguaggi di Politecnico di Milano - Prof. Sara Comai 1 Linguaggi di Un linguaggio di è una notazione formale caratterizzata da due componenti: Sintassi: insieme

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio

Dettagli

Esempio. Perché i computer? L era meccanica. Fondamenti di Informatica. Breve storia dei sistemi di calcolo

Esempio. Perché i computer? L era meccanica. Fondamenti di Informatica. Breve storia dei sistemi di calcolo - Storia dei sistemi di calcolo FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Breve storia dei sistemi di calcolo 2000 Pier Luca Montessoro

Dettagli

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione DAGLI ALGORITMI AI LINGUAGGI Linguaggi di Programmazione E` una notazione con cui e` possibile descrivere gli algoritmi. Programma: e` la rappresentazione di un algoritmo in un particolare linguaggio di

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Parte Prima: Introduzione storica Fondamenti di informatica Calcolatori meccanici L'ingresso del calcolatore nel mondo del lavoro risale all'inizio del 1900; la tecnologia delle

Dettagli

Punto di vista Tecnologico: strumenti di elaborazione della informazione. Punto di vista Metodologico:

Punto di vista Tecnologico: strumenti di elaborazione della informazione. Punto di vista Metodologico: Informatica Col termine Informatica si intende attualmente l insieme delle discipline scientifiche che analizzazno il trattamento automatico (codifica, elaborazione e trasmissione) della informazione.

Dettagli

Programmazione per BioInformatica Introduzione. Docente. Programma del corso. Nicola Drago

Programmazione per BioInformatica Introduzione. Docente. Programma del corso. Nicola Drago Programmazione per BioInformatica Introduzione Nicola Drago nicoladrago@univrit Dipartimento di Informatica Università di Verona Docente Nicola Drago Dip Di Informatica e-mail: nicoladrago@univrit Programma

Dettagli

Introduzione. Corso di Fondamenti di Informatica

Introduzione. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Introduzione Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Algoritmi

Dettagli

L ELABORATORE ELETTRONICO

L ELABORATORE ELETTRONICO L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su dati in ingresso (input) per produrre uno

Dettagli

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione

Dettagli

L ELABORATORE ELETTRONICO

L ELABORATORE ELETTRONICO L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti

Dettagli

Introduzione all informatica

Introduzione all informatica Introduzione all informatica INFORMATICA Varie definizioni Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta Scienza della rappresentazione e dell

Dettagli