Fondamenti di informatica
Evoluzione storica dell'informatica
L'informatica nasce nel 1890 con Hollerith. Un'altra data importante è il 1936 con Turing, furono individuati dei limiti nella matematica. L'informatica è una scienza che parte coi suoi limiti, conosce i suoi limiti e sfrutta le proprie potenzialità. Nel 1943, i primi computer furono costruiti in UK, USA e GE con obiettivi balistici. Nel 1956, il Nobel per i transistor.
Successivamente, nel 1958 furono introdotti i circuiti integrati, mentre nel 1969 ARPANET, iniziativa del dipartimento della difesa statunitense, cercava di creare un'infrastruttura in grado di far comunicare i computer e di resistere al disastro nucleare. L'informatica è collegata alla comunicazione (che si sviluppò più tardi).
Nel 1973 nasce Internet, la tecnologia che permette di connettere due computer. Nel 1976 nasce Apple, nel 1981 il PC di IBM e nel 1984 Macintosh. Nel 1992 viene inviato il primo SMS e nel 1993 viene lanciato il World Wide Web, uno strato superiore a Internet. Altre pietre miliari includono il 1996 con il Nokia 9000, nel 1997 google.com e il 1997 quando Deep Blue batte Kasparov.
Nel 2001 viene lanciato l'iPod, nel 2004 Firefox, nel 2006 la Wii e il lancio di Twitter. L'anno 2007 vede l'introduzione dell'iPhone e nel 2011 Watson vince Jeopardy.
Conoscenze fondamentali in informatica
L'informatica è la scienza che studia l'elaborazione delle informazioni. L'informatica è la scienza degli algoritmi (metodi, strutture operative) che descrivono e trasformano l'informazione: la loro teoria, analisi, progetto, efficienza, realizzazione ed applicazione (ACM - Association for Computing Machinery).
Information and Communication Technology (ICT)
Si occupa di dati, informazioni numeriche (o trasformate in numeri). Informazione è un ragguaglio, notizia atta a essere formalizzata in dati e destinata a essere trattata da un sistema di trattamento automatico delle informazioni. Notizia è cognizione, conoscenza, nozione, idea. L'informatica studia come elaborare idee. Perché elaborare informazioni? Per risolvere efficientemente dei problemi. Il legame tra le informazioni e il problema da risolvere è ciò che caratterizza l'informatica. Elaborando le informazioni possiamo decidere se è possibile o no risolvere il problema.
Ogni essere umano elabora (anche inconsciamente) grandi quantità di informazioni, ma ci sono almeno due motivi per cui può trovarsi in difficoltà:
- Elaborazione da compiere è molto complessa
- Elaborazione deve avvenire rapidamente
Concetti principali
- Digitalizzazione delle informazioni
- Computer che memorizzano i programmi
- Transistor
- Circuiti integrati
- Computer "personali"
- Internet
- World Wide Web
- Sviluppo "a strati" di software
Digitalizzazione delle informazioni
La digitalizzazione consiste nella trasformazione di entità astratte in numeri. L'hardware si riferisce alla parte fisica (fissa) con funzioni cablate, mentre il software rappresenta la parte logica (cambia). Esso non è la scheda ma ciò che è scritto nella scheda stessa, ed è ciò che fa diventare l'informazione non tangibile. È formato da due grandi famiglie di entità:
- Programmi, o istruzioni, che il computer esegue per implementare le funzioni
- Dati, insieme delle informazioni su cui il programma lavora
Algoritmo
Dato un problema, è necessario trovare un procedimento, composto da un numero finito di istruzioni da eseguire per passi successivi, che porti a una soluzione del problema assegnato. Tale procedimento viene detto algoritmo. È un metodo preciso e sistematico per risolvere un problema.
Astrazione
L'astrazione è l'estrapolazione di un concetto base, un'idea. Solo alcuni aspetti sono importanti, differenziandoli da quelli inessenziali. Serve a capire cosa è importante e cosa no per risolvere un problema, consentendo di trasferire il concetto ad altri casi.
Generalizzazione
Riconoscere gli aspetti comuni a più situazioni permette di riassumere un'idea, un concetto o un processo. La generalizzazione si applica a schemi ricorrenti.
Sintonia operativa
La sintonia operativa consiste nell'applicare a ciò che sappiamo sul funzionamento di un dispositivo per semplificarne l'uso. È legata alla generalizzazione e rappresenta una memorizzazione fisica inconscia.
Mnemonico
Per ricordare qualcosa, dettagli da ricordare solo occasionalmente.
Calcolatore
Un calcolatore è una macchina che esegue algoritmi (elaborando informazioni). Queste macchine sono in grado di memorizzare ed elaborare dati. L'elaborazione dei dati avviene eseguendo un algoritmo a cui sono forniti i dati.
Programma
Un calcolatore per eseguire un algoritmo deve disporre di una descrizione dell'algoritmo in un linguaggio che è in grado di interpretare (linguaggio di programmazione). È la rappresentazione concreta di un algoritmo ed è una successione di istruzioni che una macchina è in grado di interpretare ed eseguire. È la traduzione di un algoritmo in un linguaggio di programmazione.
Architettura di Von Neumann
Negli anni '40 è stato concepito un modello di una macchina di "applicabilità generale" (general purpose), in grado di eseguire programmi. Per macchina di applicabilità generale intendiamo un dispositivo in grado di risolvere svariati problemi di calcolo, purché opportunamente programmato, ossia dotato di programmi specifici che risolvono i problemi considerati. Caricando in memoria un nuovo programma lo si può eseguire, altrimenti bisogna costruire una nuova macchina in grado di eseguirlo. Un calcolatore è una macchina a "programma memorizzato", ovvero in grado di svolgere un compito se è dotato di un programma apposito. Esistono dispositivi a "programma cablato" (si può solo fare quello per cui il dispositivo è predisposto).
Legge di Moore
La legge di Moore afferma che il numero di transistor per chip raddoppia ogni due anni.
Reti
Lo sviluppo della tecnologia elettronica e delle telecomunicazioni ha portato a connettere più calcolatori in una rete: si condividono informazioni, dispositivi (es stampanti), servizi applicativi.
- Reti locali
- Reti geografiche
- Reti di reti (Internet) — ci permette di mettere in comunicazione qualunque coppia di dispositivi in tutto il mondo
In molti ambiti le reti di calcolatori hanno rimpiazzato i grandi calcolatori (mainframe) e i supercalcolatori. Questo è possibile perché i computer connessi in rete possono comunicare e svolgere delle attività.
Internet
Internet è la più grande rete di calcolatori del mondo. Nata tra gli anni '60 e '70 si è sempre più espansa collegando insieme reti indipendenti. Collega insieme calcolatori (host) di istituzioni, università, aziende e privati. Fornisce le infrastrutture per usare e-mail, basi di dati, ipertesti e altre risorse per l'elaborazione di informazioni. Abbiamo una sorta di livelli, quello di base consente a due computer di scambiarsi dati, nel servizio successivo è possibile inviare mail, ecc.
La rappresentazione dell'informazione
Informazione è qualcosa che rappresenta una conoscenza sul mondo, un'entità concreta o astratta. L'informatica è la scienza che studia come rappresentare ed elaborare l'informazione. Digitalizzare l'informazione — rappresentare l'informazione per mezzo di cifre (digits), per estensione numeri o meglio ancora simboli.
Nel mondo logico ogni simbolo va bene, anche quello del lettore CD. Nel mondo fisico la forma di informazione più importante è la presenza/assenza di un fenomeno fisico (carica elettrica, luce, ecc). Nel mondo logico, i concetti di vero o falso.
Pro della digitalizzazione
- Rappresentazione discreta
- Non ha importanza l'entità del fenomeno (quanto) ma solo la sua presenza o assenza
- Non esiste una gradazione di valori (c'è o non c'è)
La rappresentazione con due soli simboli (presenza/assenza) è un sistema binario (a due valori). Presenza 1 Assenza 0. Due configurazioni di PandA L'Unità base di PandA è il bit (binary digit). Con un bit possiamo rappresentare solo ciò che può assumere due valori.
Se un'informazione ha bisogno di più simboli per essere rappresentata (codificata)? Una sequenza di bit rappresenta abbastanza simboli per codificare dati complessi. Con sequenza di lunghezza n possiamo creare 2n simboli.
La memoria di un computer
È organizzata come una sequenza di bit. Ogni posizione di questa sequenza registra la presenza o l'assenza di carica elettrica, "leggibile" successivamente (posso sapere se in quell'area di memoria c'era 1 o 0).
Rappresentazione dei dati in un calcolatore
Le memorie di un calcolatore sono composte da unità di memorizzazione in grado di ricordare due valori distinti, che rappresentiamo con le cifre binarie 0 e 1. Per poter memorizzare più di due valori dovremo usare più unità di memorizzazione (con due unità si possono rappresentare quattro valori distinti, rappresentati dalle coppie 00,01,10,11, dove la prima cifra rappresenta il valore della prima unità di memorizzazione, mentre la seconda cifra rappresenta il valore della seconda unità).
Codifica del CD ROM
Tempi di riflessione del raggio laser.
Digitalizzare il colore
Ogni intensità RGB è rappresentata da un byte. L'intensità più bassa è 0000 0000, mentre la più alta è 1111 1111. L'intervallo dei valori va da 0 a 255 per ciascun colore. Un pixel è l'elemento atomico, di base, rappresentabile in un'immagine. Elemento di immagine. Noi percepiamo solo le frequenze riflesse e non quelle assorbite.
Modificare un colore
Aumentare l'intensità con un'addizione binaria.
Fenomeno dell’ overflow. I computer utilizzano sequenze di bit di dimensioni prefissate. Se il valore è maggiore di 255 non è più rappresentabile con 8 bit. Il numero di bit necessario per rappresentarlo è più grande di quello che abbiamo a disposizione. Va oltre la dimensione massima. Se ottengo un numero maggiore di 255 uso il numero più grande possibile, rimango all'intensità massima rappresentabile. Il computer segnala quando il calcolo in esecuzione è in overflow. Sta al programmatore gestirlo.
Emettere un suono
Un oggetto produce suono vibrando all'interno di un mezzo come l'aria. Onde di pressione sono emendate dall'oggetto. Le vibrazioni si trasmettono nell'aria. Un suono sono delle vibrazioni che si propagano come onde di pressione nell'aria. Queste vibrazioni sono onde sonore. Misura la pressione del suono (la forza) per il tempo. Tono = frequenza dell'onda. Frequenza è quanto spesso picchi e valli avvengono nel tempo, si incontrano. Volume = ampiezza dell'onda. Quanto è alta, forte la pressione. Più è alta più il suono è forte. Suono acuto — frequenze più alte, picchi e valli vicini nel tempo, onda più compressa. Suono grave — frequenze più basse, picchi e valli distanziati nel tempo.
Operazione di trasduzione
Da analogico a digitale
Misura analogica — continua. Trasformare il suono in corrente e successivamente la corrente elettrica in bit (per poterli manipolare). Conversione AD: da Analogico a Digitale. Per digitalizzare informazioni continue bisogna convertirle in bit. Esprimere con un numero l'ampiezza. Non possiamo registrare ogni punto dell'onda perché sarebbero infiniti — per ovviare questo problema si utilizza l'operazione di campionamento — Si prendono le misure a intervalli regolari. Frequenza di campionamento = numero di campioni, misurazioni al secondo. Aumentando questa frequenza aumenta l'accuratezza della registrazione dell'onda. Herz = quantità al secondo (unità di misura).
Quale frequenza?
Più frequentemente campioniamo più la qualità sarà migliore. La frequenza di campionamento deve essere correlata alla frequenza dell'onda. Se la frequenza è troppo bassa è possibile che qualche onda sonora si infili tra i campioni — creazione di un'onda (o suono) spuria — aliasing.
Regola di Nyquist
Le frequenze di campionamento devono essere almeno il doppio di quella dell'onda da registrare. Almeno due volte più alte della frequenza massima.
Quanti bit per campione?
I bit devono rappresentare i valori sia positivi che negativi. Più bit ci sono, più è accurato il campione. Campione CD — la rappresentazione digitale dei CD utilizza 16 bit, registra 65.536 livelli (metà positivi metà negativi). Circa 15 megabyte per 3 minuti di canzone.
Compressione
Modificare la rappresentazione in modo da usare meno bit per la memorizzazione o la trasmissione delle informazioni. Cambiare la rappresentazione dell'informazione. Riduzione del numero di bit necessaria. Molti suoni non sono percepibili dall'orecchio umano (perché frequenza troppo alta o bassa) — è possibile eliminare le onde inaudibili senza danneggiare la qualità dell'audio.
Loseless = senza perdita di dati (l'originale può essere ricostruito perfettamente). Se in un file audio c'è un minuto di silenzio tra due onde sonore, il silenzio lo rappresento in maniera diversa, in modo più compatto rispetto all'onda. In questo modo il minuto di silenzio conta molto meno nel flusso di dati. (Quantizzazione) Lossy = con perdita di dati (l'originale non può essere ricostruito perfettamente). Perdita di informazioni non importanti per ricostruire il segnale originale. Ad esempio frequenze altissime non percepibili. (Esempio compressione MP3) Può essere applicata anche ad altri tipi di dati non multimediali. Utilizzata anche nelle immagini —— Codifica Run-Length Compressione lossless.
9 righe x 15 colonne = 135 pixel x3 byte = 405 (byte necessari per la memorizzazione di questa immagine) Rappresentazione bitmap — ciascuno dei pixel è rappresentato direttamente. Invece che 3 byte per ciascun pixel, solo 2 bit per ciascun pixel — rappresentiamo la stessa immagine con un numero inferiore di cifre binarie. 9 righe x 15 colonne x 2bit(2/8) = 33,75= 34 byte (Vantaggiosa solo per bande orizzontali). Codifica GIF — codifica lossless.
JPEG Codifica lossy. Utilizzata per le immagini fisse. Fisiologia degli occhi - percezione visiva— non sono sensibili alle piccole variazioni di colore (crominanza) ma lo sono alle piccole variazioni di luminosità (luminanza). È una compressione controllata da parametri. Compressione 20:1 non ci accorgiamo/percepiamo differenze rilevanti rispetto a compressione 10:1 Compressione 25:1 perde completamente la qualità, i dettagli dell'originale. JPEG lavora sui colori— consente di semplificarli, comprime l'immagine usando meno colori di quelli originali, semplificazione spazio colori. Dipende anche dalla qualità del monitor sul quale stiamo guardando l'immagine (resa colore del monitor).
MPEG
Applica ai filmati lo stesso concetto di JPEG. In un film (a parte film di azione estrema) ci sono scene abbastanza statiche. In genere due immagini consecutive sono molto simili, questa compressione memorizza solo la "differenza" tra due fotogrammi consecutivi. Un fotogramma completo ogni 5. In genere vengono presi 30 fotogrammi al secondo (accurato per avere immagine nitida, fluida), la prima scena è presa completamente, tra la seconda e la quinta vengono prese solo le modifiche, alcuni dettagli di spostamento, lo sfondo rimane completamente uguale al resto. Si tengono solo le informazioni che cambiano.
Problemi dei multimedia
- Latenza — tempo impiegato per creazione o trasmissione delle info. Ritardo del dato dal momento in cui viene trasmesso e quello in cui viene percepito. La trasmissione richiede del tempo, il limite minimo della velocità di trasmissione è la velocità della luce. Ritardo dovuto all'attraversamento del mezzo trasmissivo.
- Ampiezza di banda — misura della quantità di informazioni trasmesse per unità di tempo. Ampiezza non è infinita. Aspetto legato alla trasmissione. Qualsiasi tipo di rappresentazione ha a che fare con un'indifferenza di. I bit non hanno un significato intrinseco, siamo noi a dargli un significato a seconda del contenuto rappresentato dal bit stesso. I bit possono rappresentare tutto, ogni informazione discreta. Una volta rappresentato può essere manipolato. Bit è il dato, informazione è la forma che dà il significato a questo dato. I dati sono rappresentati sotto forma di bit e possono quindi essere manipolati. Possono essere interpretati in qualsiasi modo.
Principi operativi dei computer
- A più elementi (desktop, tastiera, contenitore unità di calcolo) — più oggetti, uno.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti Informatica
-
Appunti Informatica
-
Appunti Fondamenti di informatica
-
Appunti Fondamenti di Informatica