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


Introduzione all'Informatica: Fondamenti e Strutture, Dispense di Elementi di Informatica

1. FONDAMENTI DI INFORMATICA 1. Introduzione • Definizione informatica = studio teorico - Informazione - Computazione - Elaborazione automatica  Information & communication tecnology • - Dato - Informazione - Conoscenza • Linguaggio - Linguaggio naturale - Linguaggio formale • Codifica informazione - 8 bit = 1 byte • Elaborare informazioni • Evoluzione sistemi di elaborazione dell’informazione

Tipologia: Dispense

2019/2020

Caricato il 29/01/2020

elisa-lepore-1
elisa-lepore-1 🇮🇹

4.5

(8)

13 documenti

1 / 57

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
1. FONDAMENTI DI INFORMATICA
1. Introduzione
Cos’è l’informatica?
«L’informatica non riguarda i computer più di quanto l’astronomia riguardi i telescopi.» E. Dijkstra
Studio teorico dell’informazione, della computazione e degli strumenti di elaborazione automatica
Benefici dati dagli elaboratori automatici di informazioni
- riduzione dei tempi di calcolo
- maggiore affidabilità
- automazione del lavoro
- diffusione di metodi di elaborazione che richiedono competenze specifiche
Informatica o computer science: il calcolatore o elaboratore permette di trattare l’informazione
L’informatica viene anche chiamata tecnologia dell’informazione (information technology)
Con l’avvento delle reti e delle telecomunicazioni è nata una nuova disciplina chiamata Information &
Communication Technology
Dato ,Informazione , Conoscenza
Dato: insieme di simboli di un alfabeto (manca l’informazione associo proprietà al dato =informazione)
Il numero 39,5 è composto dai simboli “3” “9” “,” “5”
L’informazione si ottiene relazionando dati con proprietà
La temperatura corporea di un individuo è misurata in 39,5 ◦C
La conoscenza è ad un livello maggiore di astrazione, permette di trattare l’informazione
La temperatura di un individuo è 39,5 ◦C, esistono regole che permettono di trattare questo stato per
superare questa condizione pericolosa
Linguaggio naturale e Linguaggio formale
Il linguaggio naturale è ambiguo (non va bene x calcolatore- x l’uomo in base al contesto può avere +
significati)
“Sposta il cavallo”. Qual è il significato specifico di cavallo?
Anche conoscendo il contesto...
“Tizio vide Caio nel parco con il cannocchiale”. Chi aveva il cannocchiale?
I linguaggi formali sono stati introdotti per evitare le ambiguità nell’interpretazione (alfabeto – semantiche
formali /se leggo una frase è uno solo il significato)
Sono composti da:
- alfabeto finito di simboli
- grammatica formale
Esistono quindi delle semantiche formali per attribuire il significato alle frasi di un linguaggio formale
Codifica informazione
Nei calcolatori l’informazione è codificata in bit unità di misura dell’informazione (binary digit)
Perché è possibile rappresentare il valore dei bit su dispositivi bistabili
Un bit può assumere i valori 0 e 1 (se con numeri normali: numero + piccolo: 0 + grande 9 a due 00-99 ec..)
2 bit: 4 (2 alla seconda) sequenze possibili: 00, 01, 10, 11
3 bit: 8 (2 alla terza ) sequenze possibili: 000, 001, 010, 011, 100, ...
4 bit:16 (2 alla quarta) ecc…
8 bit: 256 (2all’ottava ) sequenze possibili
n bit: 2 alla n sequenze possibili
8 bit = 1 byte (noi naturalmente perdiamo l’unità di misura usiamo solo il prefisso)
1
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
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39

Anteprima parziale del testo

Scarica Introduzione all'Informatica: Fondamenti e Strutture e più Dispense in PDF di Elementi di Informatica solo su Docsity!

1. FONDAMENTI DI INFORMATICA

1. Introduzione

Cos’è l’informatica? «L’informatica non riguarda i computer più di quanto l’astronomia riguardi i telescopi.» E. Dijkstra Studio teorico dell’informazione, della computazione e degli strumenti di elaborazione automatica Benefici dati dagli elaboratori automatici di informazioni

  • riduzione dei tempi di calcolo
  • maggiore affidabilità
  • automazione del lavoro
  • diffusione di metodi di elaborazione che richiedono competenze specifiche Informatica o computer science: il calcolatore o elaboratore permette di trattare l’informazione L’informatica viene anche chiamata tecnologia dell’informazione (information technology) Con l’avvento delle reti e delle telecomunicazioni è nata una nuova disciplina chiamata Information & Communication Technology

