Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica. Compressione dati

Documenti analoghi
Suono digitale. Ø Un secondo di musica stereo richiede 44'100 campioni di 16 bit (2 byte) ciascuno per due canali, quindi 176'400 byte.

Analogico vs digitale

L'Informazione e la sua Codifica. Maurizio Palesi

1.2d: La codifica Digitale dei caratteri

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Teoria dell Informazione

Algoritmi e Programmi

Rappresentazione con i diagrammi di flusso (Flow - chart)

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

L'Informazione e la sua Codifica. Maurizio Palesi

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

Algoritmi. Pagina 1 di 5

Come ragiona il computer. Problemi e algoritmi

Cosa è l Informatica?

Informatica. Come si risolve un problema?

Interazione tra matematica e informatica

n Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Concetti di base dell ICT

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

LABORATORIO DI INFORMATICA

Capitolo 3 L elaborazione e la strutturazione dell informazione

Corso di Fondamenti di Informatica Linguaggi di Programmazione

Capitolo 3 Elaborazione e Strutturazione dell Informazione. (Introduzione ai Sistemi Informatici Sciuto et alii)

Corso di Informatica

Concetti Introduttivi. Il Computer

Laboratorio di Programmazione

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Modulo informatica di base 1 Linea 2

Corso di Informatica di Base

INFORMATICA SANITARIA Domande ed Esercizi di Preparazione all Esame (Parti 8-17)

Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Linguaggi di Programmazione

Informatica di Base 1 Linea 1

Numeri interi. Laboratorio di Calcolo Paola Gallo

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Pag. 2. Somma binaria. Somma binaria. Somma binaria. Altre operazioni aritmetiche. La somma si può fare colonna per colonna

Unità Didattica 2 I Linguaggi di Programmazione

I.4 Rappresentazione dell informazione

CONCETTI FONDAMENTALI

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Algoritmi e soluzione di problemi

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)

Il concetto di informatica. Graziano Pravadelli (2012)

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Linguaggi di programmazione

Dispensa di Informatica II.1

LA METAFORA DELL UFFICIO

Dalla prima lezione. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI 28/02/2016. Concetto di algoritmo

DISCIPLINA: MATEMATICA. COMPETENZA n 1 TITOLO: IL NUMERO SCUOLA INFANZIA SCUOLA PRIMARIA CONOSCERE E OPERARE CON I NUMERI NATURALI E NON

Tecniche di compressione senza perdita

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

LA METAFORA DELL UFFICIO

Elaborazione dell informazione

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Fasi della programmazione. Gabriella Trucco

PROBLEMI ALGORITMI E PROGRAMMAZIONE

Segnale analogico. Analogico vs digitale. Segnale digitale. Trasformazione da analogico a digitale

Rappresentazione binaria. Laboratorio di Informatica. Calcolatori digitali. N: numeri naturali. La codifica binaria. I primi 16 numeri binari

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Risoluzione di problemi con l uso dell elaboratore elettronico

Il concetto di calcolatore e di algoritmo

DESCRIZIONE 2 SOGGETTO

La codifica. dell informazione

Codifica di Huffman e Lempel-Ziv-Welch A L B E R T O B E L U S S I A N N O A C C A D E M I C O /

La codifica di sorgente

Il linguaggio di programmazione Python

Sviluppo di programmi

Problemi, algoritmi, calcolatore

Algoritmi e Linguaggi

La rappresentazione dell algoritmo Diagrammi di flusso

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

DESCRIZIONI RIGOROSE c7

Informatica! appunti dalle lezioni dal 18/09/2012 al 28/09/2012!!

Cosa si intende con stato

1 Esercizi in pseudocodice

Analizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser.

Algoritmi e diagrammi di flusso versione biennio

Laboratorio di Informatica

Informatica. Informatica. Problema - soluzione. Algoritmi, dati e programmi. Introduzione ai concetti di: Distinguiamo tra: problema

Codifica dell Informazione

Università degli Studi di Cassino e del Lazio Meridionale Corso di Fondamenti di Informatica Algoritmi ed esecutori

Codifica dell Informazione

Capitolo 2 L informazione e la sua codifica. Informatica e Informazione La codifica dell informazione Analogico vs digitale

LAVAGNA DI PROGRAMMA SPORTELLO UTENTE LAVAGNA DI LAVORO

Corso di Programmazione Problem Solving. Tipi di Problemi. Problemi Complessi Soluzione. Dott. Pasquale Lops. Primitivi. Complessi

Codifica informazione testuale

Nozione di algoritmo. Gabriella Trucco

INFORMATICA 1 Corso di Laurea in Fisica a.a. 2007/08

Lezione 1. Problemi Algoritmi Programmi

4.3: La Codifica dei Suoni e dei Video

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

Applicazioni:la traduzione automatica

Programmazione di INFORMATICA e Laboratorio

Transcript:

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica Compressione dati Compressione dei dati Il processo di compressione consiste nell effettuare codifiche digitali o ri-codificazioni che riescano a ridurre lo spazio occupato nel supporto a valori inferiori rispetto ad altre codificazioni Lossless Senza alcuna perdita di informazione Lossy Con perdita di informazione Slide 2 of XX _ 1

