Fondamenti di Informatica - lepillole.it · Automatica: capacità di eseguire una successione di...
-
Upload
duongquynh -
Category
Documents
-
view
218 -
download
0
Transcript of Fondamenti di Informatica - lepillole.it · Automatica: capacità di eseguire una successione di...
Fondamenti di Informatica Corso di Laurea in Ingegneria Industriale
(Elettrica, Meccanica, Energetica) Anno 2012- 2013
Laura Pedrinazzi
Fondamenti di Informatica
Programma del corso
Calendario (esercitazioni, lezioni, laboratorio, prove)
Modalita’ d’esame
• Archite)ura di un elaboratore e principi logici del suo funzionamento;
• Metodi di codifica delle informazioni e operatori per manipolarle;
• Sistemi opera;vi e linguaggi di programmazione; • Principi di base della programmazione stru)urata; • Definizione di algoritmi e rappresentazione mediante
diagrammi di flusso; • Stru)ure da; e algoritmi per ges;rle; • Linguaggio C e suo u;lizzo per la implementazione
applicazioni di media difficolta’. • Ciclo di vita del so-ware
UNIVAC (1951)
Sommario (teoria)
Algoritmi e strutture dati: • Stile di programmazione • Ricorsione • Strutture informative • Strutture concrete • Algortimi comuni • (ricerca e ordinamento)
UNIVAC (1951)
Sommario ( pratica)
• ConceE di base • Tipi di da;, operatori e istruzioni • Funzioni • Puntatori • Ges;one della memoria • Classi di memorizzazione • Preprocessore • File
UNIVAC (1951)
Sommario (pratica)
• ConceE base di HTML • Archite)ura client/server e web • Database • Cenni di programmazione a oggeE • Programmare per iPad,iPhone e Android
UNIVAC (1951)
Se sarete bravi…
Modalita’ d’Esame
Prova scri*a sulla parte teorica in cui vengono propos4 argomen4 tra6a4 nel corso delle lezioni che devono essere approfondi4 dal candidato Prova pra0ca di programmazione in cui il candidato dovrà sviluppare un programma in linguaggio C che risolva il problema proposto La valutazione globale è la media aritme4ca delle valutazioni (entrambe in trentesimi) conseguite nelle due prove
Modalita’ d’Esame
Prova in i0nere a dicembre/gennaio sulla parte teorica (sos0tuisce la prova teorica nelle sessioni d’esame). Sessione d’esame a febbraio, luglio e se*embre. ( 2 appelli per ogni sessione di prova pra0ca e teorica). Potete sostenere la prova pra0ca e la prova teorica nell’ordine che preferite e anche in diversi appelli. Ogni prova e’ ritenuta valida fino a o*obre 2013.
Materiale dida*co consigliato J. Glenn Brookshear, INFORMATICA una panoramica generale. Pearson Addison Wesley. 9^ edizione, 11/2006. Buon riferimento per la preparazione della maggior parte degli argomen; teorici. P. Tosora*, Introduzione all’Informa0ca. Casa Editrice Ambrosiana, 1998, Milano. Buon riferimento per la preparazione della maggior parte degli argomen; teorici.
Materiale dida*co consigliato Harvey M. Deitel, Paul J. Deitel, C Corso completo di programmazione -‐ Terza Edizione. Apogeo, 2007. Un testo chiaro e ben scri6o, oBmo per la didaBca. Brian W. Kernighan, Dennis M. Ritchie, Linguaggio C. Seconda Edizione. Jackson Libri, 1989. E' sicuramente il testo di riferimento per il linguaggio C, ideale come manuale di riferimento. Dispensa di T. Facchine*, C. Larizza e A. Rubini, reperibile al sito: hOp://www.dispenseonline.net/ (Pavia University Press, casa editrice dell'Università degli Studi di Pavia)
Perché studiare informatica CULTURALI
Conoscere la logica del computer per capire e progettare nuove devices Un ingegnere non può ignorarla
INGEGNERISTICI Un ingegnere non può progettare senza
PRATICI Un tecnico non può trovare lavoro senza
Dove è l’informatica
Applicazioni scientifiche Calcolo numerico Simulazione Grafica Trattamento immagini
Applicazioni industriali CAD (Computer Assisted Design) CAM (Computer Assisted Manufacturing) Controllo di processo Robotica Cim (Computer Integrated Manufacturing)
Applicazioni gestionali Basi di dati (paghe, contabilità, finanza...) Gestione magazzino Contabilita`
Lavoro di ufficio Elaborazione testi (Word Processors) Fogli elettronici (SpreadSheets) Archivi Posta elettronica
Sistemi Embedded Processi informatici inglobati completamente in un processo produttivo o calcolatori inglobati in una apparecchiatura. L’ utente non ne percepisce direttamente la presenza. Automobili (ABS, controllo iniezione elettronica). Elettrodomestici.
Domotica Sistemi di intrattenimento
Videogiochi. Realta’ virtuale.
Telematica e INTERNET e-mail (posta elettronica) Accesso a informazioni sul Word Wide Web (Documenti ipertestuali, ...) Accesso a servizi (Consultazione di orari, prenotazioni, servizi bancari) e-commerce (sistemi di vendite in rete) e-learning (sistemi di apprendimento in rete) e-government (pubblica amministrazione, certificati, bandi, firma elettronica) e-science (laborati virtuali, etc) virtuale
• Informatica ⎯ fusione delle parole informazione e automatica ⎯ l’insieme delle discipline che studiano gli strumenti per l’elaborazione automatica dell’informazione e i metodi per un loro uso corretto ed efficace
• L’ informatica è la scienza della rappresentazione e dell’elaborazione dell’informazione § L’accento sull’ “informazione” fornisce una spiegazione del perché
l’informatica sia ormai parte integrante di molte attività umane: laddove deve essere gestita dell’informazione, l’informatica è un valido strumento di supporto
§ Il termine “scienza” sottolinea il fatto che, nell’informatica, l’elaborazione dell’informazione avviene in maniera sistematica e rigorosa, e pertanto può essere automatizzata
Che cos’è l’informatica - 1
• L’informatica non è la scienza dei calcolatori elettronici: il calcolatore è lo strumento che la rende “operativa”
• L’elaboratore (computer, calcolatore) è un’apparecchiatura digitale, elettronica ed automatica capace di effettuare trasformazioni sui dati: § Digitale: i dati sono rappresentati mediante un alfabeto finito,
costituito da cifre, digit, che ne permette il trattamento mediante regole matematiche
§ Elettronica: realizzazione tramite tecnologie di tipo elettronico
§ Automatica: capacità di eseguire una successione di operazioni senza interventi esterni
• “La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.” (Isaac Asimov)
Che cos’è l’informatica - 2
/8
… Informatica …Calcolatore
L’oggetto è l’ informazione (e il modo per gestirla automaticamente) Studia il ragionamento E’ universale
L’oggetto è un dispositivo complesso Usa tecnologie in evoluzione Può cambiare nel tempo
Che cosa è l’informatica
“è ciò che esce dall’attività del computer, così come il pensare è ciò che esce dall’attività della mente”
È la meccanizzazione dell’informazione
È un modello dei processi cognitivi
È una branca della matematica
…..
LE ORIGINI Per l’elaborazione delle informazioni, l’uomo ha bisogno di strumenti che possono essere:
formali materiali (dita, sassi - calculi…)
per automatizzare l’elaborazione, fu necessario memorizzare non solo i dati ma anche le operazioni.
Il nascere della disciplina risale alla prima meta’ del secolo scorso - teoria della computabilita’.
una caratterizzazione del concetto di algoritmo ed una definizione delle sue proprieta’ sviluppata su modelli astratti di macchine.
Che cosa significa computare?
Eseguiamo la somma di due numeri (naturali), ad esempio 2 + 3 01 2 3456789 3 456789 4 56789 5 6789
Visualizzando i numeri ordinati in successione, partiamo da 2 e ripetiamo 3 volte l'operazione “passaggio al numero successivo”: da 2 a 3, da 3 a 4, da 4 a 5. Per ottenere il risultato dobbiamo seguire questi passaggi: individuare un numero (quello di partenza) ripetere le seguenti operazioni: passare al numero successivo controllare se si è raggiunto il numero di ripetizioni previste
.. altro caso per eseguire moltiplicazioni, per esempio 2 x 3, si tratta di addizionare 3 volte il numero 2:
2+2+2
Per ottenere il risultato della moltiplicazione dobbiamo seguire questi passaggi:
individuare un numero (quello di partenza) Ripetere l’addizione (che ha un contatore interno) controllare se si è raggiunto il numero di ripetizioni previste
ancora
l'elevazione a potenza, per esempio
2 3 = 2 x 2 x 2.
In questo caso, si dovrà aggiungere un terzo contatore per contare il numero di moltiplicazioni da eseguire….
Si può costruire una macchina che aiuta a fare questi conti?
strumenti
occorre definire i simboli con i quali rappresentiamo i numeri, le operazioni e la sequenza di operazioni impostate. La scrittura dei numeri è molto semplice usando due simboli: 0 e 1
occorre anche un supporto sul quale riportare i simboli: adotteremo un nastro di carta diviso in celle, ognuna delle quali contiene un solo simbolo: per scrivere il numero 3, occorreranno quindi tre celle.
il nastro deve essere collegato ad un meccanismo che gli permetta di scorrere per esaminare il contenuto di ogni cella, e per portarsi in una zona di celle nella quale annoteremo i risultati parziali ottenuti, o altri simboli eventualmente necessari.
• Programma: sequenza di operazioni atte a predisporre l’elaboratore alla soluzione di una determinata classe di problemi § Il programma è la descrizione di un algoritmo in una forma
comprensibile all’elaboratore
• Algoritmo: sequenza finita di istruzioni attraverso le quali un operatore umano è capace di risolvere ogni problema di una data classe; non è direttamente eseguibile dall’elaboratore
• L’elaboratore è una macchina universale: cambiando il programma residente in memoria, è in grado di risolvere problemi di natura diversa (una classe di problemi per ogni programma)
La macchina universale
• La capacità dell’elaboratore di eseguire successioni di operazioni in modo automatico è determinata dalla presenza di un dispositivo di memoria § Nella memoria sono registrati i dati e... § ...le operazioni da eseguire su di essi (nell’ordine secondo cui
devono essere eseguite): il programma, la “ricetta” usata dall’elaboratore per svolgere il proprio compito
• Il programma viene interpretato dall’unità di controllo
ò Modello di Von Neumann
L’architettura di Von Neumann
Architettura di Von Neuman
Unità di Controllo
Unità Aritmetica
Memoria
B U S
Dati
Indirizzi Istruzioni
Stato Istruzioni
• L’informatica è lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione (ACM, Association for Computing Machinery)
• Nota È possibile svolgere concettualmente un’attività di tipo informatico senza l’ausilio del calcolatore, per esempio nel progettare ed applicare regole precise per svolgere operazioni aritmetiche con carta e penna; l’elaboratore, tuttavia, è uno strumento di calcolo potente, che permette la gestione di quantità di informazione altrimenti intrattabili
Ancora sull’informatica…
• Nel sistema geroglifico vengono riservati ai numeri sette simboli diversi per rappresentare le potenze del 10, da 1 a 106
• I geroglifici utilizzati erano:
Rotolo di fune
Uomo a braccia levate, simbolo del dio Heh
Bastoncino
Girino o rana Dito
Pastoia per bestiame o giogo
Ninfea o fiore di loto
I numeri nell’antico Egitto
La codifica binaria Come si scrivono i dati e le istruzioni nella memoria?
Occorre un sistema analogico, che permette di codificare informazioni attraverso un’analogia fra il sistema e il dato. In un sistema di codifica c’è bisogno di un alfabeto (un insieme di simboli) per costruire frasi, ma anche di regole (come comporre cioè in modo corretto i simboli)
dispositivo bistabile (due stati), codifica due dati (BIT, cifra binaria).
non basta memorizzare due dati: si prende una successione di “bit” ordinati con cui è possibile memorizzare più informazioni
BYTE (ASCII) = 8 bit in fila
• La base 2 è la più piccola per un sistema di numerazione
Cifre: 0 1 - bit (binary digit)
Esempi:
(101101)2 = 1×25 + 0×24 + 1×23 + 1×22 + 0×21 + 1×20 = 32 + 0 + 8 + 4 + 0 + 1 = (45)10
(0,0101)2 = 0⋅2-1 + 1⋅2-2 + 0⋅2-3 + 1⋅2-4 = 0 + 0,25 + 0 + 0,0625 = (0,3125)10
(11,101)2 = 1⋅21 + 1⋅20 + 1⋅2-1 + 0⋅2-2 + 1⋅2-3 = 2 + 1 + 0,5 + 0 + 0,125 = (3,625)10
Forma polinomia
Il sistema binario (B=2)
Dec Hx Chr Dec Hx Chr Dec Hx Chr Dec Hx Chr Dec Hx Chr Dec Hx Chr 32 20 SPACE 48 30 0 64 40 @ 80 50 P 96 60 ̀112 70 p 33 21 ! 49 31 1 65 41 A 81 51 Q 97 61 a 113 71 q 34 22 ” 50 32 2 66 42 B 82 52 R 98 62 b 114 72 r 35 23 # 51 33 3 67 43 C 83 53 S 99 63 c 115 73 s 36 24 $ 52 34 4 68 44 D 84 54 T 100 64 d 116 74 t 37 25 % 53 35 5 69 45 E 85 55 U 101 65 e 117 75 u 38 26 & 54 36 6 70 46 F 86 56 V 102 66 f 118 76 v 39 27 ’ 55 37 7 71 47 G 87 57 W 103 67 g 119 77 w 40 28 ( 56 38 8 72 48 H 88 58 X 104 68 h 120 78 x 41 29 ) 57 39 9 73 49 I 89 59 Y 105 69 i 121 79 y 42 2A * 58 3A : 74 4A J 90 5A Z 106 6A j 122 7A z 43 2B + 59 3B ; 75 4B K 91 5B [ 107 6B k 123 7B { 44 2C , 60 3C < 76 4C L 92 5C \ 108 6C l 124 7C | 45 2D - 61 3D = 77 4D M 93 5D ] 109 6D m 125 7D } 46 2E . 62 3E > 78 4E N 94 5E ^ 110 6E n 126 7E ~ 47 2F / 63 3F ? 79 4F O 95 5F _ 111 6F o 127 7F DEL
Nota: il valore numerico di una cifra può essere calcolato come differenza del suo codice ASCII rispetto al codice ASCII della cifra 0 (es. ‘5’-‘0’ = 53- 48 = 5)
Caratteri stampabili
INIZI DEGLI ELABORATORI 1890 - Hollerith introdusse le schede perforate per registrare i dati.
1919 - Hollerith fondò la IBM. 1941 - fu realizzato in Germania Z3, prototipo di calcolatore elettro-meccanico studiato a Harvard. Alla fine della seconda guerra mondiale fu terminato negli USA ENIAC, il primo calcolatore elettronico. Poco dopo in Inghilterra fu completato EDSAC, il primo elaboratore con programma memorizzato (realizzazione di quanto proposto dal matematico Von Neumann).
1951 - gli uffici del censimento americano installarono il primo elaboratore commerciale, l'UNIVAC 1.
Tecnologia - le generazioni Prima generazione - dal 1946 alla fine degli anni 50; valvole termoioniche, memorie a tamburo. Si programma in linguaggio macchina. Seconda generazione - fino al 1965, introduzione di dispositivi a semiconduttore e memorie a nuclei magnetici. Compaiono COBOL e FORTRAN, ed i primi sistemi operativi. Terza generazione – fino alla fine degli anni 70, tecnologia dei circuiti integrati Viene introdotto il minicomputer, nasce l’automazione industriale. La quarta generazione, dalla fine degli anni 70, e' caratterizzata dall'integrazione a larga scala e dai microprocessori. Prende importanza il Personal computer. Emerge la progettazione RISC. Quinta generazione - nome proposto dai Giapponesi nel 1980 per una nuova generazione di calcolatori basati sull'utilizzo del parallelismo nell'hardware e della logica come linguaggio di programmazione.
CPU + HD, CD, Floppy
Unità di controllo ed elaborazione e memoria
Periferiche per l’output
Periferiche per l’input
Tastiera e mouse
Organizzazione fisica PC
Architettura di Von Neuman
Unità di Controllo
Unità Aritmetica
Memoria
B U S
Dati
Indirizzi Istruzioni
Stato Istruzioni
ConceE Base Conce* base • • Informa[ca -‐ INFORmazione autoMATICA: insieme di
quelle discipline e tecniche per la rappresentazione, il traOamento e la trasmissione automa[ca delle informazioni
• • Computer -‐ Elaboratore eleOronico: è una macchina concepita per l’elaborazione automa[ca dei da[
• • Hardware -‐ ciò che si può “toccare” o “vedere” di un calcolatore
• • Socware -‐ la componente “immateriale”, l’insieme dei programmi che permeOano l’uso effe*vo del calcolatore