Dato ,Informazione , Conoscenza Dato: insieme di simboli di un alfabeto (manca l’informazione associo proprietà al dato =informazione) Il numero 39,5 è composto dai simboli “3” “9” “,” “5” L’informazione si ottiene relazionando dati con proprietà La temperatura corporea di un individuo è misurata in 39,5 ◦C La conoscenza è ad un livello maggiore di astrazione, permette di trattare l’informazione La temperatura di un individuo è 39,5 ◦C, esistono regole che permettono di trattare questo stato per superare questa condizione pericolosa

Linguaggio naturale e Linguaggio formale Il linguaggio naturale è ambiguo (non va bene x calcolatore- x l’uomo in base al contesto può avere + significati) “Sposta il cavallo”. Qual è il significato specifico di cavallo? Anche conoscendo il contesto... “Tizio vide Caio nel parco con il cannocchiale”. Chi aveva il cannocchiale? I linguaggi formali sono stati introdotti per evitare le ambiguità nell’interpretazione (alfabeto – semantiche formali /se leggo una frase è uno solo il significato) Sono composti da:

  • alfabeto finito di simboli
  • grammatica formale Esistono quindi delle semantiche formali per attribuire il significato alle frasi di un linguaggio formale

Codifica informazione Nei calcolatori l’informazione è codificata in bit  unità di misura dell’informazione (binary digit) Perché è possibile rappresentare il valore dei bit su dispositivi bistabili Un bit può assumere i valori 0 e 1 (se con numeri normali: numero + piccolo: 0 + grande 9 a due 00-99 ec..) 2 bit: 4 (2 alla seconda) sequenze possibili: 00, 01, 10, 11 3 bit: 8 (2 alla terza ) sequenze possibili: 000, 001, 010, 011, 100, ... 4 bit:16 (2 alla quarta) ecc… 8 bit: 256 (2all’ottava ) sequenze possibili n bit: 2 alla n sequenze possibili 8 bit = 1 byte (noi naturalmente perdiamo l’unità di misura usiamo solo il prefisso)

La codifica dell’informazione La memoria del calcolatore contiene sequenze di bit che codificano l’informazione La sua capacità è misurata in bit (b) , byte (B) (o i loro multipli)

  • Prefisso= il rapporto che c’è è lo stesso
  • a seconda dell’unità di misura ho una forma compatta diversa ( B maiuscola / b minuscola) noi perdiamo sempre l’unità di misura – diverso dal calcolatore)

Elaborare informazioni Riguarda tutte queste informazioni:

  • Creazione
  • modifica (eliminazione)
  • confronto ( tra 2 misure – temperatura x esempio elaborazione confrontando informazioni)
  • conservazione
  • trasmissione (diversi canali) L’informazione viene elaborata tramite algoritmi, sequenze di istruzioni che indicano all’esecutore le operazioni da eseguire sulle informazioni Per elaborare sequenza che devo far eseguire ( quando facciamo questa operazione non dobbiamo essere ambigui e inserire tutte le possibilità ,se no ho problemi) l’informazione di ingresso viene detta input e quella di uscita output

Evoluzione sistemi di elaborazione dell’informazione

  1. abaco (rappresentazione numerica posizionale)
  2. regolo calcolatore (strumento di calcolo analogico)
  3. Pascalina (calcolatrice meccanica)
  4. analytical engine (primo calcolatore programmabile)
  5. calcolatore basato su relè elettromagnetici
  6. Colossus (calcolatore a valvole termoioniche)
  7. ENIAC (evoluzione si interagiva con schede cartacee – l’informatico a mano le presentava a un soggetto che faceva elaborazione con il computer)
  8. EDVAC
  9. calcolatori a transistor
  10. calcolatori con microchip
  11. personal computer

2.la Struttura del calcolatore