Compressione dei dati Queste tecniche che sono normalmente di ricodificazione si basano su algoritmi molto diversi tra loro ed in funzione dei dati sorgenti da comprimere. Es. Suoni - si può avere perdita di informazione lossy in quanto la percezione umana può fare a meno di parti del segnale senza che ciò comporti un decadimeno apprezzale sulla qualità percepita. Es. Immagini - le compressioni possono essere anche notevoli ma con perdita di informazione poco significativa lossy legato alla percezione. Es. Testo non ci possono essere perdite di dati tipo lossless Es. Programmi non ci possono essere perdite di dati lossless Slide 3 of XX _ Compressione 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 127,255, 255,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, 75,127, Totale di 540 byte 15;127,255# 6;255,127#2;127#8;255,127# 10;127,255#127,0#4;127,255# 5;255,127#1;127#5;127,255#3;0#3;255,127# 10;127,255#2;127,0#0#2;255,127#255# 8;255,127#255#2;0#127#255#127#0#127#75#2;0#127#255#127# 8;127,255#0#127#0#255#127#255#0#75#127#75#2;0#127#255# 4;255,127#127#3;127,255#0#2;127#0#127#255#127#0#2;127,75#127#0#127# 7;127,255#0#2;127#0#2;127,255#0#3;75,127#6;0# 4;127;255#0#3;127#0#255#127#255#0#4;75,127# Per le prime 10 righe si ottiene 300 Byte non compreso 253 compresso N byteoriginale 300 (300 253) Rappotodicom pressio ne R 1, 19 1 84,3% N bytecom presso 253 300 Slide 4 of XX _ 2

Compressione di testo Analizzano dal punto di vista statistico i dati da comprimere ed assegna agli elementi maggiormente presenti una configurazione di bit limitata Codifica iniziale La sequenza è costituita da 1 milione di simboli del tipo [A, C, G, T] A 50%, C 25%, G 12,5%, T 12,5% Codifica normale o di base codificato in 2 milioni di bit A=00 C=01 G=10 T=11 di cui 1000 500 250 250 Ri-codificazione A=0 C=10 G=110 T=111 codifica 1000 >500 500=500 250 < 375 250 < 375 bit usati (1*50% + 2* 25%+ 3 *12,5%+3*12,5%)* 1 = 1,75 milioni di bit 2 (2 1,75) R 1,14 1 87,5% 1,75 2 Slide 5 of XX _ Compressione testi Basati su un vocabolario I re di Francia della dinastia Carolingia sono: Carlo II, Luigi II di Francia, Luigi III di Francia, Carlomanno di Francia, Carlo III detto il grosso, Odo, Carlo III detto il semplice Roberto I di Francia, Rodolfo duca di Borgogna, Luigi IV di Francia, Lotario di Francia, Luigi V di Francia (per un totale di 292 caratteri) indice Parola Ripetizioni 1 di 10 2 Francia 8 3 II 5 4 Luigi 4 5 Carlo 4 6 detto 2 7 il 2 Dizionario è composto da 35 caratteri (con il carattere di separazione) 222 caratteri complessivamente con una compressione pari al 76% 292 (292 222) R 1,32 1 76% 222 292 5 3, 4 3 1 2, 4 3I 1 2, 5manno 1 2, 5 3I 6 7 grosso, Odo, 5 3I 6 7 semplice, Roberto I 1 2, Rodolfo Duca 1 Borgogna, 4 IV 1 2, Lotario 1 2, 4 V 1 2 Composta da 187 caratteri Compressione al 64% di quella originaria Slide 6 of XX _ 3

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica Risoluzione dei problemi Risoluzione di un problema Le azioni che gli esseri umani compiono ogni giorno sono nella maggior parte dei casi finalizzate alla soluzione di problemi in modo consapevole o inconsapevole Le decisioni e le conseguenti azioni intraprese sono dettate da schemi presenti nella nostra mente che si sono venuti formando negli anni sin dalla più piccola età e sono legati agli stimoli che si sono via via proposti alla nostra attenzione. Le attività che svolgiamo possono essere schematicamente identificate in: 1- Conoscenza di come si risolve il problema 2 - Effettiva capacità di risolvere il problema 3 - Capacità di descrivere il procedimento di soluzione del problema Slide 8 of XX _ 4

Istruttore - Esecutore Problema Primo soggetto istruttore Analisi Soluzione analitica Descrizione Soluzione descrittiva Interpretazione Descrizione interpretata Attuazione Soluzione effettiva Secondo soggetto esecutore Slide 9 of XX _ Istruttore Descrizione dell esecuzione del problema: 1- effettuata avendo scomposto il problema nelle sue singole azioni elementari 2 - descrivere ogni azione elementare in modo che non ci sia nessuna ambiguità durante l esecuzione 3 - le azioni elementari devono essere poste in una forma tale che l esecutore sia in grado di comprendere pienamente ciò che deve svolgere nella giusta sequenza delle azioni. Le azioni elementari sono indicate con il termine ISTRUZIONI / AZIONI ELEMENTARI La descrizione è indicata con il termine PROCEDURA EFFETTIVA Slide 10 of XX _ 5

