corso di fondamenti di informatica - inesc-idromanop/files/fi/introduzione.pdf · introduzione...
TRANSCRIPT
![Page 1: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/1.jpg)
Introduzione
Dipartimento di Informatica e Sistemistica Antonio Ruberti
“Sapienza” Università di Roma
Si ringrazia il Prof. Alberto Finzi per aver reso disponibile il materiale didattico sul quale si basano queste slides
Prof. Paolo Romano
Corso di Fondamenti di InformaticaLaurea in Ingegneria Informatica
(Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti)
Anno Accademico 2007/2008
![Page 2: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/2.jpg)
Obiettivo del Corso
Acquisizione di:
•Nozioni di informatica di base:nozioni sul funzionamento di un elaboratoreelettronico e sulla rappresentazione delle informazioni.
• Programmazione:principi fondamentali, le nozioni e i metodi della programmazione(imperativa) introdotti utilizzando il linguaggio di programmazione C.
![Page 3: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/3.jpg)
Materiale Didattico
• Informatica di base:Dispense distribuite durante il corso. Disponibili anche sulla paginabase del corso (http://www.dis.uniroma1.it/~romanop)
• Programmazione in C:H. Deitel, P. Deitel. C Corso completo di Programmazione. Apogeo.
![Page 4: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/4.jpg)
Modalità di Esame
Modalità esame:L'esame si compone di due prove:
•prova pratica: programmazione in C.
•prova teorica: domande di informatica di base.
![Page 5: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/5.jpg)
Introduzione
![Page 6: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/6.jpg)
Introduzione
Informatica: Informazione + Automatica
Automatica = Eseguibile da una Macchina
Disciplina che studia:Elaborazione Automatica delle Informazioni
Informazione Macchina Informazione
Elaborazione = CalcoloElaboratore = Macchina Calcolatrice
(Scienza dell’Informazione / Computer Science)
![Page 7: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/7.jpg)
Introduzione
Informazione Macchina Informazione
Tre aspetti: Informazione, Macchina, Calcolo
Problematiche connesse:
• Rappresentazione dell’informazione.
• Funzionamento della macchina calcolatrice.
• Procedure e metodi per il calcolo automatico.
![Page 8: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/8.jpg)
Esempio Macchina Calcolatrice
Esempio Calcolatrice:
numericalcolatrice numero
operazione
Informazione Macchina Informazione
Calcolo (10*5 + 30) … controllo manuale della sequenza (o flusso) operazioni
(Blaise Pascal 1642)
![Page 9: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/9.jpg)
Esempio Macchina Calcolatrice
numericalcolatrice numero
operazione
Informazione Macchina Informazione
(Blaise Pascal 1642)
Rapp. informazione ingresso Rapp. informazione uscitacalcolo
![Page 10: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/10.jpg)
Macchina Calcolatrice Programmabile
Macchina Calcolatrice Programmabile:Informazioneingresso
Elaboratore InformazioneuscitaProcedura di
calcolo
Informazione Macchina Informazione
controllo automatico della sequenza di operazioni (flusso)(Tra le informazioni in ingresso anche la procedura di calcolo)
(Charles Babbage1833)
Il calcolatore (computer/ordinateur) esegue istruzioni nella modalità prevista dal metodo di calcolo.
![Page 11: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/11.jpg)
Macchina Programmabile
Charles Babbage
Ada Byron
macchina alle differenze
THE ANALYTICAL ENGINE
E’ considerata la prima programmatrice: descrive come calcolare i numeri diBernoulli con la macchina analitica.
![Page 12: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/12.jpg)
1642 - Blaise Pascal, prima macchina calcolatrice: PASCALINE.1674 - W. Leibnitz usa il sistema binario: CALCOLATORE A SCATTI DI LEIBNITZ1816 - Charles Babbage, progetta MACCHINA ALLE DIFFERENZE. 1884 - H. Hollerith costrusce una macchina per archiviare i dati per il censimento di New York (fonda IBM)1904 - Fleming inventa la valvola termoionica
1945 - PRIMA GENERAZIONE DI COMPUTERS (Valvole).1946 - Nasce l' ENIAC funzionante a valvole termoioniche e quindi velocissimo rispetto aicalcolatori realizzati fino a quel momento.
1947 - Invenzione del transistore.
1950- John Von Neumann, viene realizzato il primo calcolatore, l’EDVAC, in grado dimemorizzare internamente un programma.
1951 - Nasce l' UNIVAC, il primo calcolatore ad essere prodotto su scala industriale.
1955 - SECONDA GENERAZIONE DI COMPUTERS (Transistori).1959 - Viene inventato il circuito integrato.
1968 - TERZA GENERAZIONE DI COMPUTERS (Circuiti integrati).1971 - Viene inventato il microprocessore.
1974 - QUARTA GENERAZIONE DI COMPUTERS (Microprocessori).1980 - Nasce il personal computer.
Storia Calcolatore
![Page 13: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/13.jpg)
Algoritmo
Metodo effettivo per il calcolo: ALGORITMO (dall’algebrista Al-Khuwarizmi)
Informazioneingresso
Calcolatore InformazioneuscitaProcedura di
calcolo
Algoritmo: metodo risolutivo (insieme ordinato di istruzioni) che trasforma un insieme di dati iniziali in un insieme di risultati finali.
Proprietà Algoritmo:
a. Non ambiguità: interpretazione univoca delle operazioni.
b. Eseguibilità: ogni istruzione deve essere eseguibile.
c. Finitezza: i passi indicati dall’algoritmo sono finiti.
![Page 14: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/14.jpg)
Esempio della ricetta
400 grammi di alici fresche, 300 grammi dipomodorini pachino, 400 grammi di pasta formatopenne rigate, 2 rametti di prezzemolo
1 spicchio d'aglio, 1 peperoncino fresco o secco, 1 cucchiaino di sale fino, 2 cucchiai di sale grosso, 5 cucchiai di olio di oliva
In un tegame ampio soffriggi l'aglio, l'olio ed il peperoncino. Unisci i filetti dialici fresche precedentemente lavate, eviscerate e private della lisca centrale. Fai cuocere a fuoco moderato per 10 minuti con un coperchio. Unisci i pomodorini già lavati e tagliati ciascuno in quattro parti. Aggiungi il sale fino e fai cuocere altri 10 minuti, sempre con il coperchio. Unisci un rametto diprezzemolo già lavato, e sminuzzato. Lascia cuocere pochi minuti senzacoperchio. Nel frattempo fai cuocere la pasta in acqua bollente e salata con ilsale grosso. Versa il condimento sulla pasta scolata, mescola ed aggiungil'altro rametto di prezzemolo sempre sminuzzato. Servi in tavola ben caldo.
PENNE ALICI E PACHINO:
Ingredienti (Dati)
Metodo di preparazione (Calcolo)
![Page 15: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/15.jpg)
Algoritmi e Programmi
L’algoritmo fornisce la specifica astratta di una metodologia di calcolo.
L’algoritmo è dato in ingresso alla macchina. Per descrivere alla macchina l’algoritmo occorre un linguaggio di programmazione.
Un programma è la specifica di un algoritmo in un linguaggio di programmazione.
Un linguaggio di programmazione (imperativo) è un linguaggio per rappresentare alla macchina le istruzioni di un algoritmo e l’ordine in cui devono essere eseguite.
![Page 16: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/16.jpg)
Programmazione
Problema: dati in ingresso/uscita Algoritmo: metodo di calcolo (soluzione astratta) Programma: codifica algoritmo nel LDP (implementazione)
Problema Algoritmo Programma
Con la prog. vogliamo risolvere classi di problemi fornendo un metodo risolutivo traducibile in un linguaggio di programmazione
Fase Problema/Algoritmo: -analisi struttura del problema; -specifica della soluzione come operazioni sui dati.
Fase Algoritmo/Programma: traduzione dell’algoritmo nel linguaggio di programmazione.
![Page 17: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/17.jpg)
![Page 18: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/18.jpg)
![Page 19: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/19.jpg)
![Page 20: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/20.jpg)
![Page 21: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/21.jpg)
![Page 22: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/22.jpg)
![Page 23: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/23.jpg)
![Page 24: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/24.jpg)
![Page 25: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/25.jpg)
![Page 26: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/26.jpg)
![Page 27: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/27.jpg)
![Page 28: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/28.jpg)
![Page 29: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/29.jpg)
![Page 30: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/30.jpg)
![Page 31: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/31.jpg)
![Page 32: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/32.jpg)
![Page 33: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/33.jpg)
![Page 34: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/34.jpg)
![Page 35: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/35.jpg)
![Page 36: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/36.jpg)
![Page 37: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/37.jpg)
Riassumendo
Elaborazione Automatica delle Informazioni
Informazioneingresso
Calcolatore InformazioneuscitaProcedura di
calcolo
Algoritmo: metodo risolutivo (sequenza ordinata di operazioni) per il calcolo del risultato a partire dai dati in ingresso.
Linguaggio di programmazione: linguaggio specializzato per rappresentare alla macchina algoritmi e dati.
Programma: specifica di un algoritmo in un linguaggio di programmazione.
Calcolatore:
![Page 38: Corso di Fondamenti di Informatica - INESC-IDromanop/files/FI/Introduzione.pdf · Introduzione Dipartimento di Informatica e Sistemistica Antonio Ruberti “Sapienza” Università](https://reader034.vdocumenti.com/reader034/viewer/2022050604/5fab72ad85bd976f8c0b4f8e/html5/thumbnails/38.jpg)
Hardware & Software
Macchina/Hardware
Programmi/Software
Hardware: struttura fisica del calcolatore
Software: programmi