Il Processore La CPU esegue le informazioni lette nella memoria centrale

  • lettura dalla memoria (fetch)
  • decodifica
  • esecuzione
  • scrittura Per fare questo correttamente, usa il registro IR ( dove c’è l’istruzione) e il program counter ( indica la prossima memoria da eseguire) L’esecuzione vera e propria è solitamente fatta dalla unità aritmetico logica (ALU) La frequenza con cui vengono eseguite le istruzioni è data dal clock La frequenza di clock viene indicata in hertz ( miliardi di istruzioni alla seconda) e determina la velocità massima di elaborazione della CPU Le CPU moderne hanno una frequenza di clock di alcuni GHz

La memoriaMemoria centrale / Ram Quando ho bisogno di un info so quale cassetto aprire E’ il dispositivo di memorizzazione che interagisce con la CPU tramite bus per eseguire le istruzioni E’ una memoria volatile, per mantenere le informazioni deve essere alimentata, però ha tempi di accesso ridotti! Tipi di accesso ai dispositivi di memorizzazione:  accesso sequenziale  accesso diretto  accesso misto  accesso associativo La capacità tipica della RAM è di alcuni GB Esistono anche altri tipi di memoria! ROM e EPROM  Memoria di massa Garantiscono la persistenza dei dati, l’accesso in lettura e scrittura è più lento rispetto alla RAM Il costo delle memorie di massa è molto inferiore a quello della RAM Nel calcolatore la principale memoria di massa è il disco rigido (hard disk) Tipicamente i dischi rigidi dei personal computer hanno un diametro di 3, 5 ‘’(desktop) o 2, 5 ‘’ (laptop) e la loro dimensione varia tra centinaia di GB ad 2 TB Cosa significa backup, formattazione e ridondanza?? Backup= tecnica utilizzata x disaster recovery / riduce copie dei dati Formattazione= riporta memoria a stato iniziale Ridondanza= è una cosa che viene fatta quando si decide di salvare in duplice copia ( se io fornisco servizio dove i dati sono importanti) Le memorie di massa si possono classificare in :

  • dispositivi magnetici: * memorie flash :
  • floppy disk - memory card
  • disco rigido - drive USB
  • nastro magnetico - hard disk a stato solido
  • dispositivi ottici
  • compact disc
  • DVD
  • Blu ray disk

Gerarchie di memoria Cosa si intende con “ collo di bottiglia di von Neumann”? Principio di località:  località temporale: lettura in memoria nella stessa cella in istanti di tempo successivi  località spaziale: lettura in memoria nelle celle adiacenti a quella letta attualmente

Periferica Periferica: dispositivo connesso all’unità centrale del calcolatore, che permette l’immissione o l’emissione di dati. Le periferiche si connettono usando interfacce che vengono inserite nelle schede madri dei PC o usando le PC Card dei laptop. I connettori disponibili per la comunicazione tra PC e periferica sono:  connettori parallel ATA (HD, lettore CD, masterizzatore)  connettori serial ATA e SCSI (HD)  2 connettori PS/2 ( connettori mouse e tastiera)  connettore VGA (o DVI)  connettori minijack  connettore seriale RS-  porta parallela  connettore RJ11 (modem/fax)  connettore RJ45 (interfaccia di rete)  connettori USB  connettore FireWire (IEEE 1394)  dispositivo IrDA (infrarossi) e Bluetooth (onde radio)

Le principali periferiche:  tastiera: quali sono i tasti modificatori?  video: scheda grafica, risoluzione (aspect ratio), CRT, LCD,OLED, AMOLED, videoproiettore  dispositivi di puntamento: cos’è una GUI? mouse, trackball, joystick, touchpad, tavoletta grafica, touchscreen  stampante (plotter): risoluzione? getto d’inchiostro, laser, impatto  acquisizione di immagini: scanner (OCR), fotocamera digitale,  videocamera digitale, webcam, lettore di codici a barre  dispositivi audio: scheda sonora, media center, lettore mp (Cos’è il VoIP?)  combinazione di periferiche: google glasses, Cave Automatic Virtual Environment, LIM, Realtà virtuale

Dati di output: pasta cotta Ma siamo sicuri che una ricetta sia proprio un algoritmo? NO, è molto simile ma con due importanti differenze:  La sequenza di azioni contiene spesso degli elementi di ambiguità risolti da un esecutore intelligente es: spesso non si specificano gli strumenti da utilizzare,  confidando che l’esecutore umano sbatta le uova nel posto giusto es: sale q.b. Non tutti i casi possibili vengono specificati es: è chiaro che se c’è puzza di bruciato conviene spegnere il forno, anche se la ricetta non lo specifica (si confida nelle capacità deduttive dell’esecutore)