Esecutore La procedura per l esecutore è composta quindi da: 1 - tutte le azioni elementari che l esecutore deve svolgere in modo determinato ed in un tempo finito 2 - è fissato l ordine di esecuzione delle azioni (istruzioni) 3 - è esplicitamente specificato il modo in cui l azione utilizza i risultati prodotti dalle azioni predenti. Dati input AZIONE Dati output Calcolo della superficie di un cerchio / Calcolo della superficie di una figura complessa Slide 11 of XX _ Soggetto istruttore Tale soggetto deve conoscere o definire le capacità dell esecutore al fine di impostare la descrizione dell esecuzione in modo che l esecutore sia perfettamente in grado di svolgere le azioni comprendendo pienamente le operazioni da svolgere. Soggetto esecutore Tale soggetto deve interpretare correttamente le istruzioni ed associare ad ognuna una azione specifica che lo conduca alla soluzione del problema. Slide 12 of XX _ 6

Ambiguità Le ambiguità derivano spesso dal fatto che lo stesso problema può essere risolto secondo procedure diverse o sequenzialità diverse oppure su termini del linguaggio non specifici. Per evitare ciò è necessario: 1 - il linguaggio che l esecutore deve interpretare sia definito in modo completo e non ambiguo (caratteristica sintattica) 2 - l insieme delle azioni che l esecutore è in grado di compiere deve essere definito e tali azioni devono essere elementari per l esecutore (caratteristica pragmatica) 3 - l insieme delle regole di associazione tra i costrutti del linguaggio e azioni deve essere definito e non ambiguo (caratteristica semantica) Slide 13 of XX _ Algoritmo Le soluzioni a problemi per esecutori che siano caratterizzate secondo le indicazioni 1, 2, 3 vengono definiti ALGORITMI Gli algoritmi sono quindi una sequenza finita di istruzioni fornite in un linguaggio definito non ambigue attraverso le quali un essere umano addestrato o una macchina svolgono a partire da informazioni d ingresso un compito al fine di ottenere una soluzione in un tempo finito Slide 14 of XX _ 7

Determinare tra due numeri x ed y il maggiore P 1 - leggi il valore ed assegnalo alla variabile x P 2 - leggi il valore ed assegnalo alla variabile y P 3 calcola la differenza x - y P 4 assegna il risultato alla variabile z P 5 rispondi alla domanda z è maggiore di 0 se la risposta è affermativa salta al punto P 6 altrimenti (risposta negativa) esegui il passo P 7. P 6 stampa la frase Il numero maggiore è seguita dal valore contenuto in x e prosegui con il passo P 8 P 7 stampa la frase Il numero maggiore è seguita dal valore contenuto in y e prosegui con il passo P 8 P 8 termina l esecuzione Slide 15 of XX _ Rappresentazione degli algoritmi La costruzione dell algoritmo per la risoluzione del problema è un passo fondamentale per ottenere al soluzione attraverso un esecutore A questo fine risulta utile porre sotto forma grafica quelli che sono i passi da compiere per passare dalle informazioni di ingresso alle soluzioni o informazioni di uscita. Per questo si utilizza la metodologia descrittiva a diagrammi di flusso. Slide 16 of XX _ 8

Diagramma di flusso Un diagramma di flusso descrive per blocchi funzionali i passi che devono essere effettuati per raggiungere la soluzione. Rappresenta il percorso e tutte le operazioni necessarie, strutturate come singole azioni semplici, che devono essere svolte, sempre e comunque anche da un operatore umano, per giungere al risultato desiderato partendo dalle informazioni identificate come dati di ingresso Slide 17 of XX _ Simbologia Inizio Fine Operazione di Ingresso/Uscita I/O SELEZIONE AZIONE SOTTOPROGRAMMA Unità disco Unità disco Unità nastro Unità stampa Unità Video grafica Slide 18 of XX _ 9

INIZIO CERCA LA MACCHINETTA DEL CAFFE APRENDO GLI SPORTELLI DELLA CUCINA TROVATA? APRI LA MACCHINETTA DEL CAFFE CERCA IL RUBINETTO DELL ACQUA TROVATO? RIEMPI LA MACCHINETTA E PIENA? Slide 19 of XX _ RIEMPIRE CON IL CAFFE CON CUCCHIANI CALIBRATO E PIE? CHIUDI LA MACCHINETTA METTILA SULLA CUCINA A GAS ACCENDI IL FORNELLO ACCESO? CONTA = CONTA + 1 CONTA = 3? CONTROLLA IL RUBINETTO GENERALE CONTA = 0 Slide 20 of XX _ 10

CONTROLLA CHE A USCITO TUTTO E USCITO TUTTO? ATTESA 10 sec CHIUDI IL GAS PRENDI IL NUMERO DI TAZZINE 4 NUMERO = 1 VERSA IL CAFFE NELLA TAZZINA NUMERO E PIENA? NUMERO = NUMERO + 1 PRENDI UN ALTRA TAZZINA NUMERO > 4? FINE PROCESSO Slide 21 of XX _ 11