Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Fondamenti di Informatica: Introduzione ai Concetti Base - Prof. Orio, Appunti di Fondamenti di informatica

Appunti di fondamenti di informatica integrati con slide e libro

Tipologia: Appunti

2021/2022

In vendita dal 15/04/2023

Mati170902
Mati170902 🇮🇹

4.6

(18)

30 documenti

1 / 35

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Fondamenti di informatica | Martina Mucelli
1
FONDAMENTI DI INFORMATICA
DE FIN IZ ION I
Alan Touring ha inventato un computer virtuale, ossia la macchina di Turing; questa in informatica è una macchina ideale che manipola i
dati contenuti su un nastro di lunghezza potenzialmente infinita, secondo un insieme prefissato di regole ben definite. Da ciò si può dedurre
che l’INFORMATICA (informazione automatica), non è necessariamente pratica.
“L'informatica non riguarda i computer più di quanto l'astronomia riguardi i telescopi.”
-Edsger W. Dijkstra (Informatico danese)
L’informatica riguarda:
la ricerca scientifica (creare un modello della realtà)
che consente alla tecnologia di sviluppare nuovi prodotti;
lo sviluppo tecnologico
che pone nuovi problemi di ricerca.
Il termine fu introdotto nel 1968 come traduzione di informazione-automatica. L’obiettivo principale dell’informatica, quindi, è il
trattamento dell’informazione e la possibilità di compiere le operazioni necessarie al suo trattamento in modo automatico.
INFORMAZIONE Insieme dei dati forniti dall’ambiente espressi in forma comprensibile e significativa in un particolare contesto.
La definizione mette in evidenza che:
L’informazione riguarda il modo in cui un sistema acquisisce conoscenza del mondo (dato);
Un qualsiasi dato acquista valore solo in relazione ad altre informazioni che ne definiscono il senso (contesto).
informazione = dato + contesto
Attraverso l’informazione l’essere umano acquisisce la sensibilità del mondo.
Il computer non può apprendere
siamo noi a dovergli fornire il contesto, ossia migliaia di esempi.
È necessario che il sistema sia in grado di capire il linguaggio in cui l’informazione viene espressa, ed è
altrettanto importante il contesto (un dato acquista valore solo se posto in relazione ad altre info che
definiscono un determinato ambito).
INFORMATICA Ramo della scienza che si occupa di rappresentare ed elaborare l’informazione
La definizione mette in evidenza che:
L’informazione ha un ruolo centrale informatica viene da “informazione automatica”;
L’informatica si occupa di creare modelli come per ogni scienza, i modelli descrivono la realtà;
L’informatica può definirsi senza parlare di computer.
L’informatica è una disciplina sia scientifica che tecnologica c he riguarda: progettazione, costruzione, programmazione e utilizzo dei calcolatori
elettronici (tecnologia)
in inglese “computer science” = scienza che usa i calcolatori elettronici // “computing
science” = scienza che fa si che i calcolatori svolgano operazioni di calcolo
i
calcolatori hanno permesso l’automazione di processi per il trattamento
dell’informazione
aspetto tecnologico (non è sufficiente)
È quel settore scientifico disciplinare che si occupa della rappresentazione e dell’elaborazione dell’informazione
è una SCIENZA che s i occupa
di costruire modelli per rappresentare aspetti del mondo reale per poterli poi studiare meglio. Si basa sull’osservazione e formulazione leggi che
descrivono i fenomeni analizzati. Campo di indagine scientifica: modo in cui l’info può essere rappresentata ed elaborata.
Sono necessari modelli che rappresentino i dati per permettere l’elaborazione dell’informazione. L’insieme di rappresentazione ed elabora zione è
anche detto “trattamento (automatico) dell’informazione”. Il rapporto tra informatica e tecnologia è ambivalente: si servono l’una dell’altra.
STANDARD uno schema o un complesso di norme stabilito da un’autorità competente o basato su un generale consenso che definisce un
modello
o un esempio di riferimento al quale uniformarsi.
Nel caso di apparecchiature infor matiche il problema sorge quando bisogna metterle in comunicazione tra loro e per far ciò i vari dispositivi hanno
bisogno di uno standard condiviso di riferimento, il quale consente di evitare l’utilizzo di adattatori quando si connettono tra loro diverse
apparecchiature. Infine, visto c he il concetto di informazione è centrale per l’informatica, è necessario che esistano anche degli standard di
riferimento che indichino che l’informazione deve essere rappresentata all’interno di un calcolatore elettronico. Se non ci fossero questi standard di
riferimento sarebbe impossibile un vero trasferimento di informazioni, anche una volta garantita la comunicazione tra apparecchiature diverse.
Nel 1947 è stato fondato l’International Organization for Standardization (ISO), che è un ente internazionale che si occupa della definizione di
standard di riferimento a livello mondiale. Questa attività produce accordi internazionali che sono pubblicati come standard intern azionali. Esistono
quindi standard per la rappresentazione di tutte le forme in cui l’informazione esiste all’interno di un calcolatore.
BIT (coniato nel 1948) deriva da “binary” e “digit” = cifra binaria: Unità di informazione, in forma di cifra binaria (0 - 1)
La definizione mette in evidenza che:
L’informazione è misurabile
per gli informatici il bit è anche la più piccola quantità di informazione rappresentabile
il bit è alla
base di ogni codifica astratta dell’info;
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23

Anteprima parziale del testo

Scarica Fondamenti di Informatica: Introduzione ai Concetti Base - Prof. Orio e più Appunti in PDF di Fondamenti di informatica solo su Docsity!

FONDAMENTI DI INFORMATICA

DEFINIZIONI

Alan Touring ha inventato un computer virtuale, ossia la macchina di Turing; questa in informatica è una macchina ideale che manipola i dati contenuti su un nastro di lunghezza potenzialmente infinita, secondo un insieme prefissato di regole ben definite. Da ciò si può dedurre che l’INFORMATICA (informazione automatica), non è necessariamente pratica. “L'informatica non riguarda i computer più di quanto l'astronomia riguardi i telescopi.”

  • Edsger W. Dijkstra (Informatico danese) L’informatica riguarda:

 la ricerca scientifica (creare un modello della realtà)  che consente alla tecnologia di sviluppare nuovi prodotti;

 lo sviluppo tecnologico  che pone nuovi problemi di ricerca.

Il termine fu introdotto nel 1968 come traduzione di informazione-automatica. L’obiettivo principale dell’informatica, quindi, è il trattamento dell’informazione e la possibilità di compiere le operazioni necessarie al suo trattamento in modo automatico. INFORMAZIONE  Insieme dei dati forniti dall’ambiente espressi in forma comprensibile e significativa in un particolare contesto. La definizione mette in evidenza che:  L’informazione riguarda il modo in cui un sistema acquisisce conoscenza del mondo (dato);  Un qualsiasi dato acquista valore solo in relazione ad altre informazioni che ne definiscono il senso (contesto). informazione = dato + contesto Attraverso l’informazione l’essere umano acquisisce la sensibilità del mondo.

Il computer non può apprendere  siamo noi a dovergli fornire il contesto, ossia migliaia di esempi.

È necessario che il sistema sia in grado di capire il linguaggio in cui l’informazione viene espressa, ed è altrettanto importante il contesto (un dato acquista valore solo se posto in relazione ad altre info che definiscono un determinato ambito). INFORMATICA  Ramo della scienza che si occupa di rappresentare ed elaborare l’informazione La definizione mette in evidenza che:  L’informazione ha un ruolo centrale  informatica viene da “informazione automatica”;  L’informatica si occupa di creare modelli  come per ogni scienza, i modelli descrivono la realtà;  L’informatica può definirsi senza parlare di computer. L’informatica è una disciplina sia scientifica che tecnologica che riguarda: progettazione, costruzione, programmazione e utilizzo dei calcolatori elettronici (tecnologia) in inglese “computer science” = scienza che usa i calcolatori elettronici // “computing