LA MACCHINA DI TURING

E’ un dispositivo (astratto) per l’elaborazione dell’informazione Permette di analizzare le proprietà dell’elaborazione automatica dell’informazione, degli algoritmi e della complessità E’ costituita da:

  • un alfabeto finito di simboli
  • un nastro di lunghezza infinita diviso in celle
  • una testina in grado di leggere e scrivere le celle e di spostarsi
  • un insieme finito di stati (stato iniziale e finale)
  • un registro di stato (stato corrente)
  • una tabella delle azioni o funzione di transizione

DAGLI ALGORITMI AI PROGRAMMI

Un linguaggio di programmazione è un linguaggio formale usato per descrivere algoritmi Un programma è un algoritmo espresso in un linguaggio di programmazione Diversi livelli di astrazione per la scrittura di programmi:

  • linguaggio macchina (sequenze di bit)
  • linguaggio assemblatore (istruzioni a basso livello: ADD, SUB, ecc)
  • linguaggi ad alto livello (Basic, Pascal, C, Java)
  • linguaggio naturale Per eseguire i programmi, bisogna prima “tradurli” in linguaggio macchina Si usano il compilatore o l’interprete, che (tra le altre cose) permettono di eseguire lo stesso programma su calcolatori diversi

IL SOFTWARE: LICENZE

I software vengono sviluppati dalle software house Tipi di licenza:

  • licenza d’uso: numero limitato di calcolatori, la copia è vietata!
  • shareware: prodotto in prova per un periodo di tempo
  • freeware: prodotto distribuito gratuitamente
  • software libero e software open source: distribuito gratuitamente assieme alla versione sorgente

2. Il software Applicativo

Il software si divide principalmente in: software di base e software applicativo I principali software applicativi sono:

  • videoscrittura
  • gestione di fogli elettronici
  • produzione di presentazioni multimediali
  • desktop publishing (volantini, brochure, ...)
  • gestione di basi di dati -
  • editor web
  • grafica e fotoritocco
  • realizzazione di diagrammi
  • gestione finanziaria
  • organizer
  • project management
  • applicazioni legate a Internet e al web (browser, posta elettronica, peer2peer, ...)

3. Il software Operativo

I SO comunemente diffusi:

  • Unix: sviluppato dai Bell Laboratories
  • Linux: (ad es. Ubuntu) è una famiglia di SO open source (basati su Unix)
  • Microsoft Windows
  • Microsoft Windows CE: versione embedded del SO
  • Mac OS: SO della Apple per personal computer Macintosh
  • iPhone OS: versione del SO della Apple per dispositivi mobile
  • Android: SO per dispositivi mobile E’ un software di base che permette l’interazione tra utente e calcolatore tramite una serie di programmi Le componenti principali di un SO sono:
    • nucleo (kernel)
    • gestore della memoria
    • gestore dei dispositivi I/O
    • file system
    • gestore della rete
    • interprete dei comand

LA GESTIONE DELLA CPU -KERNEL

Dalla monoprogrammazione alla multiprogrammazione Cosa indicano i termini timesharing e multitasking? Indicano la possibilità di avere un parallelismo virtuale Diversi processi vengono gestiti dalla CPU in modo tale che l’utente creda che la loro esecuzione sia parallela La CPU gestisce i processi in esecuzione che si possono trovare in 3 diversi stati:

  • pronto
  • in esecuzione
  • in attesa I processi vengono messi nello stato di esecuzione tramite l’operazione di context swapping

LA GESTIONE DELLA RAM

La multiprogrammazione richiede la presenza di un gestore della memoria in grado di:

  • controllare la RAM in maniera efficiente
  • gestire lo spazio necessario a ciascun processo
  • proteggere lo spazio di ogni processo
  • gestire lo spazio comune tra processi (usato per lo scambio di messaggi) Per questo motivo sono stati introdotti i concetti di:
  • memoria virtuale
  • pagine (blocchi di memoria)
  • Memory Management Unit (dispositivo hardware)
  • swapping (area di swap)

