Corso di Fondamenti di Informatica 2024/2025 PDF
Document Details
Università degli Studi di Napoli Federico II
2024
Raffaele Della Corte
Tags
Related
- Sistemi Informativi Corso di Laurea in Informatica PDF
- Rappresentazione dei Numeri Relativi PDF
- Elaborazione dell'informazione PDF
- Applicazioni di Informatica per le Produzioni Multimediali PDF
- Corso di Informatica e Rappresentazione Digitale PDF
- Corso di Informatica e Rappresentazione Digitale - Sicurezza nei Sistemi Operativi PDF
Summary
Questi appunti presentano il corso di Fondamenti di Informatica dell'anno accademico 2024/2025, presso l'Università degli Studi di Napoli Federico II, tenuti dal docente Raffaele Della Corte. Coprono argomenti come l'informazione, la sua rappresentazione e il concetto di codifica. Sono adatti a studenti di Ingegneria dell'Automazione e Ingegneria Informatica.
Full Transcript
CORSO DI FONDAMENTI DI INFORMATICA ANNO ACCADEMICO 2024/2025 Corso di Laurea in Ingegneria dell’Automazione Corso di Laurea in Ingegneria Informatica Docente: Raffaele Della Corte L’informazione e le sue rappresentazioni Riferimento: Le radici dell’informatica. Dai b...
CORSO DI FONDAMENTI DI INFORMATICA ANNO ACCADEMICO 2024/2025 Corso di Laurea in Ingegneria dell’Automazione Corso di Laurea in Ingegneria Informatica Docente: Raffaele Della Corte L’informazione e le sue rappresentazioni Riferimento: Le radici dell’informatica. Dai bit alla programmazione strutturata Capitolo 1 L’informatica e il mondo moderno L’attuale società moderna è sempre più dipendente dall’informatica. Elaboratori elettronici presenti in molti aspetti della vita quotidiana il più delle volte nascosti all’interno di altre macchine. Le molteplici funzionalità offerte dai moderni cellulari sono una testimonianza della diffusione del fenomeno. Diffusione favorita dall’avvento di Internet L’informatica e il mondo moderno Molte delle attività del mondo contemporaneo hanno risentito dell’introduzione degli elaboratori. Esempio: nelle aziende e negli uffici pubblici il flusso dei documenti (produzione, trasferimento, archiviazione) avviene mediante l’utilizzo di elaboratori. In un formato “immateriale” detto digitale. Altri esempi: Ambito medico – cartella clinica digitale. Settore trasporti – prenotazione ed acquisto di biglietti on-line. Servizi di e-commerce. Altri ambiti – sevizi di TV interattive, moviola in campo. Definizione di Informatica L’informatica può essere definita come la scienza della risoluzione dei problemi con l’aiuto degli elaboratori l’informatica è una disciplina complessa che abbraccia campi molto diversi l’elaboratore elettronico è solo lo strumento mediante il quale si possono attuare le tante applicazioni per esso pensate L’informatica è soprattutto la scienza della gestione e della elaborazione dell’informazione Informatica INFORmazione autoMATICA L’informatica si occupa del trattamento dell’informazione mediante procedure automatizzabili attraverso un calcolatore. Cosa significa rappresentare l’informazione? Voglio rappresentare il testo (e.g., la stringa www.wikipedia.org) con un QRCODE r go. i w a p k ww ie i. d w Informazione Informare: dare forma Un concetto astratto che può, in linea del tutto generale, coincidere con qualunque notizia o racconto. L'informazione è qualcosa che viene comunicato in una qualsiasi forma scritta o orale. Cos’è l’informazione? Rappresentazione ed interpretazione Nella Teoria dell'Informazione l'informazione viene associata al concetto di messaggio. Messaggio deve essere rappresentato e trasportato. Mittente e destinatario hanno un insieme di regole con le quali leggere e scrivere i messaggi. Attributo, valore, tipo Diversi aspetti definiscono un’informazione: Tipo = l’insieme degli elementi entro cui bisogna scegliere il valore associato all’informazione (margine di incertezza) Valore = il particolare elemento assunto dall’informazione (riduzione dell’incertezza) Attributo = significato associato all’informazione nel contesto in cui questa viene utilizzata Si ottiene un’informazione completa quando un attributo assume un valore di un determinato tipo. Esempio 36.5 Esempio 36.5 è la temperatura corporea Esempio 36.5 → Valore è la temperatura corporea → Tipo di Antonia → Attributo Esempio Azzurro → Valore è la temperatura corporea → Tipo di Antonia → Attributo Esempio -22 → Valore è la temperatura corporea → Tipo di Antonia → Attributo Esempio 7882 → Valore è la temperatura corporea → Tipo di Antonia → Attributo Esempio codifica 36.5 → Valore DATO decodifica è la temperatura corporea → Tipo di Antonia → Attributo il valore può essere rappresentato in modi diversi 36.5, trentasei e mezzo, (100100.1)2 un DATO è la rappresentazione di un valore (tramite una codifica) Rappresentazione dell’informazione Perché persone o macchine possano utilizzare un’informazione hanno bisogno che essa sia appropriatamente “rappresentata”. Scrivere, leggere ed elaborare informazioni implica l’esistenza di una serie di regole e convenzioni da seguire. La lingua parlata permette di comunicare (trasmettere informazioni) tramite i suoni La scrittura ha permesso la conservazione (trasmissione nel tempo) di conoscenze, eventi, o semplici informazioni pratiche Codifica Un’informazione per essere correttamente elaborata deve essere codificata in una rappresentazione comprensibile all’interlocutore. Nel nostro caso l’interlocutore sarà l’elaboratore La codifica è l’insieme di convenzioni e di regole da adottare per trasformare un’informazione in una sua rappresentazione e viceversa La stessa informazione può essere codificata in modi diversi Uscita Exit 出口 12 XII Twelve 1100 家 집 მთავარი Rappresentazione Analogica e Digitale Rappresentazione Analogica Le proprietà del fenomeno rappresentato sono omomorfe alla forma della rappresentazione La rappresentazione varia in analogia con la grandezza reale Una grandezza è rappresentata in modo continuo e la gran parte delle grandezze fisiche della realtà sono di tipo continuo Rappresentazione Digitale (Numerica) Utilizza un insieme finito di rappresentazioni distinte che vengono messe in relazione con alcuni elementi dell’universo da rappresentare è un’approssimazione di quella analogica è discreta Codice Un codice è un sistema di simboli che permette la rappresentazione dell’informazione ed è definito dai seguenti elementi: Simboli: sono gli elementi atomici della rappresentazione; Alfabeto: rappresenta l’insieme dei simboli possibili. Cardinalità del codice, n, indica il numero di elementi dell’alfabeto; Parole codice o stringhe: rappresentano sequenze ammissibili di simboli la lunghezza, l, di una parola codice è il numero di simboli dell’alfabeto da cui ciascuna parola codice risulta composta; Linguaggio: che definisce le regole per costruire parole codici che abbiano significato per l’utilizzatore del codice. Parole codice Dato un alfabeto composto da n simboli distinti e fissata una lunghezza l per le parole codice allora: il numero di parole codice differenti è uguale a nl si hanno tante parole codice diverse quante sono le combinazioni con ripetizione degli n simboli nelle l posizioni. Se un’informazione può assumere m valori diversi e si vuole che per ogni valore ci sia una parola codice che la rappresenti (cioè una specifica sequenza di simboli dell’alfabeto), allora la lunghezza l deve essere scelta in modo che nl ≥ m Esempio Fissato l’alfabeto A = {-,.} del codice Morse con n=2. Quanti e quali rappresentazioni sono possibili per l=1 ? l=2 ? l=3 ? l=4 ? Corrispondenza parola codice - valore Siano: V = {v1, v2,..., vm } l’insieme degli m valori diversi di una data informazione. A = {s1, s2,..., sn} un alfabeto composto da n simboli distinti. La codifica deve mettere in corrispondenza biunivoca i valori dell’informazione con le parole codice. Ad ogni vi di V deve corrispondere una ed una sola sequenza di simboli di A. Codifica a Lunghezza fissa e variabile La codifica può essere a lunghezza fissa o variabile. Codifica a lunghezza fissa tutte le parole codice hanno sempre la stessa lunghezza, fissata da particolari esigenze applicative I calcolatori adottano codifiche a lunghezza fissata e definita Codifica a lunghezza variabile Non tutte le parole codice hanno la stessa lunghezza Introducono vantaggi nella trasmissione e conservazione dell’informazione La scrittura è un caso di codifica a lunghezza variabile Codifica e codice Se un’informazione può assumere m valori diversi e si vuole che per ogni valore ci sia una parola codice che la rappresenti (cioè una specifica sequenza di simboli dell’alfabeto), allora la lunghezza l deve essere scelta in modo che nl ≥ m Se nl > m allora la codifica è ridondante perché non tutte le configurazioni possibili vengono utilizzate per la rappresentazione. Alcune regole pratiche 1. Sia m la cardinalità dell’informazione da rappresentare 2. Sia n la cardinalità dell’alfabeto 3. Vogliamo utilizzare una codifica a lunghezza fissa ALLORA La lunghezza minima delle parole per rappresentare le m informazioni con gli n simboli dell’alfabeto è: Ceiling 𝑙 = 𝑙𝑜𝑔𝑛 𝑚 Approssimazione per eccesso al primo intero successivo Esempi di approssimazioni per eccesso Approssimazioni all’intero più vicino non inferiore 4.95 = 5 7.0000001 = 8 Esempio Codificare i tasti del telecomando mostrato in figura con un alfabeto di tre simboli A = {a, b, c} → n = 3 V={ , , , , }→m=5 La lunghezza minima delle parole codice è 𝑙𝑜𝑔10 5 𝑙 = 𝑙𝑜𝑔3 5 = = 1.46 = 2 𝑙𝑜𝑔10 3 Il codice è ridondante perché 32 = 9 > 5 Esempio Possibile codifica aa Ci sono 4 configurazioni inutilizzate: ab bc ac ca cb ba cc bb Rappresentazione Digitale In informatica assume particolare interesse la rappresentazione binaria digitale. Basata su un alfabeto costituito da due soli simboli distinti, che assumono convenzionalmente la forma di “0” e “1”. I due simboli rappresentano le unità minime di rappresentazione e memorizzazione digitale e vengono denominate bit da “binary digit”. Abbiamo quindi un alfabeto A = {0,1} con n = 2 Note Solitamente si indica con digitale la rappresentazione basata sui bit, anche se essa teoricamente sottintende una rappresentazione con qualsiasi tipo di cifre. L’uso ha portato ad un’estensione del significato del termine digitale che assume il significato di informazione codificata in contrapposizione con analogico che invece descrive la realtà nelle sue infinite forme e varietà. Il codice binario Utilizza un alfabeto A = {0,1} con n=2 Le informazioni vengono quindi rappresentate mediante stringhe di bit di lunghezza l che producono 2l configurazioni (parole codice) diverse Viceversa se si devono rappresentare k informazioni diverse occorrono 𝑙𝑜𝑔2 𝑘 bit per associare ad esse codici diversi Perché la rappresentazione digitale binaria La rappresentazione delle informazioni all’interno dell’elaboratore si basa sull’alfabeto binario {0,1} I supporti di memorizzazione delle informazioni, i registri di memoria, vengono realizzati con componenti elementari semplici detti flip-flop, che operano in due soli stati possibili. In generale esistono tanti fenomeni diversi che possono essere facilmente associati ad un bit: la presenza o assenza di tensione elettrica in un circuito elettrico; le polarità positiva e negativa di un magnete o di un supporto con caratteristiche magnetiche tipo nastri e dischi; la presenza o l’assenza di un buco su un supporto ottico come quello dei cd-rom; l’apertura o chiusura di una conduttura; la condizione di acceso o di spento di un interruttore. Byte e word Per ragioni legate alla costruzione dei moderni calcolatori, è d'uso fare riferimento a stringhe con l uguale ad 8 che vengono dette byte. Sequenze di bit più lunghe di un byte sono invece denominate word, la loro lunghezza dipende dalle caratteristiche del sistema, ma è sempre un multiplo del byte: 16, 32, 64 o 128 bit ATTENZIONE: nel Sistema Internazionale (SI) e nello standard IEEE 1541 i prefissi k, M, G, T corrispondono a fattori 103, 106, 109, 1012 mentre i valori rappresentati nella tabella sono indicati come KiB, MiB, GiB, TiB, rispettivamente. Come funziona nei moderni calcolatori Con 8 bit si rappresentano solo 28 (256) valori diversi. Nel caso in cui un solo byte non fosse sufficiente per rappresentare k valori dell’informazione, allora si individua il numero b (intero positivo) di byte tale che: 2 (b*8) > k Per conoscere il numero minimo di byte per rappresentare k informazioni basta calcolare: 𝑙𝑜𝑔2 𝑘 𝑏= 8 All’interno dei moderni calcolatori, la codifica è a lunghezza fissa ed adotta parole codice con una lunghezza che ha valori multipli di 8