science” = scienza che fa si che i calcolatori svolgano operazioni di calcolo  i

calcolatori hanno permesso l’automazione di processi per il trattamento

dell’informazione  aspetto tecnologico (non è sufficiente)

È quel settore scientifico disciplinare che si occupa della rappresentazione e dell’elaborazione dell’informazione  è una SCIENZA che si occupa

di costruire modelli per rappresentare aspetti del mondo reale per poterli poi studiare meglio. Si basa sull’osservazione e formulazione leggi che descrivono i fenomeni analizzati. Campo di indagine scientifica: modo in cui l’info può essere rappresentata ed elaborata. Sono necessari modelli che rappresentino i dati per permettere l’elaborazione dell’informazione. L’insieme di rappresentazione ed elaborazione è anche detto “trattamento (automatico) dell’informazione”. Il rapporto tra informatica e tecnologia è ambivalente: si servono l’una dell’altra. STANDARD  uno schema o un complesso di norme stabilito da un’autorità competente o basato su un generale consenso che definisce un modello o un esempio di riferimento al quale uniformarsi. Nel caso di apparecchiature informatiche il problema sorge quando bisogna metterle in comunicazione tra loro e per far ciò i vari dispositivi hanno bisogno di uno standard condiviso di riferimento, il quale consente di evitare l’utilizzo di “adattatori” quando si connettono tra loro diverse apparecchiature. Infine, visto che il concetto di informazione è centrale per l’informatica, è necessario che esistano anche degli standard di riferimento che indichino che l’informazione deve essere rappresentata all’interno di un calcolatore elettronico. Se non ci fossero questi standard di riferimento sarebbe impossibile un vero trasferimento di informazioni, anche una volta garantita la comunicazione tra apparecchiature diverse. Nel 1947 è stato fondato l’International Organization for Standardization (ISO), che è un ente internazionale che si occupa della definizione di standard di riferimento a livello mondiale. Questa attività produce accordi internazionali che sono pubblicati come standard internazionali. Esistono quindi standard per la rappresentazione di tutte le forme in cui l’informazione esiste all’interno di un calcolatore. BIT  (coniato nel 1948) deriva da “binary” e “digit” = cifra binaria: Unità di informazione, in forma di cifra binaria (0 - 1) La definizione mette in evidenza che:

 L’informazione è misurabile  per gli informatici il bit è anche la più piccola quantità di informazione rappresentabile  il bit è alla

base di ogni codifica astratta dell’info;

 Non si fa differenza sul tipo di informazione  numeri, testo, immagini, suoni;

 Un bit può assumere solo due valori: 0 e 1 (questi due valori sono anche associati a “falso e vero”). CODIFICA UNIFICATA

I bit sono alla base di ogni rappresentazione d’informazione  ogni dato è trasformato in una sequenza finita di bit, successione di opportuna

lunghezza di 0 e 1  la sequenza è la struttura dati più semplice

Implicazioni:

 Il calcolatore tratta l’informazione in modo uniforme a prescindere dal reale contenuto rappresentato  semplificazione

dell’elaborazione dell’info ↔ tutti i dati sono trattati in modo uniforme;  É necessario applicare delle convenzioni nella codifica per strutturare l’informazione (per accedere a dati creati in tempi e per scopi

diversi)  codice / chiave interpretativa.

 La quantità di info che un elaboratore può gestire è limitata  sia la quantità di dati, sia le semplificazioni da applicare.

La rappresentazione digitale è una semplificazione della realtà, infatti se si cambiano anche solo pochissimi dati in entrata, quelli in uscita saranno

errati  ecco spiegato l’arcano motivo delle previsioni metereologiche sempre sbagliate সহ঺঻

LA MISURA DELL’INFORMAZIONE

È molto difficile quantificare un concetto astratto come l’informazione. Claude Shannon (padre della moderna teoria dell’informazione) presentò il nuovo approccio al concetto di informazione (articolo del 1948). A lui si deve la definizione formale di BIT: misurare la quantità permette di valutare risultati e prestazione. La definizione data di bit come unità di informazione assume che l’informazione possa essere misurata – la quantità di informazione è quindi in qualche modo legata al numero di bit necessari per la sua rappresentazione. La lunghezza della sequenza è un indice della quantità. SEGNALE DIGITALE  il messaggio è convertito in simboli. Il termine deriva dall’inglese digital, ovvero cifra, derivato dal latino ‘digitus’, ovvero dito. Attualmente la codifica digitale in uso è quella relativa al sistema binario di 1 e 0. Di conseguenza, convertire un fenomeno naturale in digitale vuol dire convertirlo in una sequenza finita di bit.  essendo una sequenza finita di bit comporta una semplificazione della realtà; d’altro canto, il tempo può provocare la non più lettura dei dati, ma non il deterioramento dei supporti tecnologici. SISTEMA ANALOGICO il messaggio non è convertito in simboli e il segnale è prodotto per analogia. Il segnale analogico è una grandezza che varia con continuità. Difatti, una variabile analogica considera un numero infinito di valori. In questo caso l’apparecchio ricevente modifica per analogia i segnali elettrici di nuovo in segnali audio e video  essendo una sequenza infinita rappresenta la realtà nella sua forma intera (infinita); pur nascendo perfetta, con il tempo si deteriora. BYTE  Anche in informatica vengono introdotte delle nuove unità di misura che sono basate su multipli di bit, un multiplo molto usato è quello di 8 BIT IN SEQUENZA = BYTE sequenza di 8 bit  La posizione di ogni bit all’interno della sequenza è significativa. In un byte esistono al massimo 28 = 256 sequenze ( termini che possono assumere solo 2 valori diversi). Il byte è utilizzato come unità di grandezza pratica dell’informazione:  Più pratico del bit  spesso un byte rappresenta un carattere a stampa (segno grafico  es. a, b, 1, 2, ...);  Le grandezze sono espresse utilizzando byte  si utilizzano anche gruppi di 2, 4, 8 byte;  Le grandezze utilizzate in informatica per questo sono stati introdotti ulteriori multipli (che vengono calcolati sulle potenze di 210). kilo K 210 10241 migliaia mega M 220 10242 milioni giga G 230 10243 miliardi tera T 240 10244 migliaia di miliardi peta P 250 10245 milioni di miliardi exa E 260 10246 miliardi di miliardi zetta Z 270 10247 migliaia di miliardi di miliardi “All’incirca ogni 24 mesi, diceva Moore, il numero di transistor di un circuito integrato raddoppia, facendo raddoppiare la performance dei processori ogni 18 mesi” -Gordon Moore (imprenditore e informatico statunitense) Se dimezzo la distanza, raddoppio la velocità FILE  Struttura informativa contenente informazioni omogenee, organizzate sequenzialmente e trattate come un’unità (archivio o schedario) Il file è quindi un meccanismo di strutturazione delle informazioni che permette di aggregare informazioni in strutture più complesse – così che esse non perdano di significato e da poter intervenire sull’insieme di dati (es. nomi e numeri di un’agendina telefonica / singole lettere di un testo). L’effettiva organizzazione dei dati è decisa dal software che crea/legge il file. I file sono di solito considerati sequenze di byte (quindi i bit sono raggruppati in sequenze di 8). Un file è identificato da un nome, a cui ci si riferisce spesso con il termine inglese “filename”:

 I nomi comprendono lettere, numeri e altri caratteri e possono essere formati da più parole  ci sono dei vincoli nella scelta dei

caratteri (caratteri come “*”, “?”, “/”, “\” possono dare problemi / conviene sostituire lo spazio con i caratteri “-” o “_”)  i problemi

possono sorgere trasferendo i file N.B. = i file vengono però considerati come formati da byte (unità di misura) e non da bit. Ad ogni file viene associato il suo nome, il nome è anche il modo in cui il calcolatore elettronico fa riferimento ad un’aggregazione di dati.