3.LA RAPPRESENTAZIONE DEI DATI PER LE SCIENZE

UMANE

1.La codifica dell’informazione

Trattare l’informazione: rappresentare i dati su un supporto fisico con sequenze di simboli che codificano l’informazione il supporto fisico viene sottoposto a una trasformazione che modifica i dati, i dati ottenuti vengono decodificati generando nuova informazione Perché nei calcolatori tutte le informazioni sono codificate in binario? I calcolatori moderni:  dispongono di supporti fisici bistabili:

  • memoria centrale (RAM)
  • memoria di massa (disco fisso)  possono rappresentare le informazioni tramite bit  qualsiasi tipo di informazione è codificato con sequenze di 0 e 1:
  • numerica
  • testuale
  • grafica
  • sonora Esiste un’area di ricerca della Information and Communication Technology che ha come obiettivi principali:  definire tecniche per codificare secondo il sistema binario nuovi tipi di informazione (rendendoli quindi trattabili dai calcolatori)  definire tecniche di codifica efficienti minimizzare il numero di simboli utilizzati diminuire la dimensione dell’informazione (maggiore quantità di dati memorizzati e maggiore velocità di trasmissione)  definire tecniche di codifica efficaci rendere l’informazione più semplice da trattare da parte di algoritmi (e programmi)

Le rappresentazioni:Le rappresentazioni non posizionali (esempi di numeri romani) Il sistema di numerazione romano  È un sistema additivo  è composto da un insieme di simboli letterari a cui viene associato un valore numerico  un numero è rappresentato da una sequenza di simboli letterari  il valore di un numero è dato dalla somma dei valori corrispondenti ai simboli della sequenza Il numero romano VIII, composto dai simboli V (=5) e I (=1), rappresenta il numero decimale 8 = 5 + 1 + 1 + 1 Nel Medioevo è stata introdotta una notazione più compatta  alfabeto: I, V, X, L, C, D, M  i valori corrispondenti sono: 1, 5, 10, 50, 100, 500, 1000  i simboli I, X, C, M possono essere ripetuti fino a 3 volte consecutive (VIII)  i simboli V L D non possono essere ripetuti in sequenza  i simboli scritti in ordine decrescente vengono valutati sommando il loro valore  se una coppia di simboli è scritta in ordine crescente, il valore del primo viene sottratto dal secondo  una barra sopra un simbolo ne moltiplica il valore per mille  due barre laterali e una sopra un simbolo indicano che il suo valore è moltiplicato per 100.

Esempio di numeri roman: XXVII = 10 + 10 + 5 + 1 + 1 = 27 MMVIII = 1000 + 1000 + 5 + 1 + 1 + 1 = 2008 IV = 5 - 1 = 4 MCMXCIX = 1000 + (1000 - 100) + (100 - 10) + (10 - 1) = 1999

Le rappresentazioni dei numeri

Le rappresentazioni posizionale decimale

Le rappresentazioni posizionali non decimali

La codifica analogica e digitale Codifica analogica richiede l’individuazione di una grandezza analoga ad ogni variazione della prima deve corrispondere una variazione della seconda Codifica digitale richiede l’introduzione di un alfabeto di simboli richiede regole di codifica per associare una grandezza a una sequenza di simboli Esempio: rappresentazione della quantità di caramelle analogica: numero di sassolini corrispondente (diciotto sassolini per diciotto caramelle) digitale: notazione numerica decimale posizionale (la sequenza di simboli 18) Pro e Contro  l’approccio digitale è più compatto 18453 è meno ingombrante di diciottomilaquattrocentocinquantatre sassolini  la codifica analogica contiene meta-informazioni

  • ordinale: relazioni d’ordine tra valori
  • metrico: quantificare le differenze tra valori  analogico tre sassolini rappresentano un valore maggiore di un sassolino togliendo tre sassolini da un mucchio di cinque ne restano due  digitale senza regole di codifica non posso sapere chi è il maggiore tra 13 e 31 non posso sapere che la differenza tra 5 e 3 equivale a 2

Grandezze discrete e continue Grandezze discrete: valori appartenenti all’insieme dei numeri naturali (es. termometro digitale) Grandezze continue: valori appartenenti all’insieme dei numeri reali ( termometro a mercurio)

