Elementi DI Informatica -parte 2 PDF

Title Elementi DI Informatica -parte 2
Author Clara Ventura
Course Elementi di informatica
Institution Università degli Studi di Milano-Bicocca
Pages 18
File Size 546.4 KB
File Type PDF
Total Downloads 98
Total Views 125

Summary

Appunti delle videolezioni di elementi di informatica - parte 2...


Description

ELEMENTI DI INFORMATICA 28-09-2020 Nell’ambito delle tecnologie dell’informazione una delle cose più importanti è la gestione dell’informazione. Vuol dire più cose: sia la rappresentazione che l’elaborazione dell’informazione. Tutte queste cose vengono fatte da un sistema informatico, tipicamente associato ad un computer. Un computer è la parte hardware, fisica ma è costituito anche da software, programmi, utili a gestire l’informazione e ad elaborarla. Programma del corso: -

LA RAPPRESENTAZIONE DIGITALE DELL’INFORMAZIONE SISTEMI PER L’ELABORAZIONE DELL’INFORMAZIONE RETI DI CALCOLATORI E INTERNET PROGRAMMAZIONE DI UN CALCOLATORE ESEMPI DI PROGRAMMAZIONE

INTRODUZIONE ALL’INFORMATICA La nascita della parola informatica nasce nel 1962 è stata introdotta dall’ingegnere francese Philippe Dreyfus come contrazione di due parole: informazione e automatica, con l’idea che l’informatica potesse essere una disciplina che permette l’automatizzazione dell’informazione. S’intende essere in grado, attraverso un calcolatore, di rappresentare l’informazione e elaborarla. In quell’epoca si trattava per lo più di un supporto per la semplificazione di fare calcoli. Il termine Computer Science, sinonimo di informatica, viene utilizzato negli Stati Uniti già negli anni ’40. Due terminologie diverse associate allo stesso significato. Computer Science viene intesa come la scienza che si occupa di tutti i processi con cui è possibile elaborare l’informazione e anche l’interazione che può esserci tra l’informazione. È concepita più come una vera e propria scienza. Esistono due associazioni in particolare, l’ACM (Association for Computing Machinery) o l’IEEE (Institute of Electrical and Electronics Engineers, che raccolgono tutto quello che è stato creato negli anni che si riferiscono alla computer science. Un concetto importante è il concetto di macchina universale: indipendentemente dalla complessità del computer con il quale noi abbiamo a che fare (cellulare, tablet, sistema di navigazione dell’auto ecc…), sono riconducibili concettualmente ad una macchina universale, che prevede: -

Una memoria Un processore CPU Le interfacce, con cui comunichiamo con il calcolatore (I/O imput/output) Bus di comunicazione, dei collegamenti fisici tra questi dispositivi

Le due caratteristiche che rendono i calcolatori interessanti sono il fatto che sono in grado di immagazzinare dati e il fatto di immagazzinare istruzioni, per poter svolgere programmi. Per rappresentazione dell’informazione s’intende rappresentare su un supporto fisico l’informazione. Elaborarla vuol dire estrarre da questa informazione altra informazione. Le scienze hanno beneficiato molto dell’introduzione dei calcolatori elettronici, per esempio velocizzando i calcoli. Nei sistemi informatici (e non solo in essi es. giornali), le informazioni vengono rappresentate attraverso i dati o configurazioni. Il dato è la parte grezza dell’informazione (informazioni codificate), va interpretato da parte dell’essere umano e possiamo ottenere conoscenza. L’informazione è ciò che viene un po’ dopo.

Per trasmettere informazione si fa per lo più attraverso un supporto fisico. Nella scelta del supporto fisico ci può essere varietà, come nella scelta dei simboli (grafici, complessi, semplici). Il supporto fisico è un insieme di supporti elettromeccanici, mentre i simboli sono solo due: 0 o 1, vero o falso. Si pone un problema: con soli due simboli come riesco a codificare l’informazione? Si possono sfruttare sequenze di simboli che possono ammettere solo due valori (0 o 1) con cui si può codificare l’informazione: codice binario. In generale, quando vogliamo sviluppare un codice dobbiamo necessariamente associare degli elementi di un insieme con gli elementi di un altro insieme. Il codice deve avere un’univocità e l’operazione deve essere reversibile: deve essere possibile codificare e decodificare. 30-09-2020 Le macchine sono degli oggetti finiti. Nel senso che hanno una capacità di immagazzinamento finita. Se so che la memoria è finita, ci si pone il dubbio di come riuscire a rappresentare compiutamente alcune tipologie di informazioni che per natura non sono finite, per esempio grandezze fisiche: l’audio -> il segnale acustico è continuo nel tempo. Sarebbe impossibile rappresentare l’infinità dei numeri che esistono in natura. Sono state individuate nel tempo strategie per poter tradurre dei fenomeni fisici naturali in qualcosa che possa finire in un calcolatore. Tutte queste strategie saranno funzionali per capire come le immagini, i video, e gli audio sono rappresentati sulla macchina. I file multimediali sono alla base della comunicazione ed è importante per capire tutto quello che fa parte del mondo della comunicazione che utilizza strumenti multimediali. Rendere binario un numero è funzionale per digitalizzare un file multimediale. La codifica binaria è stata necessaria perché i dispositivi elettronici con cui sono stati costruiti i calcolatori ammettevano solo numeri binari. Poi è stato dimostrato teoricamente che la codifica binaria era molto efficiente. Quindi, la rappresentazione numerica o digitale è stata introdotta alla fine degli anni ’40 dal punto di vista teorico e matematico e poi pian piano ha preso piede ed è diventata la modalità con cui si codifica informazione su pc. Rappresentazione digitale dei numeri -> Dal momento che la codifica binaria di un qualsiasi tipo di informazione potrà sempre essere interpretata come costituita da insiemi di numeri binari, ecco che il nostro computer può essere considerato una macchina che tratta tutte le informazioni riconducendole a numeri e che questo tipo di approccio può essere detto rappresentazione numerica o digitale (dall’inglese digit che significa, appunto, numero). Sistema di numerazione decimale (che usiamo noi) -> è un sistema che si chiama arabico posizionale (le cifre che si presentano all’interno di un numero assumono un significato diverso in base a qual è la posizione che occupano all’interno del numero. Il sistema decimale utilizza 10 cifre, da 0 a 9. Nell’informatica in generale si conta a partire dallo 0. Nel sistema posizionale è importante il concetto di base: la base è il numero di simboli che si utilizzano all’interno del sistema posizionale. (es. in quello decimale la base è 10 perché si utilizzano 10 simboli che vanno dallo 0 al 9. Di fatto, si può lavorare con basi diverse: con base diversa si intende che può assumere valori diversi. Es. codifica esadecimale -> 16 simboli. Il sistema posizionale viene detto anche pesato perché la scomposizione dei numeri può essere riscritta in un modo leggermente diverso. In particolare, nei sistemi di numerazione posizionale indicando la base con il simbolo s (che può assumere qualsiasi valore) avremo sicuramente che se il numero di elementi della base s, vuol dire che nell’alfabeto che ho a disposizione ho da 0 a s -1 simboli.

Si può dimostrare che utilizzando n cifre in base s, è possibile rappresentare sn numeri naturali diversi e, in particolare, quelli che vanno da 0 a sn – 1. Per esempio, facendo riferimento alla base decimale, è facile osservare che se usiamo una sola cifra decimale potremo rappresentare 10 numeri (quelli che vanno da 0 a 9, essendo 9 pari a 101 – 1); usando due cifre decimali potremo rappresentare 100 numeri (quelli che vanno da 0 a 99, essendo 99 pari a 102 – 1); usando tre cifre decimali potremo rappresentare 1000 numeri (quelli che vanno da 0 a 999, essendo 999 pari a 103 – 1); e così via. ESERCITAZIONE 1-10-2020 Il dato fondamentale di un calcolatore è il bit. 1 bit -> 2 valori, 0 1 2 bit -> 4 valori 3 bit -> 8 valori N bit -> 2n I calcolatori tendono a memorizzare informazioni in pacchetti predefiniti di bit che poi possono essere combinati insieme in multipli per codificare informazioni più grandi. Oltre al bit, la sequenza di bit elementare, che viene usata per codificare l’informazione viene chiamata word. Questa sequenza viene usata per tutte le informazioni. In sostanza un calcolatore usa sempre un certo numero di bit per codificare informazioni anche se questi bit non servono per codificare l’informazione stessa (0). 5-10-2020 Quanti bit per N configurazioni. Queste potenze sono utili perché con una specifica numerosità di bit (una stringa) posso rappresentare solo un certo numero prefissato di configurazioni. Questo può essere ricavato anche grazie a questa tabella. (con 2 bit possiamo raffigurare 4 configurazioni; 3 bit -> 8; 4 bit -> 16 ecc.)

Questo significa che posso rappresentare anche con un solo bit, per esempio, il sole e la luna, il giorno e la notte, 0 e 1, 10 e 200. Un insieme fatto di due elementi. Oppure posso ragionare in numeri decimali: posso dire che con 1 bit posso rappresentare tutti i numeri che vanno da 0 a 1. Se ho 2 bit posso rappresentare ad esempio 4 colori, 4 nomi, 4 numeri diversi tra loro; ragionando nell’insieme dei numeri naturali posso tradurre 4 configurazioni in tutti quei numeri naturali che vanno da 0 a 3.

Sono tutte grandezze che si possono ottenere raggruppando una certa quantità di bit. Noi intenderemo 1 Kb -> 1000 bit, per convenzione. Un insieme di 8 bit si chiama byte.

RAPPRESENTAZIONE DI SEGNALI MULTIMEDIALI I caratteri sono una parte fondamentale dell’informazione. Ci permettono di studiare un aspetto che ci permetterà di capire un po’ meglio i file audio, immagini e video. Rappresentazione digitale dei caratteri -> abbiamo la necessità di trascrivere una lettera al pc e con word scrive una lettera con la tastiera (dispositivo di input), sceglie un font ecc. nel momento in cui salva il file su una macchina cosa viene salvato? Una sequenza di bit. Questi bit come fa la macchina a decodificarli nella maniera in cui io mi aspetto che la mia lettera venga salvata? Esiste un meccanismo grazie al quale i caratteri sono associati a dei numeri; questi numeri sono poi associati a delle sequenze binarie e questi caratteri sono associati anche a delle forme grafiche immagazzinate (immagini vettoriali) nel nostro pc e quando word apre il file legge il repertorio di font che è stato scelto e dopodiché legge le sequenze di stringhe di bit e le decodifica associando un valore di bit ad ognuna e poi sapendo qual è il mapping tra i numeri e i caratteri è in grado di rappresentare a video i caratteri. Code position -> ogni carattere viene associato univocamente da un numero intero. Con questo meccanismo, attraverso la codifica, ci consente di mappare i caratteri direttamente nelle stringhe di bit. Il font è l’aspetto grafico dei caratteri. Sono delle immagini che tipicamente vengono immagazzinate direttamente nei programmi di scrittura (word processor) e ad ogni lettera e ogni variante della lettera corrisponde esattamente un’immagine, chiamata anche glifo e questa è immagazzinata direttamente sul nostro computer, come fosse un file. Quindi quando poi word la visualizza a video non fa altro che recuperare l’immagine di un carattere dal file e rappresentarla a video. La dimensione del font può essere qualsiasi e il fatto che il computer è in grado di mostrare i font a tutte le dimensioni dipende dal fatto che il font è immagazzinato in formato vettoriale che permette di visualizzare il font correttamente, qualsiasi sia la dimensione dell’immagine che mostra a video.

Diversi produttori non si sono messi d’accordo da principio sul codice da associare ad ogni lettera, per cui si è creato il problema che nei diversi calcolatori una stessa lettera era rappresentata da bit diversi. Questa incompatibilità rendeva impossibile poter leggere dei file salvati su una specifica architettura e aprirli quindi in un’altra architettura. Ad un certo punto quindi, i vari produttori si sono messi d’accordo e hanno stilato la cosiddetta American Standard Code for information Interchange (ASCII), che è un codice che permette di stabilire la regola con cui si associano i caratteri ai numeri, ammettendo quindi la possibilità che i file possono essere letti in maniera corretta da più architetture. L’ASCII, promosso da Bob Bemer, è stato un processo molto lento che ha portato a diversi standard. ASCII a 7 bit  pensavano che con 128 bit si riuscisse a rappresentare tutti i possibili simboli. Non avevano previsto tutto però, perché ci sono tante lingue che hanno caratteri particolari e quindi è nata l’esigenza di estendere l’ASCII iniziale da 7 a 8 bit e dopo anche con un numero di bit maggiore (16). Oggi anche a 32 bit: ci sono delle codifiche che fanno parte dello standard Unicode, che ha sostituito il lavoro dell’ASCII e oggi è lo standard di riferimento. Noi riusciamo a codificare i caratteri grazie al fatto che li associamo a dei numeri interi. RAPPRESENTAZIONE DELL’AUDIO Esercizio: ho una pendrive di 2GB (2000 MB x 8 bit = 16000 Mbit) e ho 100 brani da trasferire. Questi brani sono su itunes, quindi sono in formato MP3. Come fare a capire se ci stanno? Dimensione del brano? Qualità dell’audio? MP3 quanto è grande? Frequenza bit -> bitrate (es. 250 kbps). È fondamentale per comprendere la dimensione di un file dal punto di vita dell’occupazione in memoria. È importante anche per comprenderne la qualità audio. Per procedere, bisogna sapere quanto è la dimensione di un brano. Assumendo che mediamente un brano possa essere di circa 7MB: 2000MB : 7MB = 285  possiamo mettere circa 285 brani all’interno della pendrive. Se la qualità del brano aumenta, la grandezza in memoria di ogni singolo file aumenta. Questo perché c’è un processo di digitalizzazione dell’audio che prevede una quantità di bit sempre più alta, maggiore è la qualità che noi vogliamo raggiungere nell’ascolto. Questo fattore di qualità spesso di identifica con il bitrate. Tecniche di compressione -> hanno permesso di convertire file molto grandi con qualità molto alta in file più piccoli con qualità minore. Lossy (con perdite di informazione)/lossless. Mp3 è il risultato di una tecnica di compressione che si chiama lossy che è con perdite perché è un’operazione irreversibile. Si riduce tantissimo lo spazio a discapito di una perdita di qualità. I segnali che variano nel tempo non possono essere rappresentati così come sono, vanno digitalizzati. Questo permette di codificare un segnale continuo nel tempo in stati binari. MA in realtà su un computer non possiamo memorizzare tutte le variazioni continue nel tempo di una grandezza fisica perché in matematica il concetto di continuità di un intervallo di numeri si traduce nel fatto che dovunque mi posiziono all’interno di questo intervallo, trovo sempre un valore, qualsiasi sia il punto. Questo vuol dire che tra un intervallo di numeri trovo un’infinità di numeri. In generale, i segnali che variano nel tempo non possono essere rappresentati così come sono. Vanno digitalizzati.

Esistono altri tipi di segnali. Il segnale analogico si definisce ad ampiezza continua e a tempo continuo (qualsiasi sia il punto di osservazione troverò sempre un valore lungo questo segnale) Tempo discreto ma ampiezza continua: Qui non vengono rappresentati tutti i valori continui nel tempo ma ne rappresenta solo alcuni, ogni tot di intervallo regolare (intervallo di campionamento). Questi punti possono però assumere ancora tutti i valori di ampiezza qualsiasi che si trova lungo la linea tratteggiata.

Segnale ad ampiezza discreta e sua particolarità sta nel fatto che ha ampiezza, non tutti quelli possibili. tempo discreto e l’ampiezza discreta sottostante.

tempo continuo. La solo alcuni valori di Mettendo insieme il si ottiene il segnale

Segnale numerico -> sui calcolatori i segnali analogici si traducono in segnali numerici (processo di digitalizzazione). Grazie a questa rappresentazione abbiamo a disposizione una numerosità finita di punti e poi abbiamo una numerosità finita di livelli di tensione (per esempio) da memorizzare.

ACQUISIZIONE DEL SUONO Il segnale audio è qualcosa che si genera grazie ad una sorgente sonora, ed es. la nostra voce o uno strumento musicale. Il suono in fisica è considerato come un’onda meccanica che si propaga in un ambiente. Nel propagarsi nell’ambiente cambia il suo stato oscillando. Per raccogliere questo segnale audio per poterlo registrare su un supporto come si fa? In generale esistono dei meccanismi di registrazione e acquisizione dell’audio che sono basati su un microfono o dispositivo di trasduzione. Anche il nostro orecchio è un meccanismo di trasduzione, è in grado di raccogliere l’onda sonora e di tradurla in un’altra tipologia di segnale che poi viene compresa dal nostro cervello. La trasduzione è un processo che permette di tradurre l’onda meccanica che è caratteristica del segnale audio che si propaga nell’ambiente in qualcosa che può essere poi elaborato da un calcolatore analogico.

In generale, la trasduzione avviene che questa oscillazione meccanica viene raccolta da una membrana che muovendosi meccanicamente non fa altro che fare cambiare lo stato di tensione elettrica in un circuito a cui è collegato e questo cambio di stato produce a sua volta un segnale di tensione elettrica oscillante che è corrispondente all’oscillazione che avviene sulla membrana. Questa trasduzione meccanico-elettrica è il meccanismo grazie al quale è possibile acquisire il segnale audio, che si propaga in una stanza. Il suono è un fenomeno che può essere studiato sia dall’aspetto fisico, ma anche dal punto di vista psicofisico: in che modo percepiamo l’audio? Questo è utile per sviluppare dei meccanismi di compressione dell’informazione che ci permettono di rimuovere delle componenti del segnale audio che essendo non ascoltate perfettamente dal nostro sistema uditivo allora possono essere rimosse e questo fa risparmiare il numero di bit che servono per codificare il segnale audio. Se togliamo delle parti di segnale ci permette di ridurre la dimensione del file risultante da questo processo. Curve isofoniche e audiogramma  mostra la nostra abilità nell’ascolto e soprattutto quali sono i limiti. I segnali audio che vengono uditi dall’essere umano vanno da frequenze che vanno da pochi hz (10) fino a migliaia di hz. Attraverso questo spettro dell’udibile siamo in grado di mappare le varie tipologie di segnali audio con cui abbiamo a che fare (voce o musica). Se vogliamo registrare un audio su un pc abbiamo la necessità di un dispositivo di trasduzione che può essere un microfono e di quella che si chiama conversione analogico/digitale. La digitalizzazione del segnale audio analogico avviene selezionando un certo numero di campioni dal segnale audio a intervalli di tempo prefissato (campionamento) e rappresentando ogni campione con una sequenza fissata di bit (quantizzazione e codifica). Secondo il teorema del campionamento (approfondimenti su questo nel testo) esiste un numero minimo di campioni al secondo con cui è possibile ricostruire fedelmente il segnale. Il numero di campioni al secondo (Hertz – Hz) è definito dalla frequenza di campionamento (fc) che deve essere almeno 2 volte la frequenza massima del segnale. Per completare la digitalizzazione, si applica ai campioni discretizzati un procedimento di binarizzazione. Il numero di bit con cui si codificano i livelli del segnale, si dicono livelli di quantizzazione. Maggiore sono i numeri di livelli e maggiore è l’affidabilità nella rappresentazione. Il segnale audio è costituito da una variazione del tutto arbitraria nel tempo. La conversione avviene attraverso due step: campionamento  sta nel selezionare solo alcuni dei campioni del segnale analogico; la quantizzazione  sta nel definire dei livelli di ampiezza e andare a tracciare delle linee e selezionare in corrispondenza dei campioni nel tempo che abbiamo scelto, selezionare solo i livelli che sono stati definiti in fase di quantizzazione. Maggiore è il numero di campioni al secondo e maggiore sono i numeri di livelli di quantizzazione, maggiore sarà l’occupazione in memoria dei file. Il bit rate considera sia il campionamento che gli intervalli di quantizzazione. Può essere un caratteristica sia del canale di comunicazione  in questo caso indica la velocità massima consentita sul canale di comunicazione (quanti bit per secondo il canale è in grado di trasferire), oppure può essere la caratteristica di un segnale digitalizzato  descrive la qualità che ha questo file ma ci dice anche quanti bi...


Similar Free PDFs