Cosa ci suggeriscono i giochi?  OBBLIGO  MOTIVAZIONE ENDOGENA  INIZIO FACILITATO / DIFFICOLTA’ PROGRESSIVA / POSSIBILITA’ DI MIGLIORARE (progressione) Tipicamente nei giochi

 è impossibile sbagliare i primi livelli (termine tecnico è scaffolding)

 la complessità aumenta gradualmente (azioni progressivamente più articolate / situazione e/o problematiche più complicate)

 il giocatore impara e migliora (effetto pratica, motoria e cognitiva / migliore comprensione delle dinamiche di gioco

 FEEDBACK IMMEDIATO / CONTROLLO AL GIOCATORE (ruolo attivo) Tipicamente nei giochi

 si sceglie quando giocare e quando smettere  secondo molti non si può obbligare a giocare (o comunque obbligare a

divertirsi)

 si sceglie come giocare  non c’è un unico percorso predefinito

 si vede subito il risultato delle proprie azioni

 si può riprovare più volte  ripetere un livello non è mai svantaggioso (il giocatore è invogliato a continuare a giocare)

 PUNTI E BADGE (meccaniche) Ci sono elementi comuni a molti giochi

 punti  tengono traccia dell’avanzamento globale (sono una sorta di moneta corrente all’interno del gioco)

 badge  mostrano il raggiungimento di obiettivi specifici o l’acquisizione di particolari competenze

 leaderboard  consentono un confronto tra giocatori (rischio di demotivare chi è in fondo alla classifica)

 NARRAZIONE + PERSONAGGI (narrazione) Uno degli elementi fondamentali è la presenza di una narrazione o, almeno, di un contesto (si parla spesso di STORYTELLING)

 narrare è il modo classico di veicolare la conoscenza  articoli scientifici e divulgativi, manuali didattici hanno sempre

avuto una componente narrativa

 messa in secondo piano dalla tecnologia  accesso a basi di dati, spesso online (responsabilizzano il fruitore) / utilizzo di

infografiche, anche interattive DATABASE STORYTELLING Completezza Sono presentati tutti i contenuti pertinenti ai parametri di ricerca Selezione Gli esperti scelgono il materiale, escludendo quello meno interessante Libertà Gli utenti possono ordinare il materiale in base a data, nome … Guida L’ordine di presentazione è funzionale agli obiettivi di comunicazione Uniformità Di tutti i contenuti sono presentati tutti i metadati inseriti Rilevanza Per ogni contenuto sono presentati solo gli aspetti più significativi EFFETTO WOW  quando la tecnologia stupisce provoca coinvolgimento immediato, componente di divertimento, promozione facilitata. É un effetto a breve termine, poiché gli utenti imparano il trucco. Inoltre, sposta l’attenzione dal contenuto allo strumento. APPLICAZIONI la gamification si utilizza a diversi scopi:  Fidelizzazione (raccolta punti, premi fedeltà)  Produttività (premi produzione, team building)  Rinforzo positivo (app sportive, sociali, cambio di abitudini)  Didattica (giochi educativi, simulatori)  Vendita (estrazione premi tra gli acquirenti) RISCHI  l’applicazione di tecniche di gamification presenta alcune problematiche:

 L’utente passa da motivazione endogena a esogena  l’esogena può diventare prioritaria

 Chi finanzia può non prendere seriamente la cosa  quando si pensa al gioco si pensa a quello non strutturato dei bambini

 I giocatori possono utilizzare lo strumento in modi non previsti o avere comportamenti inaspettati  ogni regola del gioco si

presta a interpretazioni

CODIFICA DELL’INFORMAZIONE L’informazione si presenta in forme diverse  Il valore numerico di una grandezza fisica  Il testo di un articolo di giornale  Il suono prodotto da uno strumento musicale  L’immagine di una fotografia  Le sequenze video di una ripresa televisiva

La rappresentazione viene definita codifica  rappresentazione adeguata per ogni forma  tutte basate sulle sequenze finite di bit

CODIFICA DI NUMERI

I numeri sono stati i primi ad avere una rappresentazione in informatica  scelta di utilizzare sequenze finite di bit

 I computer facevano solo calcoli ripetitivi  il termine “digitale” deriva da digit = cifra, numero

Com’è noto, i numeri si dividono in:

 Interi, razionali (aperiodici e periodici), irrazionali  razionali aperiodici e irrazionali devono essere approssimati

In questo corso tratteremo solo i numeri naturali  0 + interi positivi (Z+)

Un qualsiasi numero può essere rappresentato combinando tra loro un numero prefissato e finito di cifre diverse; il contributo alla rappresentazione del numero da parte di ogni cifra dipende non solo dal valore ma anche dalla sua posizione all’interno della notazione posizionale:  SISTEMA DECIMALE

 Basato sulla combinazione di 10 simboli (da 0 a 9)

 Il significato di ogni cifra dipende dalla sua posizione  le cifre, partendo da destra, sono moltiplicate per una potenza

crescente di 10 (1, 10, 100, ...) / i prodotti sono sommati tra loro Per calcolare il valore di un numero espresso in notazione decimale è quindi sufficiente sommare tra loro il numero di unità, il numero di decine, il numero di centinai e via di seguito:

  1. ogni cifra viene moltiplicata per la potenza di 10 associata alla sua posizione;

2. i risultati di tutte queste moltiplicazioni vengono sommati tra loro, ottenendo il valore effettivo del numero.

 SISTEMA IN BASE 2  simile quella decimale, con 2 al posto di 10  basato sulla combinazione di 2 simboli (0 e 1)

 il significato di ogni cifra dipende dalla sua posizione

 Le cifre, partendo da destra, sono moltiplicate per una potenza crescente di 2 (1, 2, 4, 8, ...)  I prodotti sono sommati tra loro È possibile trasformare una cifra binaria in decimale, mentre il procedimento inverso è molto più complicato.

Grazie alla notazione binaria è possibile rappresentare un qualsiasi numero intero di grandezza finita  sequenza di bit di opportuna

lunghezza. Per risalire al contenuto informativo di una sequenza di bit associata ad una serie di numeri è necessario conoscere il modo in cui questi

sono stati codificati  è necessario (e molto utile) introdurre degli standard per la codifica dei numeri, ovvero dei formati che siano

universalmente riconosciuti e applicati per rappresentare le grandezze numeriche. Quella più semplice per i numeri interi consiste nell’assegnare ad ogni numero una sequenza di bit di lunghezza costante – in questo modo non sono necessari dei separatori (è noto a quale numero appartiene ciascun bit e la posizione di ogni bit) ma ci sono dei limiti:  Non è possibile rappresentare numeri di valore troppo elevato;  A molti numeri viene associato un numero di bit superiore al necessario, sprecando così risorse. Un buon compromesso è stato quello di utilizzare sequenze di 8 bit (ossia un byte). Con un byte sono rappresentabili in un intervallo di 256 valori. La diffusione del byte come standard per la codifica  normalmente si assume che la codifica sia effettuata con sequenze di lunghezza fissa di 8 bit.  SISTEMA IN BASE 16 Stesso principio di base 10 e base 2  si usano 16 simboli diversi (Cifre da 0 a 9 + Lettere da A a F)

 usata spesso per rappresentare i colori  un byte è codificato con 2 cifre esadecimali

ASCII A 7 BIT

American Standard Code for Information Interchange, proposto nel 1963 dall’ANSI (American National Standard Institute). L’ASCII dimostra chiaramente la propria origine nazionale, infatti è stato creato per rappresentare i simboli della lingua inglese  volontà di utilizzare il minor numero possibile di bit pur mantenendo la possibilità di esprimere tutti i simboli della lingua inglese. L’ASCII:  Utilizza 7 bit per carattere (può rappresentare 128 caratteri diversi)

 Codifica  le lettere dell’alfabeto inglese (non sono previsti diacritici)

 tutti i tasti delle tastiere americane (i numeri, i segni di interpunzione, gli operatori aritmetici)

 codici per il controllo delle stampanti (ritorno di carrello, avanzamento di una linea, tabulazioni) e per l’impaginazione di un

documento (andare a capo, spostare la testina della stampante…) I codici di controllo furono introdotti perché le prime stampanti, le quali stampavano una riga alla volta, necessitavano di un’apposita istruzione per svolgere un compito (es. andare a capo); queste istruzioni necessitavano ovviamente di una loro codifica in modo da non essere confuse con le normali parti estuali di un documento. La diffusione dell’ASCII a livello internazionale ha spinto l’ISO a recepire la codifica a 7 bit proposta dall’ASCII come standard internazionale.

ASCII A 8 BIT

La codifica ASCII è stata estesa  rappresentazione a 8 bit (1 byte) - codifica 256 caratteri (il doppio rispetto 7 bit)

 Compatibilità con ASCII a 7 bit  i 256 codici divisi in due gruppi: - i primi 128 codici immutati

  • gli altri 128 codici sono dedicati a nuovi caratteri

 Mancanza di accordo sui nuovi codici  esistono 16 diverse versioni dell’ASCII a 8 bit (ISO-8859)

 Gli ideogrammi non sono rappresentati

UNICODE

Scopo: dare un codice unico per ogni simbolo  Indipendentemente dal computer e dal software (superare i limiti dell’ASCII) codifica tutte le lingue (ideogrammi ma anche simboli di lingue morte)  Utilizza un sistema per minimizzarne la quantità

 un testo di solito è scritto in una sola lingua (rappresenta solo un sottoinsieme dei caratteri di Unicode)

 utilizza il numero di bit necessari per ogni lingua

 Esistono implementazioni a 8, 16 o 32 bit (punto in comune con l’ASCII sono i primi 256 codici) Gli standard riguardano principalmente il contenuto, tralasciando il formato (che oggi sta assumendo sempre più importanza – migliora la leggibilità e rende il testo più attraente e accattivante). Livelli di strutturazione del testo: informazioni che definiscono il modo in cui il documento viene presentato (documento completo o alcune sue parti/livelli). 4 livelli:

  1. Carattere: livello più basso (testo = successione i caratteri)  il formato indica come vengono presentati (font, dimensione, corsivo, ecc.)
  2. Capoverso (paragraph): serie di parole che formano una parte coerente che tratta un concetto. È indicato graficamente andando a capo o iniziando la riga un po’ più a destra. MA non è un paragrafo (= suddivisione in parti di un capitolo)  modo in cui le linee dei capoversi sono presentate (interlinea, allineamento, ecc.)
  3. Sezione: capitolo, paragrafo o sotto paragrafo in cui i capoversi sono organizzati  colonne, titoli, numerazione pagine, ecc.
  4. Documento: livello più alto  dimensione spazio di stampa, intestazioni, orientamento, ecc. Il formato può riguardare una parte o tutte e i livelli inferiori generalmente prendono quello del livello superiore.

INFORMAZIONE CONTINUA

Numeri e testo  sono rappresentati con simboli

 Finiti noti a priori  Rappresentati da un’opportuna sequenza di bit

SUONI e IMMAGINI  sono di natura continua ed hanno infinite variazioni  legata alla percezione e all’interpretazione (soggettiva)

 Non è possibile una rappresentazione simbolica  Si deve approssimare la realtà Nel mondo reale

 Le grandezze variano con continuità (nel tempo dei suoni / nello spazio delle immagini)  necessario usare sequenze di lunghezza

infinita  si applica un CAMPIONAMENTO

 Le grandezze assumono qualsiasi valore (ampiezza dell’onda sonora o tonalità dei colori)  necessario usare moltissimi bit  si applica

una QUANTIZZAZIONE CAMPIONAMENTO  suddivisione in parti più piccole (rappresentanti) nel tempo o nello spazio, per rendere i risultati più attendibili (si presume non vi siano brusche variazioni). Si sceglie ogni quanto misurarla si fa in modo che sia rappresentativa:

 Misure molto ravvicinate  si devono fare tante misurazioni che occupano spazio

 Misure molto distanziate  si rischia di perdere variazioni importanti

Le misure si chiamano campioni

In informatica i campioni sono equi-spaziati (non obbligatorio, scelto per semplicità)  FREQUENZA DI CAMPIONAMENTO

 numero di campioni nell’unità di tempo  usato per i suoni

 numero di campioni nell’unità di lunghezza  usato per le immagini

L’informazione tra due campioni è persa del tutto  campioni molto ravvicinati minimizzano la perdita; compromesso tra precisione e costo

(misurazione, spazio, ...) QUANTIZZAZIONE  arrotondamento di un valore ad un multiplo dell’unità di riferimento (facendo riferimento ad una scala di grandezze) - particolarmente legata alla percezione della qualità sonora. Si fa in modo che l’errore sia ridotto

 Arrotondamento fine  si deve misurare con precisione, si occupa molto spazio

 Arrotondamento grossolano  si rappresenta la grandezza in modo approssimativo (l’utente percepisce questo arrotondamento come un

rumore aggiunto alla grandezza misurata) In informatica l’arrotondamento si basa sulla quantizzazione

 I valori possibili sono numerati  bisogna scegliere con cura cosa rappresentare (valori non previsti non sono rappresentabili)

 Ad ogni valore viene associato un numero intero  simile alla codifica dei caratteri

 Una volta approssimato, il valore iniziale è perso  quanti molto ravvicinati minimizzano la perdita (compromesso tra precisione

e costo (spazio))

SUONI

SUONO  oscillazioni nel tempo

 Il tempo è una dimensione continua  campionamento nel tempo (misurato in Hertz, ossia numero di campioni al secondo)

 L’oscillazione varia con continuità  quantizzazione dello scostamento dallo zero (non ha un diretto corrispettivo fisico / dipende dal

volume massimo del suono rappresentato)  La scelta di campionamento e quantizzazione incide sulla qualità del suono Valori tipici: Campionamento Quantizzazione 8 - 10 kHz: voce per trasmissioni telefoniche 1 byte: voce a bassa qualita (poco usata) 44.1 kHz: musica a buona qualita (CD e DVD) 2 byte: musica a buona qualita (CD e DVD) 96 kHz: musica in sala di registrazione o per conservazione 3-4 byte: musica in sala di registrazione o per conservazione

IMMAGINI

IMMAGINI  distribuzioni di colori su un piano

 La superficie è una dimensione continua  campionamento nello spazio (misurato in dpi (dot per inch) ossia in punti per pollice)

 Il colore varia con continuità  quantizzazione dell’insieme dei colori (diverse strategie possibili, in dipendenza dall’originale / incide

sul numero di diversi colori rappresentabili)  La scelta di campionamento e quantizzazione incide sulla qualità dell’immagine Valori tipici: Campionamento Quantizzazione 72 - 96 dpi: immagini a schermo o per il Web 1 bit: bianco e nero 150 - 300 dpi: stampe su carta normale 4 - 8 bit: sfumature di grigio (da 16 a 256) 600 dpi e oltre: stampe su carta patinata 1 byte: 256 colori diversi, scelti da una palette (tavolozza) 3 byte: 16 milioni di colori, configurazione tipica 4 byte: aggiunta di trasparenza o rappresentazione a 4 canali

COMPRESSIONE

Conversione di un file in un secondo di minori dimensioni che porta la stessa informazione È possibile misurare l’efficienza di un sistema di compressione semplicemente calcolando la percentuale di bit risparmiata rispetto alla rappresentazione iniziale. Normalmente si effettua una semplice divisione tra lunghezza della sequenza compressa e la lunghezza della sequenza iniziale, riportando il valore ottenuto sottoforma di percentuale. Il risultato viene definito fattore di compressione. Applicazioni:

 Riduzione dello spazio occupato in memoria  con riduzione dei tempi di caricamento dalla memoria di massa

 Riduzione dei tempi di trasferimento  Possibile riduzione dei tempi di calcolo: - a volte si può manipolare direttamente il file compresso

  • se serve decomprimerlo i tempi di calcolo possono aumentare Tipologie di compressione:

LOSSLESS (senza perdita)  il processo è completamente invertibile  usata per testi, programmi, multimedia di qualità (basata sulla

ridondanza dell’informazione - esempi: archivi .zip, .rar, .tgz)

LA RAPPRESENTAZIONE DEL COLORE NEI SISTEMI DIGITALI

COLORE  dovuto a onde elettromagnetiche nello spettro visibile (da 380 nm a 730 nm)  spettro di diversi colori che vanno dal rosso al

violetto.

LUCE BIANCA  somma di tutti i colori (es. classico esperimento del prisma)

“Dato che la luce bianca può essere scomposta nei colori dell’iride (o arcobaleno), la somma di tutti i colori darà la percezione di bianco”

  • Newton

 esperimento del disco colorato rotante

Gli oggetti ASSORBONO e RIFLETTONO i colori  Gli oggetti riflettono però solamente alcuni dei colori che compongono la luce a cui sono esposti. È per questo motivo che noi percepiamo che un oggetto ha un suo caratteristico colore: tale colore è determinato appunto dalle componenti della luce — normalmente si fa riferimento alla luce bianca — che l’oggetto è in grado di riflettere. RETINA  formata da fotoricettori  quando la luce è assorbita dai fotoricettori, l’energia luminosa è convertita in segnali elettrici e chimici. Questi segnali sono trasmessi al cervello dal nervo ottico. Esistono fotoricettori di 2 tipi:  BASTONCELLI (rodes)

 Sensibili a variazioni luce-buio  circa 1000 volte più sensibili alla luminosità dei coni (poco efficaci nella percezione del

colore)

 Distribuiti soprattutto nella periferia della retina  più rapidi a rispondere agli stimoli (visione periferica più rapida

rispetto alla frontale) / ci sono circa 120 milioni di bastoncelli nella retina  Le immagini generate dai bastoncelli sono poco nitide e limitate a sfumature di grigio  CONI (cones)

 Responsabili della percezione del colore  si attivano solo in presenza di buona illuminazione (visione notturna

praticamente a tonalità di grigio)  Tre tipi di coni:

  • S=short, lunghezze d’onda corte, intorno ai 419 nm  colore principale: blu (B=blue)
  • M=medium, lunghezze d’onda medie, intorno ai 531 nm  colore principale: verde (G=green)
  • L=long, lunghezze d’onda lunghe, intorno ai 558 nm  colore principale: rosso (R=red)

 Distribuiti soprattutto al centro della retina  la fovea è la zona con massima densità di coni (ci sono in tutto circa 6

milioni di coni) L'immagine di un oggetto è percepita sotto forma di distribuzione della luminosità e dei colori fondamentali lungo la superficie della retina. FOVEA  zona centrale della retina  Responsabile della visione più chiara e precisa

 Solo coni  molto ravvicinati (niente bastoncelli / pochi coni S)

 Molto irrorata di sangue  Contatto diretto con le fibre ottiche Quanti colori vediamo? Una persona in media distingue 2 milioni di colori:

 200 tonalità di colore  quelli che percepiamo come colori distinti

 500 livelli di luminosità  l’intensità della luce

 20 livelli di saturazione  la quantità di bianco

Abbiamo capacità diverse nel differenziare i colori RAPPRESENTAZIONE RGB  sintesi additiva (video e monitor)

 3 colori fondamentali  Red (rosso-arancio), Green (verde), Blue (bluvioletto)

 3 colori secondari, ottenuti mescolando 2 colori fondamentali  Cyan = Blue + Green, ovvero azzurro chiaro  Magenta = Blue + Red, ovvero viola-lilla  Yellow = Green + Red, ovvero giallo RAPPRESENTAZIONE CMYK  sintesi sottrattiva (stampanti, plotter)

 3 colori fondamentali  Cyan (azzurro chiaro), Magenta (viola-lilla), Yellow (giallo)

 3 colori secondari  Red = Yellow + Magenta  Green = Yellow + Cyan  Blue = Magenta + Cyan  Ruolo opposto dei colori rispetto alla sintesi additiva ognuno sensibile ad un particolare colore

RGB e CMYK a confronto RGB CMYK Assenza colore Nero Bianco Tutti i colori al massimo Bianco Nero (K)  marrone scuro Somma dei tre colori fondamentali con uguale percentuale da diverse sfumature di grigio RAPPRESENTAZIONE HSL Tre dimensioni percettive:

 HUE (tonalità)  è la caratteristica per cui classifichiamo un oggetto come “avente un dato colore”

 SATURATION (saturazione)  purezza di un colore, quantità di bianco (o nero) mischiato al colore base

 LIGHTNESS (luminosità)  intensità della luce che lo colpisce e lo definisce, percezione di chiaro o scuro

RAPPRESENTAZIONE TRAMITE BIT

Per rappresentare un’immagine si deve rappresentare il modo in cui luminosità e colori sono distribuiti lungo una superficie. Come per ogni altra

informazione, si utilizza un numero fisso di bit per rappresentare il colore  rappresentazione RGB la più diffusa

 Utile per schermi, proiettori che emettono luce  per usare le stampanti viene convertita in CMYK

 Si assegna un numero fisso di bit per ogni colore fondamentale  1 byte per ogni colore / ogni punto è rappresentato da 3 byte

 Spesso si aggiunge il canale alpha (trasparenza)

CAMPIONAMENTO E QUANTIZZAZIONE DELLE IMMAGINI

Tecnicamente la rappresentazione dei colori riguarda la quantizzazione dell’informazione  Devo approssimare il valore di una quantità continua

(il colore) con un numero finto di bit.

La selezione dei pixel, quanti per unità di lunghezza, riguarda il campionamento  Devo fare un numero finito di misurazioni da un fenomeno che

varia con continuità (la superficie dell’immagine) L'immagine che si intende rappresentare viene scomposta in una griglia di tasselli, normalmente quadrati e di dimensione costante, ognuno dei quali ha al suo interno una luminosità e un colore costante. Ognuno di questi tasselli è quindi un campione dell'immagine, che sarà codificata solamente in base alle caratteristiche di luminosità e di colore dei suoi campioni. In informatica, questi tasselli vengono denominati PIXEL  “picture element”, ovvero elemento dell'immagine. Ogni pixel rappresenta quindi una porzione dell'immagine il cui contenuto viene considerato costante, e per questo motivo i pixel vengono anche definiti punti 0, in inglese, “dot”. Normalmente i pixel sono così vicini tra loro, ovvero i punti che li rappresentano sono così piccoli, che l’effetto del campionamento sembra trascurabile; è però sufficiente provare ad ingrandire l’immagine per notare l’effetto del campionamento. La frequenza di campionamento si misura in dots per inch (punti per pollice)  DPI. Questa unità di misura per la frequenza di campionamento delle immagini deriva dal fatto che le stampanti creano le immagini come combinazioni di punti, quindi misurare la qualità di una stampa. in base al numero di punti che è possibile stampare 2 parità di unità di lunghezza costituisce una buona stima della qualità della stampa. Formati tipici Risparmiare bit = termine tecnico è COMPRESSIONE  Ottenere un file immagine di dimensione minore che sia

percettivamente simile all’originale  Compromesso tra spazio occupato e qualità

Ci sono approcci diversi, che sfruttano

 Ridondanza delle immagini  colori simili in zone vicine,

ampie zone monocrome

 Limiti percettivi dell’occhio  meno sfumature percepite in

caso di contrasto Il rapporto tra qualità e dimensione in byte dipende anche dal contenuto dell’immagine La qualità dipende dal contenuto dell’immagine

IMMAGINE IN BIANCO E NERO

Per un’immagine in bianco e nero si può effettuare una quantizzazione che utilizza un solo bit per pixel. Dato che con un bit si possono rappresentare solamente due diversi valori, normalmente 0 e 1, basterà assumere la convenzione che al valore 0 è associato il nero e al valore 1 è associato il bianco. Se sì parte da un'immagine a colori, sarà necessario determinare, per ognuno dei pixel estratti dalla fase di campionamento, il colore da associare. Normalmente si determina se un pixel deve essere bianco o nero in base alla luminosità e alle combinazioni di colori, utilizzando delle soglie al di sotto delle quali al pixel viene attribuito il valore 0, ovvero il nero, e al di sopra il valore 1, ovvero il bianco. Questo tipo di rappresentazione risulta molto compatta, perché viene utilizzato solamente un bit per pixel, ma la qualità dell'immagine può risultare molto deteriorata. immagine quantizzata con 2 bit per colore o con 64 sfumature di grigio se stampata immagine quantizzata con 1 bit per colore o con 8 sfumature di grigio se stampata

GAME THEORY

IL GIOCO DEL PIRATA

Regole:

 Comandi una ciurma di tre pirati  Capitano (tu) – Nostromo – Mozzo

 Dovete spartirvi 10 monete  La legge della filibusta prevede:

  • Il capitano propone una spartizione
  • La proposta viene messa ai voti
  • In caso di maggioranza o parità si fa la spartizione
  • Altrimenti il capitano viene buttato a mare, il nostromo diventa capitano e si ricomincia Soluzione  se si teme la coalizione tra nostromo e mozzo:

 Capitano ~ 4, Nostromo ~ 3, Mozzo ~ 3  se si assume che ognuno faccia una scelta che:

  • È razionale
  • Massimizza il guadagno
  • Tiene conto delle scelte degli altri  Capitano = 9, Nostromo = 0, Mozzo = 1
  • Al capitano basta avere la collaborazione del mozzo
  • Se il capitano è buttato a mare poi il nostromo si può tenere tutto (e Mozzo = 0), visto che ai voti si andrebbe in parità

LA GUERRA DEI GELATAI

I bagnanti vanno dal gelataio più vicino Allora l’azzurro va verso il centro Anche il verde va verso il centro I due gelatai finiscono affiancati al centro

GAME THEORY – TEORIA DEI GIOCHI

 Studia l’interazione tra soggetti razionali

 proposta nel 1944 da John von Neumann  lo stesso della «Macchina di von Neumann»

 il risultato più importante ottenuto da John Nash  quello del film «A Beautiful Mind» (Howard, 2001)

 Applicazioni in molti settori  economia, scienze sociali, informatica, logica

 Assunzione di base  scelte razionali per massimizzare un guadagno

Un gioco è definito da:  Un insieme di giocatori

 Un insieme di scelte  es. simultanee, tipo sasso-carta-forbice / sequenziali, tipo scacchi

 Una funzione di guadagno  es. calcolata per ogni giocatore, ad ogni turno / basata sulle scelte di tutti i giocatori

 Lo scopo dei giocatori è massimizzare un guadagno  il gioco può essere iterato

È uno strumento molto utile per anticipare le possibili scelte dei turisti:  Quando i risultati dipendono anche dagli altri

 Quando il turista può decidere se cooperare o no  es. con l’esperienza proposta

 Quando non è determinante la scelta del singolo ma quella cumulativa di molti singoli  anche quando la scelta non è necessariamente

«razionale» Contesto: Un gruppo di turisti pernotta per alcuni giorni in un agriturismo, lontano alcuni chilometri da una città. l’agriturismo propone:

 Un unico van  comodo, veloce, efficiente (più turni se sono molti)

 Biciclette  faticoso, lento, coinvolgente (ci sono bici per tutti)

Come si divideranno i turisti?

 Una parte sceglierà sempre un determinato mezzo  scelte generalmente non razionali  movimento, comodità, aria aperta, rapidità…

 La maggior parte deciderà in base alla situazione  si parla di «funzione obiettivo»  es. il tempo di percorrenza (per non fare

aspettare)

 La teoria dei giochi prevede che si suddivideranno in modo da avere tempi medi di percorrenza uguali  risultato verificato con

pendolari  (auto vs. mezzo pubblico)

IL DILEMMA DEL PRIGIONIERO

 Due persone vengono arrestate sospettate di un reato e sono messe in celle separate e ad ognuno viene data la possibilità di scelta se tradire o tacere:

  • Se nessuno tradisce, entrambi stanno 1 anno in prigione
  • Se solo uno tradisce, è libero ma l’altro starà 20 anni in prigione
  • Se tradiscono entrambi, staranno ciascuno 5 anni in prigione

COOPERAZIONE O TRADIMENTO? – EQUILIBRIO DI NASH

CACCIA AL CERVO

Se 2 uomini cacciano:

 Insieme  catturano un cervo  ma bisogna aspettare

 Individualmente  una lepre ciascuno  la si cattura subito

 Uno solo coopera  non prende nulla

FALCO O COLOMBA

Se 2 nazioni sono

 Colombe (cooperano)  prosperano  ma bisogna fidarsi

 Falchi (tradiscono)  sprecano risorse  più che non i vantaggi

 Uno falco e una colomba  il falco domina

Non possiamo dare per scontato che tutti i turisti partecipino alle esperienze proposte. Alcune esperienze funzionano se:  C’è una massa critica di persone  Emerge una leadership tra i partecipanti  Si instaura un clima di fiducia anche tra sconosciuti  Si ricombinano i gruppi di conoscenti Contesto:  In un viaggio organizzato le piccole spese possono essere fatte solo nella valuta locale  cambiare i soldi costa Proponete:

 Ognuno si gestisce i soldi  piccola seccatura per tutti

 Una cassa comune gestita da un volontario  uno solo ha una seccatura ma tutti ne traggono vantaggio / anche il volontario trae

vantaggio Cosa potrebbe succedere?

 Alcuni non si proporranno mai  timidezza, pigrizia, difficoltà con l’aritmetica

 Alcuni si proporranno in ogni caso  voglia di rendersi utile, manie di protagonismo / non sempre ci sono o forse non volete proprio

loro  Alcuni si proporranno solo in certe condizioni:

  • Gruppi di dimensioni limitate
  • Iniziale senso di cooperazione
  • Vantaggio percepito per tutto il gruppo

STALLO ALLA MESSICANA

Estensione del duello a tre o più partecipanti  ciascun duellante tiene sotto tiro un altro

Chi ha più probabilità di sopravvivere? Supponiamo tre pistoleri: uno buono (bravo) - uno cattivo (medio) - uno brutto (scarso)

  • Il buono mirerà alla minaccia maggiore per lui: il cattivo
  • Anche il cattivo mirerà alla minaccia maggiore per lui: il buono
  • Il brutto aspetterà che il buono uccida il cattivo e poi gli sparerà Situazione in cui il più scarso è quello che ha maggiori probabilità di vincere Non sempre la strategia più logica è la vincente. I giocatori possono non aver capito le regole, essere distratti, fermarsi con il ragionamento.

TIMBRO

TIMBRO  caratteristica sonora che consente di riconoscere come diversi due suoni con pari frequenza e intensità  è definito per ciò che non è…

/ si capisce quindi che è una caratteristica molto complessa Grazie al timbro di un suono:  Riconosciamo le parole  Identifichiamo le sorgenti sonore  Riconosciamo il gesto musicale degli esecutori

LO SPETTROGRAMMA

Rappresentazione temporale  andamento dell’onda istante dopo istante

Rappresentazione spettrale  colore rappresenta l’energia di tutte le componenti di un suono complesso

RISPARMIARE BIT

Nella rappresentazione dei CD:  1 minuto di audio:

  • 60 (secondi) * 44100 (campioni) * 2 (stereo) * 2 (byte)
  • Sono in tutto 10.584.000 byte (ovvero circa 10 MB)  È necessario applicare tecniche di compressione:
  • Lossless  poco diffusa, può arrivare a compressione del 40-50%
  • Lossy  lo standard per l’ascolto della musica / si basa sullo studio della percezione sonora SOGLIA DI UDIBILITÀ  i suoni di bassa intensità non vengono percepiti, la soglia dipende dalla frequenza CURVE ISOFONICHE l’intensità percepita dipende dalla frequenza

MASCHERAMENTO IN FREQUENZA  quando due toni sono compresenti, il suono più forte può mascherare il più debole  si parla di bande

critiche quando l’effetto è maggiore MASCHERAMENTO TEMPORALE  un suono di alta intensità rende inudibili per un po’ di tempo i suoni più flebili

SPAZIALIZZAZIONE

Localizzazione della sorgente sonora  Storicamente legata al concetto di stereofonia

  • Approssimabile alla differenza temporale con cui un suono giunge alle due orecchie
  • Insufficiente per localizzare una sorgente nello spazio  Superata nei sistemi di home theatre e nei cinema
  • Dal semplice 4.1 alle configurazioni con 64 o 128 canali  La percezione dipendente dall’altezza sonora
  • Suoni molto gravi non sono localizzabili
  • Suoni molto acuti localizzabili in base al loro inviluppo

IL FORMATO MP

MP3 = MPEG 1 – Layer 3

MPEG perché Moving Picture Expert Group  esteso poi alle versioni MPEG2, MPEG4  compatibilità all’indietro per molti player

Layer 3  sono previsti tre layer, di crescente complessità e fattore di compressione a parità di qualità (il più utilizzato è il Layer 3 / utilizza le

conoscenze sulla percezione sonora)

IL FORMATO AAC

Advanced Audio Coding:

 usa molte delle strategie dell’MP3  è stato inventato solo 4 anni dopo

 Gestisce meglio il joint-stereo  ovvero il fatto che i canali stereo sono molto correlati tra loro

 Non è ancora molto popolare  problemi di compatibilità con i lettori (soprattutto quelli portatili)

NB: Nel 2017 è scaduto il brevetto MP3 negli USA

COMPRESSIONE DELLA VOCE

Assume un modello sorgente/risuonatore  La sorgente, la glottide, emette un segnale semplice, approssimabile con un’onda triangolare  Il risuonatore, il tratto vocale, è approssimabile con un filtro la cui caratteristica varia lentamente nel tempo

COMPUTER

I primi calcolatori elettronici sono stati realizzati nella seconda metà degli anni ‘40 del secolo scorso  la tecnologia si è evoluta, maggiore potenza ma

modelli per la realizzazione sono gli stessi. Scopo: un utente utilizza un calcolatore per effettuare un determinato compito. Per compito si intende una qualsiasi attività tendente al conseguimento di un risultato desiderato. Quando si richiede di svolgere un compito ad un calcolatore elettronico, è necessario esprimere le informazioni necessarie allo svolgimento del compito stabilito. L’efficacia dell’operazione dipende dal fatto che le operazioni vengano svolte correttamente e nel loro giusto ordine (non dalla loro comprensione)  ALGORITMO: un insieme di regole che eseguite secondo un ordine prestabilito, permettono la soluzione di un problema in un numero finito di passi. N.B.= un algoritmo risolve una classe di problemi, non uno solo. SOLUZIONE DI UN PROBLEMA  svolgimento di un determinato compito. REGOLE  numero finito di operazioni (o passi) In informatica si presuppone che sia una macchina, l’AUTOMA, a mettere in pratica nel giusto ordine e in maniera automatica le regole che costituiscono l’algoritmo stesso. L’automa deve conoscere il linguaggio in cui sono descritte le operazioni per interpretarle e svolgerle automaticamente. L’informatica si occupa quindi non solo di ideare algoritmi ma anche di ideare macchine in grado di interpretarli.

HARDWARE E SOFTWARE

HARDWARE  insieme dei dispositivi meccanici, magnetici, elettrici ed elettronici che compongono un calcolatore  Significa in generale

“ferraglia”

SOFTWARE  insieme delle istruzioni e dei programmi usati per determinare le operazioni di un calcolatore  Creato sulla contrapposizione

tra “hard” e “soft” Il suffisso “-WARE” è usato per indicare gruppi di oggetti di un tipo determinato (es. glassware, silverware) Le prestazioni di un calcolatore dipendono dall’insieme di hardware e software  Un calcolatore molto potente può essere poco sfruttato da software scadente

 Un software ha bisogno di un hardware adeguato per poter funzionare correttamente  requisiti minimi dell’hardware per un software

L’hardware è sempre più potente e consente di sviluppare software sempre più complesso Il suffisso -WARE è usato anche per indicare:

 SHAREWARE (da to share=condividere)  software dimostrativo, utilizzabili per un periodo di prova o con funzionalità ridotte (scelta

di marketing, si parla anche di demoware)

 FREEWARE (da free=gratis)  software gratuito che non può essere ridistribuito (quando contiene pubblicità si parla di adware)

 MALWARE (da malicious=malevolo)  software scritto per danneggiare gli utenti (quando spia i dati privati si parla di spyware)

COMPITI DI UN COMPUTER

Il computer può svolgere compiti molto diversi  scrivere, calcolare, comunicare, svagarsi. I compiti possono essere schematizzati così: Per formalizzare un compito ci si chiede:  Quali sono i dati iniziali e gli strumenti necessari?  Come e da chi acquisire ulteriori informazioni?  Che operazioni fare? In che ordine?  Come presentare i risultati?

Tra queste domande, la più complessa è la terza  si devono

formalizzare le singole attività:

  • Possono essere correlate tra loro
  • L’ordine in cui vengono fatte è importante
  • Può essere necessario aggiustare le scelte

DISPOSITIVI NECESSARI

Per svolgere un compito servono:  Un dispositivo che esegua le operazioni  Un posto dove memorizzare i dati

  • L’elenco di operazioni da eseguire
  • I dati che servono per l’operazione corrente
  • I dati che servono per tutto il compito  Dispositivi per comunicare con l’esterno
  • Acquisire informazioni dal mondo esterno
  • Riportare i risultati o chiedere nuovi dati

ARCHITETTURA HARDWARE

Gli elementi essenziali di un computer sono:  Processore, che esegue le operazioni

  • Memoria veloce, per i dati di immediato utilizzo  dati immediatamente necessari al processore / istruzioni per la loro elaborazione

PRESTAZIONI

I dispositivi influenzano l’EFFICIENZA = RAPIDITÀ  Svolgere velocemente le singole operazioni  Accedere molto rapidamente ai dati essenziali

  • Problemi se non c’è abbastanza spazio  Accedere abbastanza rapidamente agli altri dati
  • Si assume uno spazio comunque sufficiente  Comunicare rapidamente con il mondo esterno
  • Acquisire dati dall’utente non è un problema

Fornire dati all’esterno richiede efficienza

 più lenta  il prezzo da pagare per l’economicità

 permanente  conserva i dati anche a computer spento / può conservarli anche per molto tempo:

  • Rischio comunque di perdita
  • Necessarie strategie di conservazione/replicazione Comprende diverse tecnologie:  Magnetica: dischi (in particolare hard-disk) e nastri  Ottica: CD-Rom, DVD-Rom  Memorie flash: chiavi USB, dischi a stato solido Il processore non vi accede direttamente  I dati devono essere caricati in RAM  Rispetto alla memoria di massa le prestazioni:
  • Dipendono dalla velocità di accesso
  • Non dipendono dalla capacità  Finché c’è spazio sufficiente non ci sono differenze di prestazioni

Il componente principale è l’HARD-DISK (HD)  disco fisso (in alternativa ai floppy disk che erano rimovibili)

L’HD è legato alla percezione di efficienza  Tempo che l’utente deve attendere per

  • Avviare un programma
  • Caricare un file

 I dischi a stato solido (SSD) sono più veloci dei dischi magnetici tradizionali  attenzione: il numero di scritture è limitato

Ciò che differenzia la memoria secondaria dalla primaria è il supporto fisico. Per la secondaria ci sono diversi tipi di dispositivo:

 Floppy disk  dischi di ridotte dimensioni (da 1 a 4 MB);

 Hard disk  dischi magnetici di dimensioni elevate (centinaia di GB). Venivano installati all’interno del calcolatore senza poter essere

rimossi, per questo vengono chiamati dischi fissi/rigidi; ora sono disponibili anche come periferiche esterne;

 Pen drive  supporti rimovibili di ridotte dimensioni (alcuni GB). Si connettono tramite porta USB, per questo vengono detti penne

USB o USB stick. Questi dispositivi si basano su un tipo di tecnologia di memorizzazione chiamata memoria flash che garantisce che i dati vengano mantenuti anche in assenza di alimentazione esterna;

 CD-ROM  (650 MB) dischi ottici di sola lettura, prima la scrittura (masterizzazione) era possibile una volta sola, ora riscrivibili;

 DVD-ROM  dischi ottici, il principio di funzionamento è lo stesso del CD ma capacità maggiore (da 4,7 a 17 GB)

 Nastri magnetici  principio simile a quello delle videocassette. La quantità di dati memorizzati dipende dalla lunghezza del nastro

(tempi estremamente lenti – bisogna svolgere il nastro fino al punto desiderato). Vengono utilizzati per effettuare backup – salvataggi periodici dei dati. Sono tutte molto più lente della RAM i dati e i programmi memorizzati in memoria secondaria devono essere quindi trasferiti in memoria centrale per poter essere utilizzati dal processore – il costo però è inferiore.

PERIFERICHE

PERIFERICHE DI INPUT (ingresso)  acquisiscono le informazioni dal mondo esterno

 Gesti, immagini, suoni, segnali elettrici

 Trasformati in sequenze di bit  dati in forma trattabile dal computer

PERIFERICHE OUTPUT (uscita)  forniscono informazioni al mondo esterno

 Sequenze di bit

 Trasformate in immagini, suoni, segnali elettrici  dati in forma utilizzabile dal mondo esterno

Il computer può diventare

 Multimediale  sono utilizzati media diversi (testo, immagini)

 Multimodale  sono utilizzate sensi diversi (vista, udito)

Le periferiche servono per comunicare  Con l’utente  Con apparecchiature esterne  Con altri computer in rete La comunicazione tra processore e periferiche è asincrona, ovvero il processore e le periferiche non sono sincronizzati quando inviano e ricevono dati. Inoltre, hanno velocità diverse nella produzione e nell’utilizzo dei dati. Queste due caratteristiche possono creare problemi di funzionamento e rallentare il sistema.

È necessario organizzare meglio le cose  un elemento intermedio tra il processore e le periferiche è la MEMORIA BUFFER (memoria tampone

o cuscinetto)  con una frequenza predeterminata il processore legge la memoria buffer, questo permette al processore di non restare in costante

attesa di dati dalle periferiche (sia input, sia output – risolve il problema dell’asincronia e delle velocità diverse). È possibile che al momento della progettazione di un calcolatore non siano disponibili tutte le info possibili sulle periferiche (perché queste ultime possono essere prodotte da ditte diverse o entrare in commercio in un momento successivo = per questo tutte le periferiche vengono vendute corredate di file che contengono info per il processore su come avverrà la comunicazione – i file si chiamano driver). In alcuni casi le periferiche (come la tastiera e il mouse) si adeguano ad uno standard quindi il processore potrà fare riferimento ai driver generici.

RAPPORTO TRA CPU E RAM

Il processore, ad ogni passo:  Richiede alla RAM qual è la prossima istruzione da eseguire  la RAM contiene tutti i programmi in esecuzione  Esegue l’istruzione corrispondente:

  • se questa necessita di un dato, lo legge dalla RAM
  • se questa produce un dato, lo scrive nella RAM  la RAM contiene tutti i dati utilizzati dalla CPU Normalmente i dati e i programmi che li usano sono in due posizioni diverse della RAM  rischio di interpretare un dato come fosse un’istruzione CAC HE SWAP RA ID Definizione area di memoria estremamente veloce ma solitamente di un basso ordine di grandezza di capacità. Il suo scopo è di velocizzare l'esecuzione dei programmi azione di passaggio (scambio o inversione) dei dati dalla memoria centrale a quella secondaria, perché è possibile elaborare più informazione di quella che potrebbe essere contenuta nella RAM insieme ridondante di dischi indipendenti, è una tecnica di installazione raggruppata di diversi dischi rigidi in un computer (o collegati ad esso) che fa sì che gli stessi nel sistema appaiano e siano utilizzabili come se fossero un unico volume di memorizzazione Problema una RAM molto veloce è molto costosa la RAM può non riuscire a contenere tutti i dati necessari alla CPU gli HD sono lenti e possono rompersi soluzione (^) I dati che servono alla CPU spesso sono vicini: -Le istruzioni dei programmi;
  • I singoli elementi di un insieme di dati. I dati più probabilmente utili alla CPU sono memorizzati in una memoria velocissima:
  • Memoria cache, contenuta direttamente nella CPU. Sono di solito copie di dati già usati o dati in locazioni vicine
  • alla CPU non servono tutti i dati in ogni istante;
  • i dati che non servono sono temporaneamente salvati nell’HD (operazione denominata SWAP)  se si nota un’attività eccessiva dell’HD può essere che la RAM sia sottodimensionata (lo SWAP ha funzioni simili alla memoria cache). utilizzare più HD, replicando i dati (configurazioni RAID = Redundant Array of Independent Disks):
  • la CPU può trasferire i dati da più HD contemporaneamente aumenta la velocità di accesso complessiva
  • se un HD si rompe i dati si reperiscono da un altro basso rischio che si rompano due HD insieme ROM BUFFER DR IVER Definizione contiene informazioni che non possono essere modificate dal processore, perché questo può solo leggerne il contenuto, il quale viene stabilito dal costruttore memoria tampone o cuscinetto perché guidano il processore nella comunicazione e sono necessari per il corretto funzionamento della gran parte delle periferiche Problema la CPU legge dalla RAM le istruzioni da eseguire, ma all’accensione le RAM è vuota la comunicazione con le periferiche è asincrona:
  • Non si sa quando l’utente clicca con il mouse
  • Non si sa quando la stampante ha finito una pagina il computer non conosce tutti i modelli di periferica soluzione (^) - esiste una memoria di sola lettura  mantiene le informazioni a computer spento (ROM = Read Only Memory);
  • all’accensione la CPU legge le istruzioni dalla ROM  grazie a queste può accedere ai programmi nell’HD (la ROM non è l’HD)
  • memoria di transito dove accodare i dati in trasferimento (memoria buffer o memoria tampone);
  • le periferiche leggono/scrivono nel buffer  la CPU non è rallentata dall’interazione / non c’è rischio di perdita di dati Per ogni periferica c’è un piccolo programma che descrive come utilizzarla (tecnicamente chiamato driver):
  • spesso il driver è contenuto nella periferica stessa  utilizzo di memorie flash
  • altrimenti bisogna reperirlo (CD-Rom, Internet)  problemi con le periferiche per sistemi commerciali FUTURO DELL’HARDWAR E

Legge di Moore (1965)  la potenza di calcolo raddoppia ogni circa due anni  valida fino ad oggi (la miniaturizzazione sta raggiungendo i limiti atomici)

Computer ottici?  Fotoni invece di elettroni / Computer quantici?  Qubit (quantum bit) invece di bit (un qubit può valere 0 e 1 contemporaneamente

PROGRAMMAZIONE

Scrivere software è un’attività complessa:

 formalizzare i compiti da svolgere  si parla di scrittura di ALGORITMI

 prevedere e gestite tutte le situazioni  situazioni impreviste possono bloccare l’algoritmo

 difficile fare test completi

Ci si appoggia a software già scritto  algoritmi complessi basati su algoritmi più semplici  bisogna tenere traccia dei diversi componenti