Quantizzazione  Se un valore continuo viene rappresentato con una codifica digitale allora è necessario discretizzarlo  La rappresentazione discreta (a gradini) prevede un processo di quantizzazione, caratteristica intrinseca di tutte le codifiche digitali  La quantizzazione prevede l’individuazione di un numero finito di intervalli e tutti i diversi valori all’interno dello stesso intervallo vengono rappresentati con la stessa sequenza di simboli Nella rappresentazione della temperatura fino ai decimi di grado le temperature 37,51 e 37,54 vengono rappresentate con la stessa sequenza di simboli 37,

Campionamento  Per rappresentare l’andamento nel tempo di una grandezza continua, usando una codifica digitale, è necessario effettuare un campionamento  Si divide l’intervallo di osservazione del fenomeno in sottointervalli  Il valore viene rilevato in un istante predefinito (ad es. all’inizio del sottointervallo)  La frequenza di campionamento è definita come numero di campioni per unità di tempo Una frequenza di 7Hz indica che ogni secondo vengono rilevati 7 campioni

Quantizzazione e campionamento: pro e contro La quantizzazione porta ad una approssimazione dei valori 37,51 e 37,54 −→ 37, Anche il campionamento porta ad una approssimazione

La trasmissione dell’informazione digitale La codifica digitale ha avuto grande successo grazie all’avvento dei calcolatori I messaggi digitali sono più facili da trasmettere rispetto a quelli analogici  Se la codifica è binaria, avendo solo 2 valori ammissibili, è facile capire se ci sono stati errori di trasmissione (scostamento dai valori 0 e 1 causati dal rumore)  Per individuare gli errori, trasmettitore e ricevitore possono concordare meccanismi di ridondanza

Schemi di ripetizione Ogni bit viene trasmesso più volte:  il messaggio viene scomposto in blocchi di bit (byte o nibble)  ogni blocco viene ripetuto più volte Il messaggio binario 011011101100 può essere scomposto nei blocchi 0110 0111 1100 Il messaggio verrà inviato come segue: 0110 0110 0111 0111 1100 1100 Se viene ricevuta la sequenza 0110 011 1 0111 0111 1 0 00 1100 Vengono individuati 2 errori MA non possono essere corretti, quindi il messaggio deve essere inviato di nuovo

 Unicode usa una codifica a 21 bit - 2 milioni di caratteri (2 alla ventuno = 2milioni di simboli) comprende ASCII esteso (Latin1), caratteri di lingue vive e morte, ideogrammi, Braille; simboli matematici, chimici, cartografici

  • perché no codifica da subito unicode? Millenium bug (anno 2000 prima si usava gg-mm-aa/ passaggio da 2 a 4 cifre l’anno)

Diversi formati: E’ necessario distinguere i file memorizzati nella memoria del calcolatore a seconda del tipo di codifica utilizzato  File txt (SO Windows) - contengono esclusivamente caratteri  File doc (Microsoft Word o OpenOffice Writer) - contengono il testo e le informazioni sulla formattazione

  • Font (= utilizzato nel file/tipo di carattere nel testo / front con le grazie ( aggiunta per bellezza alle lettere) front senza grazie- con le grazie è meno leggibile ma permette di evtare allungamento delle lettere )
  • Allineamento (giustificare il testo è meglio allineamento sulla sinistra diversa distanza)
  • dimensione delle pagine
  • intestazioni e piè di pagina
  • sommario
  • ...  File scritti con linguaggi di marcatura (markup language)
  • HTML - pagine ipertestuali (in Internet costituiscono il World Wide Web)
  • ODT e DOCX - documenti di testo basati su XML
  • SBML Systems Biology Markup Language  RTF (SO Windows) - sviluppato per supportare lo scambio di testo tra sistemi e applicazioni (contiene codici di controllo)  PostScript - linguaggio di programmazione che consente di descrivere l’impaginazione (diffuso in editoria)  PDF (Portable Document Format) - sviluppato da Adobe System Incorporated è diventato standard ISO molto comune per la diffusione di documenti su Internet
  • standard internazionali anche se creata da società privata (Adobe) – letto indipendentemente da supporto a sistema operativo – non può essere modificato

Le immagini Metodi di campionamento sono utilizzati anche per la rappresentazione di immagini I dispositivi di acquisizione delle immagini effettuano una codifica campionando l’immagine in una bitmap La bitmap è una matrice di pixel (picture element) Ogni pixel assume un colore specificato nella codifica La qualità dell’immagine dipende dalla dimensione dei pixel

  • grossi → immagine sgranata
  • piccoli → immagine fedele all’originale
  • ( come viene digitalizzata un immagine? struttura mosaico (bitmap) / tessere ( pixel) Tengo traccia :di quanti sono i pixel e Colore di ogni pixel Rappresentazione diversa del mosaico  digitalizzo immagine ) Rispetto alla realtà non tutti i colori ma rappresento numero infinito di colori ( sfumature diverse collassate nello stesso colore) Decido quanti sono i bit x rappresentare i colori dei miei pixel ( se aumento di bit aumento pixel/colori  quantificazione) Anche i metodi di quantizzazione sono utilizzati anche per la rappresentazione di immagini
  • La quantizzazione viene usata per rappresentare i colori
  • La profondità di colore (color depth) è il numero di bit usato per rappresentare il colore dei pixel * so tutti i pezzi : come digitalizzare / quanto spazio occuperà
  • In un’immagine monocromatica in bianco e nero il colore dei pixel viene codificato con un bit (0 nero, 1 bianco)
  • In un’immagine in tonalità di grigio si possono usare 8 bit per rappresentare le 256 tonalità di grigio Per rappresentare i colori vengono combinati alcuni colori primari su vari livelli di intensità 2 metodi:  Modelli sottrattivi - a partire dal colore bianco CMYK (4 iniziali dei colori utilizzati: Cyan, Magenta, Yellow and Key) il nero è stato aggiunto perchè combinando ciano, magenta e giallo si ottiene il marrone  Modelli additivi - a partire dal colore nero RGB (3 componenti Red, Green, Blue - detto truecolor) *ogni pixel intensità verde rosso blu intensità = colore che mi serve usato nel video del calcolatore. Non è propriamente additivo perchè ogni pixel è diviso in 3 parti, e la combinazione di rosso, verde e blu dà il colore desiderato E’ chiaro che codifiche diverse portano ad ottenere immagini di dimensione diverse Per un’immagine di 1024×768 ( altezza) pixel: Monocromatica: (bianco) 1024 × 768 = 786432 bit = (nero) 98304 byte � 100 KB Tonalità di grigio: 786432 byte � 800 KB RGB: 2359296 byte � 2.3 MB 1 bit x ogni pixel Tipo di codifica sulla dimensione dell’immagine

Formato dei file immagini Tipo di file  Formato raster = rappresentazione dell’immagine  JPEG (Joint Photographic Experts Group): truecolor,compressione lossy  GIF (Graphics Interchange Format): massimo 256 colori, compressione lossless  BMP (Windows Bitmap): formato non compresso di Windows Questi 3 sono tipi di file compressi ( occupano meno spazio) utilizzati molto nel web  TIFF (Tagged Image File Format):

  • tag= etichetta famiglia di formati che supporta la compressione lossy e lossless  PNG (Portable Network Graphics): truecolor, compressione Lossless Questi 2 anche per metainformazioni

Formato vettoriale

  • vantaggio = rappresentate in funzione del dispositivo stesso (es zoom questo non succede nel formato vettoriale , no solo ingrandita ma ridisegnata) Resterizzazione = da equa matem a visuakizzazione sullo schermo Serie di indicazioni che spiegano a calcolat. Come l’immagine deve essere rappresentata rappresentazione tramite primitive geometriche codificate in equazioni matematiche
  • CGM (Computer Graphics Metafile)
  • SVG (Scalable Vector Graphics)
  • WMF (Windows Metafile) Per riprodurre le immagini vettoriali è necessario un processo di rasterizzazione che permette di sfruttare meglio la risoluzione della periferica usata, ottenendo migliore qualità Anche per la visualizzazione dei caratteri:

2. La sicurezza informatica

La legge sulla privacy La legge individua una serie di misure minime di sicurezza:

  • autenticazione informatica tramite credenziali = password (dimostrazione di conoscenza, possesso, caratteristiche fisiche)
  • procedure di gestione delle credenziali: lunghezza minima e durata delle password, regolamentazione dell’attivazione,disattivazione, conservazione, ...
  • aggiornamento periodico dell’individuazione dell’ambito del trattamento consentito ai singoli incaricati e addetti protezione degli strumenti e dei dati (Antivirus): dispositivi HW e SW per la protezione contro software maligni
  • procedure per la custodia di copie di sicurezza, backup e ripristino, disaster recovery (= avere procedure che recupero dati anche in caso di alluvione ,terremoti ecc..tot km)
  • stesura di un aggiornato documento programmatico sulla sicurezza

La sicurezza dei dati GDPR nuovo regolamento del 2018 – x regolamentare l’utilizzo dei dati no fini commerciali riservatezza (privacy): protezione da letture non autorizzate

  • integrità: protezione da modifiche non autorizzate, per la trasmissione di dati: ( non posso pensare che qualcuno legge il mio messaggio e lo invia a qualcuno)
  • autenticità: garanzia dell’identità della sorgente, del destinatario e del contenuto del messaggio ( è veramente lui che mi manda messaggio, inalterato)
  • non ripudiabilità: garanzia che la sorgente non possa negare di avere inviato un messaggio e che il destinatario non l’abbia ricevuto
  • disponibilità: protezione da interventi non autorizzati che compromettano la possibilità di accesso ai dati da parte degli utenti autorizzati -servizio da sempre disponibile ( es. portale dell’uni)

La crittografia La crittografia è una tecnica usata per garantire la riservatezza dei dati durante la trasmissione. E’ quindi molto importante in ambito ICT e Internet  Algoritmi crittografici a chiave segreta (crittografia simmetrica) Crittografici= che codificano le nostre info / segreta = chiave di codifica molto complicata Il mittente e il destinatario sono le uniche 2 persone che hanno questa chiave segreta

  • tramite un algoritmo di cifratura, il mittente trasforma un messaggio in chiaro in un messaggio cifrato
  • il destinatario è in grado di rigenerare il messaggio originale tramite un algoritmo di decifratura
  • se il messaggio viene intercettato, anche conoscendo l’algoritmo di decifratura, senza la chiave segreta risulta essere illeggibile problema: La trasmissione della chiave segreta è critica, se questa viene intercettata, la riservatezza è compromessa! Io devo poi riconsegnare la chiave  Algoritmi crittografici a chiave pubblica (crittografia asimmetrica) Anche se conosco una non posso conoscere l’altra / viene garantita la privacy messaggio codifico con chiave pubblica solo destinatario ha chiave privata nessuno anche volendo può leggere il messaggio privato
  • prevedono una coppia di chiavi, la conoscenza della prima non consente di calcolare la seconda
  • l’algoritmo di cifratura usa una delle chiavi e quello di decifratura l’altra
  • ogni persona in possesso della chiave pubblica può cifrare i messaggi e inviarli
  • solo la persona in possesso della chiave privata può decifrare i messaggi Gli stessi algoritmi possono essere usati per la firma elettronica garantendo: riservatezza, autenticità, integrità e non ripudiabilità ( ottenere chiave associata alla sua persona in maniera ufficiale – PEC = posta elettronica certificata)

3.Le basi dei dati

Basi di dati (DB, data base ) sono grandi collezioni strutturate di dati con le seguenti caratteristiche:  rappresentazione efficace in un singolo contenitore logico, conservazione affidabile, fruizione efficiente di tutte le informazioni  evitare frammentazione, ridondanza ( = ripetizio info + volte / aumento memoria) e inconsistenza dei dati  evitare accessi non autorizzati ( solo da parte di chi è autorizzato) La gestione viene fatta tramite sistemi di gestione di DB (DataBase Management System, es. Oracle, SQL Server):

  • DDL (Data Definition Language): definire strutture dati e relazioni
  • DML (Data Manipulation Language): modifica e interrogazione dei dati
  • SQL (Structured Query Language): DDL + DML La rappresentazione concettuale dei DB viene fatta usando Modelli Entità-Relazioni
  • entità: classi di oggetti (persone, cose) che hanno proprietà comuni ed esistenza autonoma
  • relazioni: legami logici tra entità
  • attributi: proprietà di entità o relazioni es. di un data base di una biblioteca
    • non ripeto ma ho collegamenti
    • facilità nell’accedere a questi dati