Rappresentazione delle informazioni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Rappresentazione delle informazioni"

Transcript

1 Rappresentazione delle informazioni Rappresentazione delle informazioni L informatica si occupa di rappresentare ed elaborare informazioni diverse: numeri caratteri audio immagini video I caratteri: ASCII standard Rappresentazione dei caratteri I simboli o caratteri appartenenti ad un alfabeto vengono codificati (cioè rappresentati ) mediante sequenze di bit: una diversa sequenza per ciascun diverso carattere. Uno dei codici più noti e usati è il codice ASCII (American Standard Code for Information Interchange), usa una sequenza di 7 bit per ciascun carattere: ci sono 128 (=2 7 ) sequenze diverse, utilizzate anche per lettere, segni di punteggiatura, cifre decimali, ecc. 1

2 I caratteri: ASCII esteso Dato che l unità elementare di informazione nei calcolatori è il byte (= 8 bit), si è passati ad usare, quasi sempre, il codice ASCII esteso, che usa una sequenza di 8 bit per ciascun carattere degli alfabeti occidentali: ci sono 256 (=2 8 ) sequenze diverse, utilizzate anche per vocali accentate e altre lettere speciali (es. ß tedesca, ç francese) le sequenze con la prima cifra uguale a zero coincidono con il codice ASCII. (Appendice G) I caratteri: ASCII esteso La codifica è: posizione n il primo carattere il secondo l ultimo La sequenza di simboli Ciao viene codificata in ASCII nel modo seguente: C i a o n Le lettere sono rappresentabili in 7 bit. I caratteri: ASCII esteso I primi 32 caratteri del codice ASCII (con codice da 0 a 31) sono caratteri di controllo: 9 tabulatore \t 10 nuova riga \n 13 invio \r I caratteri da 32 a 127 sono caratteri stampabili: 32 spazio da 48 a 57 caratteri numerici, le cifre decimali 0, 1 da 65 a 90, da 97 a 122 caratteri alfabetici (maiuscoli e minuscoli) da 33 a 47, da 58 a 64, da 91 a 96, da 123 a 127 caratteri di interpunzione e simboli speciali. I caratteri: Unicode Per rappresentare i segni grafici utilizzati da tutti gli alfabeti del mondo servono molti più simboli diversi codifica Unicode usa una sequenza di 16 bit per ciascun segno grafico: ci sono (= 2 16 ) sequenze diverse le sequenze con le prime otto cifre uguali a zero coincidono con il codice ASCII esteso. 2

3 I caratteri (codice Unicode) Rappresentazione delle informazioni Il linguaggio Java utilizza Unicode come insieme di simboli; in ogni linguaggio di programmazione i simboli servono per costruire le unità lessicali. Ogni informazione che vogliamo rappresentare è caratterizzata da un valore e da un suo tipo (tipo di dato). Non sempre possiamo o vogliamo rappresentare direttamente il valore, ma vogliamo poterci riferire ad esso tramite un nome. Astrazione Astrazione L evoluzione dei linguaggi di programmazione (basso ad alto livello) ha portato all introduzione del concetto di variabile: la locazione di memoria viene nascosta all utente, che vi accede tramite il nome della variabile. Le operazioni che si possono fare sulla variabile dipendono dal suo tipo: l utente non sa come avviene realmente la somma tra due numeri interi (reali) o il loro confronto. Si ha una astrazione sul dato e sul suo tipo. 3

4 Astrazione L evoluzione successiva dei linguaggi permetterà all utente di inventare dei nuovi tipi di dati, dei nuovi concetti. Tipo di Dato Astratto 1. è un insieme di elementi chiamato dominio 2. ha un nome 3. possiede delle funzioni che operano sul dominio 4. possono esserci costanti che lo caratterizzano. Variabile e Tipi base Variabile e Tipi base Nei corsi di matematica quando scriviamo x R e diciamo x è una variabile reale intendiamo dire che x è un nome che indica un elemento generico dell insieme R dei numeri reali. Nei corsi di informatica con x è una variabile reale intendiamo dire che x è un nome che indica una posizione di memoria che conterrà un elemento generico di R (con R R R). Variabile e Tipi base R insieme dei numeri reali (infinito e continuo). R insieme dei numeri reali rappresentabili nel calcolatore (finito e discreto). La posizione di memoria è caratterizzata dal tipo, che è l insieme da cui la variabile può estrarre i suoi valori 3 reale è diverso da 3 intero 4

5 Variabile e Tipi base Ogni linguaggio ha dei tipi base per rappresentare informazione numerica e non numerica (caratteri, valori logici). Anche il linguaggio Java possiede dei tipi base che non sono tipi di dato astratto, dal momento che sono predefiniti: non sono concetti nuovi, ma sono concetti fondamentali sui quali i concetti nuovi si baseranno. Variabile e Tipi base Tipi base o primitivi (par. 2.1, 2.5) numeri interi byte, short, int, long numeri reali float, double caratteri char logici boolean Definizione di una variabile Sintassi: nometipo nomevariabile; nometipo nomevar1, nomevar2; Esempi. Variabile e Tipi base int n, numeroanni; int dimensione; double area, saldo; boolean errore; char lettera; Variabile e Tipi base Le operazioni che possiamo fare su una variabile sono: accesso : individuare la posizione di memoria ed estrarre il valore (lettura) assegnamento : individuare la posizione di memoria e introdurre il valore (scrittura) 5

6 Variabile e Tipi base Nelle istruzioni di un programma, si ha: accesso: quando la variabile compare in una istruzione e se ne utilizza il valore assegnamento: quando il valore le viene attribuito: lettura del valore in una acquisizione di dati dall esterno in una istruzione di assegnazione (par. 2.2) Assegnazione Assegnazione Sintassi: (par. 2.2) nomevariabile = espressione; Esempi. //con riferimento alle dichiarazioni precedenti n = 3+5; area = 25.67; saldo = 20000; lettera = 'x'; lettera = x ; //Errore Assegnazione Quando una variabile viene definita le viene associata un area di memoria del tipo attribuito con la definizione: int a; double b; a b Non si possono ridefinire le variabili. 6

7 Assegnazione Quando si esegue l assegnazione, il valore viene inserito nell area corrispondente a=3; b=3; 3 3 a Le due aree di memoria sono di tipo diverso e la sequenza di bit contenuta è diversa, anche con uguale numero di bit. b Assegnazione Il simbolo per l istruzione di assegnazione è = NON lo si deve confondere con un simbolo matematico di uguaglianza o di confronto. Il suo significato è: il valore dell espressione a destra del simbolo = viene inserito nella locazione corrispondente alla variabile che sta a sinistra. Nel Pascal, il simbolo è := proprio per distinguerlo dal simbolo di uguaglianza Assegnazione Definizione e assegnazione in un unica istruzione: si può eseguire una assegnazione anche in fase di definizione: int k=25; La definizione di una variabile può essere fatta in un qualunque punto del programma ma deve essere sempre prima del suo uso. Assegnazione Osserviamo queste due assegnazioni e osserviamo che la variabile a è a destra o a sinistra del simbolo di assegnazione: ciò implica un diverso significato per l utilizzo di a: a=5; //assegnamento su a (scrittura) //a è a sinistra k=a; //accesso per a //a è a destra (lettura) 7

8 Assegnazione Osserviamo queste assegnazioni: a = 5; //assegnamento a = a + 1; /*accesso e assegnamento*/ Quanto valea? 5 a = a + 1; 6 In alcuni linguaggi di pseudocodifica, il simbolo per l assegnazione è Assegnazione Nei primi linguaggi le variabili avevano per il tipo una definizione di default. In Java una variabile può essere usata solo se è stata precedentemente definita, ossia se è stata dichiarata con il suo tipo. Esempio. int c=7; c1=c; //Errore: c1 non è definita Il compilatore segnala: cannot find symbol Assegnazione Diversamente da altri linguaggi, in Java una variabile definita in un metodo può essere usata (accesso) solo se è stata precedentemente inizializzata, ossia se ha un valore. Esempio. int c2; a=c2; //Errore: c2 non ha valore Il compilatore segnala: variable c2 might not have been initialized Assegnazione Nell assegnazione si deve rispettare il tipo di dato. Esempio. int m; double y = 23.75; m = y; //Errore: m è intero Il compilatore segnala: possible loss of precision 8

9 Tipo Intero Tipi base Si rappresenta un intervallo limitato, quindi finito, dei numeri interi (par. 4.1) Dominio: Z Z Il nome del dominio varia a seconda del numero di bit destinati alla rappresentazione: si hanno nomi diversi e anche insiemi diversi bit byte byte 8 1 short 16 2 int 32 4 long 64 8 Tipo Intero Il tipo di rappresentazione su n bit è 1 n-1 il primo è il bit del segno, i successivi n-1 sono per il numero. Dal momento che ogni bit assume due valori (0,1), avendo a disposizione n-1 bit si possono rappresentare 2 n-1 valori diversi. Tipo Intero Per il segno del numero si assume: 0 per il positivo 1 per il negativo Il numero 0, che non ha segno, viene scritto con il bit del segno 0 ed è rappresentato da una sequenza di bit tutti nulli. In tale modo, lo zero occupa un posto nell intervallo dei numeri positivi. 9

10 Tipo Intero Si vuole rappresentare la struttura algebrica dell insieme Z dei numeri interi: (Z, +) Z insieme + operazione esiste un elemento neutro, lo zero ogni numero ha un inverso, chiamato opposto L insieme Z è dato dall intervallo [-2 n-1, 2 n-1-1] Tipo Intero I vari domini per gli interi sono: (Cap.4 Tabella 1) byte n=8 [-2 7, 2 7-1] = [-128, 127] short n=16 [-2 15, ] = [-32768, 32767] int n=32 [-2 31, ] long n=64 [-2 63, ] Tipo Intero Le costanti che caratterizzano il dominio sono gli estremi dell intervallo: -2 n-1 e 2 n-1-1. In Java esistono dei nomi che rappresentano questi estremi dell intervallo, e sono legati al nome del tipo: Byte.MIN_VALUE Byte.MAX_VALUE Short.MIN_VALUE Short. MAX_VALUE Integer.MIN_VALUE Integer. MAX_VALUE Long.MIN_VALUE Long. MAX_VALUE Tipo Intero Le operazioni che possiamo fare sono: + somma sottrazione prodotto / divisione (troncata) % resto della divisione Operatori di confronto: < > <= >= ==!= 10

11 Tipo Intero La divisione tra interi è troncata. Esempi. 32 /64 e 1 /2 in aritmetica sono frazioni equivalenti 32 / 64 è 0 nell aritmetica del calcolatore, perché il risultato deve essere intero Se si vuole ottenere il valore corretto, si devono usare costanti reali, indicate dal punto decimale : 32. / Tipo Intero Analogamente con le variabili: int a,b; a/b è troncata double c,d; c/d è reale, con gli eventuali decimali Si può volere una divisione troncata e avere quoziente e resto: 7 /4 1 7 %4 3 Tipo reale Tipo Reale Si rappresenta un intervallo limitato e finito dei numeri reali Dominio: R R Il nome del dominio varia a seconda del numero di bit destinati alla rappresentazione: si hanno nomi diversi e anche insiemi diversi bit byte float 32 4 semplice precisione double 64 8 doppia precisione 11

12 Tipo reale I numeri reali vengono chiamati numeri in virgola mobile, floating point. Secondo la notazione anglosassone la separazione tra parte intera e parte decimale è il punto (nella notazione italiana è la virgola). Quando si moltiplica o si divide un numero per la base 10, la posizione del punto si sposta: = = virgola fissa Tipo reale La notazione scientifica viene scritta in Java utilizzando la lettera E (esponente), che rappresenta il prodotto per la base 10, seguita da un numero intero E E-1 Per la parte intera non si usa la separazione con il punto (in alto) per gruppi di cifre: non ma Tipo reale I numeri reali sono rappresentati in modulo e segno: significa che un numero a e il suo opposto a hanno di diverso solo il bit del segno. Il primo bit è il bit del segno ed è: 0 per i positivi 1 per i negativi I rimanenti bit rappresentano la mantissa e l esponente: 3.25 = mantissa 1 esponente riferito alla base 10 Tipo Reale Il tipo di rappresentazione per i float è con n = 32 bit il primo è il bit del segno, i successivi 8 sono per l esponente, i successivi 23 per la mantissa. Per i double, n = 64, la ripartizione è: 1(segno) 11(esponente) 52(mantissa) 12

13 Tipo Reale Si vuole rappresentare la struttura algebrica dell insieme R dei numeri reali: (R, +, ) R insieme + operazioni esiste un elemento neutro per la somma, lo zero 0 l inverso di a per la somma, opposto -a esiste un elemento neutro per il prodotto, l uno 1 l inverso di a 0 per il prodotto, reciproco 1/a Tipo Reale Oltre agli estremi dell intervallo di rappresentazione (il massimo reale e il suo opposto), dobbiamo conoscere quale è il più piccolo reale positivo: il più piccolo reale distinguibile dallo 0. Avendo a disposizione un numero finito di cifre i numeri reali minori del minimo positivo, sono rappresentati dallo 0. Le cifre decimali a disposizione: float: 6 cifre semplice precisione double: 15 cifre doppia precisione Tipo Reale Le costanti che caratterizzano il dominio sono il minimo positivo e il massimo reale. Anche per i reali le costanti significative sono rappresentate da dei nomi: Float.MIN_VALUE Double.MIN_VALUE Float.MAX_VALUE Double.MAX_VALUE Tipo Reale I numeri reali della macchina rappresentano esattamente se stessi e rappresentano in maniera approssimata un intervallo di numeri reali. I numeri reali della macchina hanno tutti un numero finito di cifre decimali (6, 15), pertanto tutti i numeri con un numero maggiore di cifre non possono essere rappresentati esattamente. 13

14 Tipo Reale Esempio. x = y = x, y R Se abbiamo a disposizione 6 cifre decimali, x e y sono rappresentati esattamente, mentre α = β = saranno approssimati con x e y rispettivamente. Tipo Reale I numeri reali sono approssimati per arrotondamento. Se la cifra che si trascura è allora il numero viene approssimato al reale macchina più piccolo (per difetto); se la cifra è il numero è approssimato al reale macchina più grande (per eccesso): α = è approssimato da y. Tipo Reale I numeri reali della macchina non sono distribuiti in maniera uniforme sulla retta reale: sono più fitti verso il minimo reale e più radi verso il massimo reale. Esempio. a = b = a = b = Tipo Reale I numeri a e b vengono approssimati con a 1 = * 10-2 b 1 = * La settima cifra di a e b (1) che si trascura ha una grandezza diversa: 10-9 in a e 10 5 in b. Il rappresentante a 1 è vicino ad a mentre il rappresentante b 1 è lontano da b. 14

15 Tipo Reale I numeri reali della macchina sono pertanto dei rappresentanti di intervalli, perché approssimano (per eccesso e per difetto) infiniti numeri reali (che non ci stanno ): y è il rappresentante di α α < y : eccesso β β > y : difetto E se ci servissero tutte le cifre di α e di β? Tipo Reale Nell esempio visto abbiamo utilizzato 6 cifre decimali e quindi la semplice precisione; se abbiamo bisogno di più cifre utilizziamo la doppia precisione: definiamo le variabili con il tipo double, con il quale si rappresentano 15 decimali. In Java useremo sempre il tipo double per i reali e il tipo int per gli interi. Tipo Reale L insieme dei numeri del tipo double contiene l insieme dei numeri di tipo float: I double rappresentano un insieme più grande: maxfloat~10 38 maxdouble~ i rappresentanti sono più fitti tra due rappresentanti x e y (float) ci sono molti, ma in quantità finita, numeri esatti (rappresentanti) in doppia precisione Tipo Reale Le operazioni che possiamo fare sono: prodotto / divisione + somma sottrazione Operatori di confronto: < > <= >= ==!= 15

16 Operatori e precedenza Il simbolo della divisione è / (par. 4.4) a + b 2 no, invece (a+b) / 2 Priorità degli operatori aritmetici: (Appendice E) come nell algebra, moltiplicazione e divisione hanno più alta priorità rispetto alla addizione e sottrazione: nell esempio precedente le parentesi sono obbligatorie. Operatori e precedenza Le due scritture producono diversi risultati: 1. (a+b) / 2 2. a+b / 2 1. prima si effettua la somma (a+b) e poi la divisione 2. prima si effettua la divisione b/2 e poi la somma A parità di priorità le operazioni vengono effettuate da sinistra verso destra: 3. a b/c = (a b)/c Interi o reali? Perché ci sono due tipi di numeri: interi e i reali? I reali sono necessari per rappresentare valori con i decimali: lira (intero), euro (reale). Se vogliamo avere una divisione non troncata dobbiamo usare i numeri reali. Gli interi sono più efficienti : occupano meno spazio di memoria, le operazioni tra interi sono più veloci, e non producono errori di arrotondamento (maxint ha 10 cifre). Tipo Carattere 16

17 Tipo Carattere Il nome del tipo è char 2 byte 16 bit L insieme dei caratteri è UNICODE Esempi. char s = '0'; char x = 'a'; Operatori di confronto: < > <= >= ==!= Tipo Logico Il nome del tipo è boolean L insieme è Tipo Logico 1 bit B = {false, true} false 0 true 1 Operatori logici && (and) (or)! (not) Esercizio Problema. Calcolare la somma dei reciproci dei primi 10 numeri naturali. Soluzione. Dobbiamo calcolare la somma /2 + 1/ /10 Ricopiando questa somma in una istruzione, otterremo un risultato corretto? Attenzione: 1 /2 = 0 mentre 1. /2 =

18 Tipo di Dato Astratto Tipo di Dato Astratto I tipi base non sono TDA: sono tipi predefinti che l utente può usare ma non modificare e non può aggiungerne altri. Un TDA deve poter rappresentare un nuovo concetto e si basa su concetti già esistenti. Nei linguaggi orientati agli oggetti si possono definire e realizzare dei nuovi concetti. Insiemi numerici L invenzione dei numeri risale a molti secoli fa: Naturali N = {1, 2, 3, } Interi Z = {., -3, -2, -1, 0, 1, 2, 3.} Razionali Q ={ a/b a,b interi e b 0} Irrazionali es. π, e, Reali R visualizzati sulla retta Complessi C visualizzati sul piano x 2 +1 = 0 ha soluzione? Java non possiede il tipo di dato complex. Tipo di Dato Astratto Vogliamo definire un nuovo concetto: Numero Complesso. Definizione. Indichiamo con C l insieme dei numeri complessi: C = {(a,b) a, b R } Si vuole rappresentare la struttura algebrica dell insieme C dei numeri complessi: (C, +, ) C insieme + operazioni 18

19 Tipo di Dato Astratto Un numero complesso è definito come coppia di reali (i numeri reali sono un concetto già esistente): z = (a, b) La forma algebrica di z C è z = a + i b a parte reale b parte immaginaria i = (0, 1) unità immaginaria Tipo di Dato Astratto Per costruire il nuovo concetto dobbiamo descrivere: la sua forma: quali sono i dati (campi) le sue proprietà: quali operazioni possiamo fare (metodi) Il nuovo concetto viene descritto all interno di una classe: class NuovoConcetto { <descrizione della sua forma> <descrizione delle sue proprietà> } //fine classe Tipo di Dato Astratto Per il TDA NumeroComplesso avremo: class NumeroComplesso{ //forma o campi double partere; double parteim; //proprietà o metodi /* somma, prodotto, sottrazione, divisione,.*/ }//fine classe NumeroComplesso Tipo di Dato Astratto La classe NumeroComplesso dovrà sviluppare gli algoritmi (metodi) che rappresentano le operazioni con le quali si possono usare oggetti di tipo NumeroComplesso: somma, prodotto, Ogni oggetto di tipo NumeroComplesso sarà una realizzazione del nuovo concetto e potrà essere utilizzato tramite i suoi metodi. Un utente della nostra classe NumeroComplesso potrà utilizzare il metodo somma senza conoscere i dettagli descritti nella classe, così come noi eseguiamo la somma di due numeri interi senza sapere come ciò avviene realmente. 19

20 Oggetti, classi, metodi Oggetti, classi, metodi Un oggetto è un entità che si può usare invocando (chiamando) i metodi della sua classe. (par. 2.3) Un metodo è una sequenza di istruzioni che può accedere ai dati dell oggetto. I metodi della classe esprimono la funzionalità dell oggetto e la loro realizzazione è nascosta all utente. Oggetti, classi, metodi Il concetto NuovoConcetto che si va a descrivere nella classe è solo un prototipo : ossia non è funzionante. Per sapere se il nostro concetto è realizzato correttamente è necessario provarlo. Si dovrà pertanto costruire un programma, con un metodo main, che costruisce l oggetto e verifica la correttezza dei suoi metodi. Oggetti, classi, metodi Pertanto per ogni TDA costruiremo una classe di collaudo class ProvaNuovoConcetto{//classe di prova //per la classe NuovoConcetto //metodomain{ /* istruzioni per creare e utilizzare un oggetto di tipo NuovoConcetto */ }//fine main }//fine classe ProvaNuovoConcetto 20

21 Tipo di dati String Tipo di dati String Una stringa è una sequenza di caratteri. Diversamente dai numeri, in Java le stringhe sono oggetti. (par. 4.6) Una costante (letterale) stringa si scrive racchiusa tra virgolette: "benvenuto" e le virgolette non fanno parte della stringa. Letterale o costante letterale: sequenza di simboli che rappresenta un valore di un certo tipo di dato. Tipo di dati String Analogamente agli altri tipi di dato definiamo una stringa e le assegniamo un valore. Il tipo di dato è rappresentato dalla classe String: String nome; //definizione nome = "Maria"; //assegnazione Le stringhe hanno una sintassi diversa dagli altri oggetti. Tipo di dati String String è il nome di una classe: inizia con la maiuscola. Una variabile di tipo String può quindi essere utilizzata richiamando i metodi della sua classe. La lunghezza di una stringa è il numero di caratteri presenti in essa (senza contare le virgolette). Ogni carattere ha una sua posizione, o indice, all interno della stringa. 21

22 Tipo di dati String La posizione dei caratteri nelle stringhe viene numerata a partire da 0 (deriva da C e C++). F i l i p p o La posizione dell ultimo carattere di una stringa corrisponde alla lunghezza della stringa meno 1. la lettera o di Filippo è in posizione 6 = 7-1 Tipo di dati String Per sapere di quanti caratteri è composta una stringa, utilizziamo il metodo length. (par. 2.3) Come si invoca un metodo (che agisce su oggetti)? nomeoggetto.nomemetodo(parametri); String saluto = "Ciao"; nome = "Filippo"; Tipo di dati String Il metodo length non ha parametri e restituisce un valore di tipo int. Pertanto memorizziamo questo valore in una variabile di tipo int: int n1 = saluto.length(); //n1=4 int n2 = nome.length(); //n2=7 //visualizziamo i valori di n1 e n2 System.out.println("n1= " + n1 + " n2= " + n2); Tipo di dati String Concatenazione tra stringhe. Le stringhe si possono concatenare utilizzando l operatore + String s1 = "Ciao"; String s2 = "mondo"; String s3 = s1 + s2; Il valore memorizzato in s3 è "Ciaomondo" Se si voglio gli spazi, questi devono essere inseriti esplicitamente: String s4 = s1 + " " + s2 22

23 Tipo di dati String Se una delle espressioni a destra o sinistra dell operatore + è una stringa, l altra espressione viene convertita a stringa e si ha la concatenazione. Questa concatenazione è utile nelle stampe: System.out.print("area = "); System.out.println(25.6); System.out.println("area = " ); Tipo di dati String Una stringa di lunghezza zero, che non contiene caratteri, si chiama stringa vuota e si indica con due caratteri virgolette consecutivi, senza spazi interposti: String vuota = ""; Poiché il metodo length restituisce un valore numerico, tale valore di ritorno può essere passato come parametro al metodoprintln: System.out.println(vuota.length()); //stampa 0 Tipo di dati String Vogliamo estrarre una sottostringa da una stringa data, utilizziamo il metodo substring: oggettostringa.substring(n1, n2); il primo parametro di substring è la posizione del primo carattere che si vuole estrarre; il secondo parametro è la posizione successiva all ultimo carattere che si vuole estrarre (il primo che non si vuole). Esempio. Tipo di dati String String saluto1 = "Ciao mondo!"; String subs1 = saluto1.substring(0,4); // subs1 contiene "Ciao" Il metodo restituisce una nuova stringa. La differenza tra i due parametri di substring corrisponde alla lunghezza della sottostringa estratta: la lunghezza disubs1 è 4 =

24 Tipo di dati String String subs2 = saluto1.substring(5,6); // subs2 contiene "m" di lunghezza 1 Attenzione: "m" è una stringa non un carattere. Il metodo substring può essere anche invocato con un solo parametro che indica il primo da estrarre; si estraggono i rimanenti fino alla fine: String subs3 = saluto1.substring(7); // subs3 contiene "ndo!" Tipo di dati String Metodo replace: ha due parametri di tipo stringa e restituisce una stringa dove è stato sostituito il primo con il secondo. String nome1 = "Maria"; String nome2 = nome1.replace("i","t"); //nome2 è "Marta" Metodi touppercase e tolowercase: convertono tutto in maiuscolo e in minuscolo rispettivamente. Tipo di dati String I metodi visti non modificano la stringa con la quale si invoca il metodo, ma restituiscono una nuova stringa (parametro di ritorno). Nessun metodo della classe String modifica l oggetto con cui viene invocato. Per tale motivo si dice che gli oggetti di tipo String sono oggetti immutabili. Tipo di dati String Se si fornisce un parametro errato a substring, il programma viene compilato correttamente, ma viene generato un errore in esecuzione. Esempio. public class Errore{ public static void main (String[] arg){ String nome = "Filippo"; String nome1 = nome.substring(5,10); System.out.println(nome1);} } 24

25 Tipo di dati String Questo errore non viene segnalato dal compilatore, ma si ha un errore durante l esecuzione del programma, che si interrompe segnalando: StringIndexOutOfBoundsException Si tratta di un errore logico, di cui però ci si accorge dato che l esecuzione viene interrotta. Sequenze di escape Come possiamo stampare una stringa che contiene delle virgolette? Ciao, "Mondo"! System.out.println("Ciao, "Mondo"!"); //ERRATO Il compilatore identifica le seconde virgolette come la fine della prima stringa "Ciao, ", ma poi non capisce il significato della parola Mondo. Si deve inserire una barra rovesciata \ (backslash) prima delle virgolette all interno della stringa System.out.println ("Ciao, \"Mondo\"!"); Sequenze di escape Il carattere backslash all interno di una stringa non rappresenta se stesso, ma si usa per codificare altri caratteri: sequenza di escape (di uscita). Per inserire veramente un carattere backslash in una stringa, si usa la sequenza di escape \\ Per scrivere parole italiane con lettere accentate senza avere a disposizione una tastiera italiana, si inserisce \u seguito dalla codifica Unicode del carattere. Esempio. Stampare la parola Perché System.out.println("Perch\u00E9"); Esercizio Dato un gruppo di tre parole, utilizzando i metodi visiti, costruirne l acronimo. Esempio. Date le parole random access memory, costruire l acronimo RAM. Soluzione. Dobbiamo estrarre da ogni parola la sottostringa iniziale di lunghezza 1, concatenarle tra loro e trasformarle poi in maiuscolo. 25

26 Esercizio public class Acronimo{//costruzione acronimo public static void main(string[] arg){ String parola1 = "random"; String parola2 = "access"; String parola3 = "memory"; // estrai le iniziali String tmp = parola1.substring(0, 1) + parola2.substring(0, 1) + parola3.substring(0, 1); // converti in maiuscolo String acro = tmp.touppercase(); System.out.println("L'acronimo e' " + acro); }//fine main }//fine main 26

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 05 La rappresentazione dell informazione Carla Limongelli Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ La rappresentazione

Dettagli

LA RAPPRESENTAZIONE DELLE INFORMAZIONI

LA RAPPRESENTAZIONE DELLE INFORMAZIONI ISTITUTO TECNICO E LICEO SCIENTIFICO TECNOLOGICO ANGIOY LA RAPPRESENTAZIONE DELLE INFORMAZIONI Prof. G. Ciaschetti DATI E INFORMAZIONI Sappiamo che il computer è una macchina stupida, capace di eseguire

Dettagli

7 : I DATI E LA LORO STRUTTURA NELLA PROGRAMMAZIONE

7 : I DATI E LA LORO STRUTTURA NELLA PROGRAMMAZIONE 7 : I DATI E LA LORO STRUTTURA NELLA PROGRAMMAZIONE TIPO DI DATO Un tipo di dato è una entità caratterizzata dai seguenti elementi: un insieme X di valori che raprresenta il dominio del tipo di dato; un

Dettagli

Tipo intero. Esempio. Tipo intero: operatori. Programma PortaMonete.java. Tipi base o primitivi

Tipo intero. Esempio. Tipo intero: operatori. Programma PortaMonete.java. Tipi base o primitivi Tipo intero Tipi base o primitivi Tipi interi: int, byte, short, long Tipi float: float, double Caratteri: char Tipo booleano: boolean Operatori numerici e logici La parola chiave int definisce una variabile

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 2 Rappresentazione delle informazioni: numeri e caratteri 1 Codice La relazione che associa ad ogni successione ben formata di simboli di

Dettagli

Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

Dettagli

Tipi di dato-prima parte

Tipi di dato-prima parte Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) Tipi di dato-prima parte Ing. Agnese Pinto 1 di 15 Tipi di dato Sommario Tipi di dato Classificazione dei tipi di dato Tipi

Dettagli

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità.

CODIFICA BINARIA. ... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità. I METODI DI NUMERAZIONE I numeri naturali... sono rappresentati ricorrendo a simboli che sintezzano il concetto di numerosità. Il numero dei simboli usati per valutare la numerosità costituisce la base

Dettagli

Rappresentazione di informazioni con un alfabeto finito

Rappresentazione di informazioni con un alfabeto finito Rappresentazione di informazioni con un alfabeto finito Sia A = { a 1,, a k } un insieme (alfabeto) di k simboli, detti anche lettere. Quante sono le sequenze composte da n simboli (anche ripetuti) di

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

ALGEBRA BOOLEANA FONDAMENTI DI INFORMATICA 1. Algebra di Boole. Definizione NOT, AND, OR

ALGEBRA BOOLEANA FONDAMENTI DI INFORMATICA 1. Algebra di Boole. Definizione NOT, AND, OR Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica, Chimica, Elettrica e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011 Docente: Gian

Dettagli

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015 Java:Struttura di Programma Fabio Scanu a.s. 2014/2015 Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle

Dettagli

2. Codifica dell informazione

2. Codifica dell informazione 2. Codifica dell informazione Codifica Una codifica è una regola per associare in modo univoco i valori di un dato da codificare con sequenze di simboli. La corrispondenza definita dalla codifica è arbitraria,

Dettagli

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

Codifica dei numeri. Rappresentazione dell informazione

Codifica dei numeri. Rappresentazione dell informazione Rappresentazione dell informazione Rappresentazione informazione Elementi di aritmetica dei computer Organizzazione della memoria e codici correttori Salvatore Orlando Differenza tra simbolo e significato

Dettagli

Rappresentazione binaria dei numeri negativi

Rappresentazione binaria dei numeri negativi Introduzione all Informatica 1 Conversione decimale binario (continuazione) La conversione di un numero decimale (es. 112) in binario si effettua tramite l algoritmo della divisione, dividendo successivamente

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dell informazione negli elaboratori Informazione e computer Si può rappresentare l informazione attraverso varie forme: Numeri Testi Suoni Immagini 0001010010100101010 Computer Cerchiamo di capire come tutte queste informazioni possano essere

Dettagli

Rappresentazione dell informazione Codifica Binaria

Rappresentazione dell informazione Codifica Binaria Fondamenti di Informatica Rappresentazione dell informazione Codifica Binaria Fondamenti di Informatica - D. Talia - UNICAL 1 Rappresentazione dell informazione Tutta l'informazione in un calcolatore è

Dettagli

Corso di Programmazione I dati nei linguaggi di programmazione Tipi Semplici. I dati nei linguaggi di programmazione. Dati. Dott.

Corso di Programmazione I dati nei linguaggi di programmazione Tipi Semplici. I dati nei linguaggi di programmazione. Dati. Dott. Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione I dati nei linguaggi di programmazione Tipi Semplici Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB 1/49

Dettagli

Appunti di Informatica 1. Gianluca Rossi

Appunti di Informatica 1. Gianluca Rossi Appunti di Informatica 1 Gianluca Rossi Versione maggio 2011 Indice 1 Algoritmi, macchine e linguaggi di programmazione 3 1.1 La macchina di Von Neumann........................ 5 1.2 Dal linguaggio macchina

Dettagli

Informatica Generale 02 - Rappresentazione numeri razionali

Informatica Generale 02 - Rappresentazione numeri razionali Informatica Generale 02 - Rappresentazione numeri razionali Cosa vedremo: Rappresentazione binaria dei numeri razionali Rappresentazione in virgola fissa Rappresentazione in virgola mobile La rappresentazione

Dettagli

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato

Dettagli

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

Dettagli

La velocità di una carovana

La velocità di una carovana Programmazione A.A. 2002-03 I linguaggio Java ( Lezione X, Parte I ) Il primo programma Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di Catania e-mail

Dettagli

Elementi di Informatica. ( Lezione II, parte I ) Sistemi di numerazione: binario, ottale ed esadecimale

Elementi di Informatica. ( Lezione II, parte I ) Sistemi di numerazione: binario, ottale ed esadecimale Elementi di Informatica ( Lezione II, parte I ) Sistemi di numerazione: binario, ottale ed esadecimale Il sistema di numerazione posizionale decimale Nella numerazione posizionale ogni cifra del numero

Dettagli

Logica e codifica binaria dell informazione

Logica e codifica binaria dell informazione Politecnico di Milano Corsi di Laurea in Ingegneria Matematica e Ingegneria Fisica Dipartimento di Elettronica ed Informazione Logica e codifica binaria dell informazione Anno Accademico 2002 2003 L. Muttoni

Dettagli

Esempio. Esempio. Linguaggio di Programmazione. Linguaggi di programmazione. Linguaggio di computazione. Linguaggi di programmazione

Esempio. Esempio. Linguaggio di Programmazione. Linguaggi di programmazione. Linguaggio di computazione. Linguaggi di programmazione Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Problema e metodologie di progetto Linguaggio C: Introduzione Monica Mordonini Problema e Algoritmo

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Programmazione in Java (I modulo) Lezione 3: Prime nozioni

Programmazione in Java (I modulo) Lezione 3: Prime nozioni Programmazione in Java (I modulo) Lezione 3: Prime nozioni La volta scorsa Abbiamo avuto un primo assaggio! Abbiamo visto come usare l editor per scrivere un programma Java. Abbiamo analizzato riga per

Dettagli

Corso basilare di programmazione «

Corso basilare di programmazione « Parte iv Corso basilare di programmazione Introduzione................................................................... 601 Programma didattico.......................................................

Dettagli

Megabyte (MB) = 1024KB 1 milione di Byte (e.g. un immagine di 30MB) Gigabyte (GB) = 1024MB 1 miliardo di Byte (e.g. un hard disk da 80GB)

Megabyte (MB) = 1024KB 1 milione di Byte (e.g. un immagine di 30MB) Gigabyte (GB) = 1024MB 1 miliardo di Byte (e.g. un hard disk da 80GB) Unità di misura per l informatica Un bit (b) rappresenta una cifra binaria. E l unità minima di informazione. Un Byte (B) è costituito da 8 bit. Permette di codificare 256 entità di informazione distinte

Dettagli

Codifica binaria e algebra di Boole

Codifica binaria e algebra di Boole Codifica binaria e algebra di Boole Corso di Programmazione A.A. 2008/09 G. Cibinetto Contenuti della lezione Codifica binaria dell informazione Numeri naturali, interi, frazionari, in virgola mobile Base

Dettagli

Corso Programmazione 1 Capitolo 01: Concetti Elementari

Corso Programmazione 1 Capitolo 01: Concetti Elementari Corso Programmazione 1 Capitolo 01: Concetti Elementari Docente: Roberto Sebastiani - roberto.sebastiani@unitn.it Esercitatori: Mario Passamani - mario.passamani@unitn.it Alessandro Tomasi - alessandro.tomasi@unitn.it

Dettagli

Corso: Fondamenti Informatica I Prof. Paolo Nesi A.A. 2002/2003

Corso: Fondamenti Informatica I Prof. Paolo Nesi A.A. 2002/2003 Dispense Introduzione al calcolatore Corso: Fondamenti Informatica I Prof. Paolo Nesi A.A. 2002/2003 Nota: Queste dispense integrano e non sostituiscono quanto scritto sul libro di testo. 1 Sistemi di

Dettagli

Introduzione all Informatica

Introduzione all Informatica Introduzione all Informatica Lezione 4 Davide Di Ruscio Dipartimento di Informatica Università degli Studi dell Aquila diruscio@di.univaq.it Nota Questi lucidi sono tratti dal materiale distribuito dalla

Dettagli

Indice. 1 Rappresentazione dei dati... 3

Indice. 1 Rappresentazione dei dati... 3 INSEGNAMENTO DI INFORMATICA DI BASE LEZIONE II CODIFICA DELL'INFORMAZIONE PROF. GIOVANNI ACAMPORA Indice 1 Rappresentazione dei dati... 3 1.1. Rappresentazione dei numeri... 3 1.1.1 Rappresentazione del

Dettagli

Rappresentazione e Memorizzazione dei Dati

Rappresentazione e Memorizzazione dei Dati Rappresentazione e Memorizzazione dei Dati Giuseppe Nicosia CdL in Matematica (Laurea Triennale) Facoltà di Scienze MM.FF.NN. Università di Catania Bit e loro Memorizzazione Definizioni Algoritmo: una

Dettagli

Alcune regole di base per scrivere un programma in linguaggio C

Alcune regole di base per scrivere un programma in linguaggio C Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza

Dettagli

Codifica binaria dei numeri

Codifica binaria dei numeri Codifica binaria dei numeri Caso più semplice: in modo posizionale (spesso detto codifica binaria tout court) Esempio con numero naturale: con 8 bit 39 = Codifica in virgola fissa dei numeri float: si

Dettagli

Sistemi di numerazione: generalità

Sistemi di numerazione: generalità Sistemi di numerazione: generalità Nel corso della storia sono stati introdotti diversi sistemi di numerazione, dettati di volta in volta dalle specifiche esigenze dei vari popoli. Poiché ogni numero maggiore

Dettagli

Rappresentazione digitale

Rappresentazione digitale I BIT POSSONO RAPPRESENTARE TUTTO Tutta l informazione interna ad un computer è codificata con sequenze di due soli simboli : 0 e 1 è facile realizzare dispositivi elettronici che discriminano fra due

Dettagli

Corso basilare di programmazione

Corso basilare di programmazione Parte vi Corso basilare di programmazione Introduzione............................................ 947 Programma didattico.................................. 947 Strumenti per la compilazione..........................

Dettagli

L'informazione e la sua codifica

L'informazione e la sua codifica L'informazione e la sua codifica Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Informatica e telecomunicazione Cos è l informatica informatica? lo studio sistematico degli

Dettagli

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015 COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio Non si possono consultare manuali, appunti e calcolatrici. Esercizio 1: [3 punto] Rappresentare i numeri 36 e 91 (in base 10) in notazione binaria

Dettagli

Tecnologia dell'informazione e della Comunicazione (TIC) Modulo 2: Informazione, dati e codifica

Tecnologia dell'informazione e della Comunicazione (TIC) Modulo 2: Informazione, dati e codifica Tecnologia dell'informazione e della Comunicazione (TIC) Modulo 2: Informazione, dati e codifica Informazione: è lo scambio di conoscenza tra due o più persone nonché il significato che le persone coinvolte

Dettagli

Capra, Lanzavechia, Rosti 1

Capra, Lanzavechia, Rosti 1 Laboratorio di Abilità Informatiche http://dcssi.istm.cnr.it/lanzavecchia/do cumenti/lodi.htm Salvatore Lanzavecchia Dipartimento di Chimica Strutturale Via G. Venezian 21 20133 Milano E-mail: labinf01@unimi.it

Dettagli

Codifica dell informazione

Codifica dell informazione Codifica dell informazione Il calcolatore memorizza ed elabora vari tipi di informazioni Numeri, testi, immagini, suoni Occorre rappresentare tale informazione in formato facilmente manipolabile dall elaboratore

Dettagli

L informatica comprende:

L informatica comprende: Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione

Dettagli

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896 2 Esercizio 2.2 La rappresentazione esadecimale prevede 16 configurazioni corrispondenti a 4 bit. Il contenuto di una parola di 16 bit può essere rappresentato direttamente con 4 digit esadecimali, sostituendo

Dettagli

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch. Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE Comunicazione importante dalla prossima settimana, la lezione del venerdì si terrà: dalle 15:00 alle 17.15 in aula 311 l orario

Dettagli

Alfabeto ed elementi lessicali del linguaggio C

Alfabeto ed elementi lessicali del linguaggio C Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2015-2016 Alfabeto ed elementi lessicali del linguaggio C Pietro Di Lena - pietro.dilena@unibo.it s t a t i c s h o r t l e g s ; i n

Dettagli

La codifica dell informazione

La codifica dell informazione La codifica dell informazione Parte I Sui testi di approfondimento: leggere dal Cap. del testo C (Console, Ribaudo):.,. fino a pg.6 La codifica delle informazioni Un calcolatore memorizza ed elabora informazioni

Dettagli

Rappresentazione delle informazioni

Rappresentazione delle informazioni Rappresentazione delle informazioni Abbiamo informazioni (numeri, caratteri, immagini, suoni, video... ) che vogliamo rappresentare (e poter elaborare) in un calcolatore. Per motivi tecnologici un calcolatore

Dettagli

Base generica: B A = {... }, con A = B, sequenze di n simboli (cifre) c n

Base generica: B A = {... }, con A = B, sequenze di n simboli (cifre) c n Rappresentare le informazioni con un insieme limitato di simboli (detto alfabeto A) in modo non ambiguo (algoritmi di traduzione tra codifiche) Esempio: numeri interi assoluti Codifica decimale (in base

Dettagli

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

Programmazione Java. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 3. Alfonso Miola Settembre 2007

Programmazione Java. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 3. Alfonso Miola Settembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 3 Programmazione Java Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmazione Java 1 Contenuti

Dettagli

Informazione analogica e digitale

Informazione analogica e digitale L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica

Dettagli

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione basata sul campo d utilizzo. I principali package sono:

Dettagli

Struttura di un programma Java

Struttura di un programma Java Struttura di un programma Java Un programma in Java è un insieme di dichiarazioni di classi. Una classe non può contenere direttamente delle istruzioni, ma può contenere la dichiarazione di metodi, che

Dettagli

Sistemi di Numerazione Binaria NB.1

Sistemi di Numerazione Binaria NB.1 Sistemi di Numerazione Binaria NB.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato

Dettagli

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013 Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013 In questo documento vengono illustrate brevemente le operazioni aritmetiche salienti e quelle logiche ad esse strettamente collegate.

Dettagli

Numerazione binaria e rappresentazione delle informazioni

Numerazione binaria e rappresentazione delle informazioni Numerazione binaria e rappresentazione delle informazioni Info Sito del corso: http://home.dei.polimi.it/amigoni/informaticab.html Nicola Basilico, nicola.basilico@gmail.com Problema Abbiamo informazioni

Dettagli

Dati testuali. Caratteri e stringhe. Tipi di dato testuali. Dati testuali. Il sistema dei tipi C. Rappresentazione dei testi

Dati testuali. Caratteri e stringhe. Tipi di dato testuali. Dati testuali. Il sistema dei tipi C. Rappresentazione dei testi Tipi di dato testuali Caratteri Stringhe Caratteri e stringhe 5 Tipi di dato testuali I programmi visti finora erano in grado di elaborare esclusivamente informazioni numeriche Numeri eri (), numeri reali

Dettagli

ESERCIZI DI PREPARAZIONE E

ESERCIZI DI PREPARAZIONE E ESERCIZI DI PREPARAZIONE E CONSOLIDAMENTO PER I FUTURI STUDENTI DEL PRIMO LEVI si campa anche senza sapere che cos è un equazione, senza sapere suonare uno strumento musicale, senza conoscere il nome del

Dettagli

INFORMATICA. Automa TRATTAMENTO AUTOMATICO DELLE INFORMAZIONI

INFORMATICA. Automa TRATTAMENTO AUTOMATICO DELLE INFORMAZIONI Automa L automa è un sistema, che imita il comportamento umano, in grado di ricevere informazioni dall'esterno (input), reagire alle stesse elaborandole (processing), e inviare informazioni di nuovo all'esterno

Dettagli

Richiesta pagina PHP (es: index.php)

Richiesta pagina PHP (es: index.php) PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con

Dettagli

I SISTEMI DI NUMERAZIONE

I SISTEMI DI NUMERAZIONE Istituto di Istruzione Superiore G. Curcio Ispica I SISTEMI DI NUMERAZIONE Prof. Angelo Carpenzano Dispensa di Informatica per il Liceo Scientifico opzione Scienze Applicate Sommario Sommario... I numeri...

Dettagli

ISTITUZIONI DI MATEMATICHE E FONDAMENTI DI BIOSTATISTICA. 2. Insiemi numerici. A. A. 2014-2015 L.Doretti

ISTITUZIONI DI MATEMATICHE E FONDAMENTI DI BIOSTATISTICA. 2. Insiemi numerici. A. A. 2014-2015 L.Doretti ISTITUZIONI DI MATEMATICHE E FONDAMENTI DI BIOSTATISTICA 2. Insiemi numerici A. A. 2014-2015 L.Doretti 1 INSIEMI NUMERICI rappresentano la base su cui la matematica si è sviluppata costituiscono le tappe

Dettagli

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri

Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri 1 Da base 2 a base 10 I seguenti esercizi richiedono di convertire in base 10 la medesima stringa binaria codificata rispettivamente

Dettagli

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi: Modulo 8 Elettronica Digitale Contenuti: Introduzione Sistemi di numerazione posizionali Sistema binario Porte logiche fondamentali Porte logiche universali Metodo della forma canonica della somma per

Dettagli

2.12 Esercizi risolti

2.12 Esercizi risolti Codifica dell'informazione 55 Lo standard IEEE prevede cinque cause di eccezione aritmetica: underflow, overflow, divisione per zero, eccezione per inesattezza, e eccezione di invalidità. Le eccezioni

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

LA NUMERAZIONE BINARIA

LA NUMERAZIONE BINARIA LA NUMERAZIONE BINARIA 5 I SISTEMI DI NUMERAZIONE Fin dalla preistoria l uomo ha avuto la necessità di fare calcoli, utilizzando svariati tipi di dispositivi: manuali (mani, bastoncini, sassi, abaco),

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Algoritmo = Dati e Azioni Sistema numerico binario Rappresentazioni di numeri binari Rappresentazione in modulo e segno

Algoritmo = Dati e Azioni Sistema numerico binario Rappresentazioni di numeri binari Rappresentazione in modulo e segno Algoritmo = Dati e Azioni Dati: Numeri (naturali, interi, reali, ) Caratteri alfanumerici (a, b, c, ) Dati logici (vero, falso) Vettori di elementi, matrici, ([1,2,3], [[1,1],[1,2], ]) Azioni o istruzioni:

Dettagli

Aritmetica: operazioni ed espressioni

Aritmetica: operazioni ed espressioni / A SCUOLA DI MATEMATICA Lezioni di matematica a cura di Eugenio Amitrano Argomento n. : operazioni ed espressioni Ricostruzione di un abaco dell epoca romana - Museo RGZ di Magonza (Germania) Libero da

Dettagli

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO SISTEMI DI NUMERAZIONE DECIMALE E BINARIO Il sistema di numerazione decimale (o base dieci) possiede dieci possibili valori (0, 1, 2, 3, 4, 5, 6, 7, 8 o 9) utili a rappresentare i numeri. Le cifre possiedono

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri. Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri. A partire da questa lezione, ci occuperemo di come si riescono a codificare con sequenze binarie, quindi con sequenze di 0 e 1,

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p. 3/43 M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p.

Dettagli

Lezione 2: Codifica binaria dell informazione. Codifica binaria

Lezione 2: Codifica binaria dell informazione. Codifica binaria Lezione 2: Codifica binaria dell informazione Codifica binaria Elaborazione di dati binari Materiale didattico Lucidi delle lezioni, disponibili al sito: http://wwwinfo.deis.unical.it/~irina Oppure sul

Dettagli

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione Fondamenti di Informatica Michele Ceccarelli Università del Sannio ceccarelli@unisannio.it Angelo Ciaramella DMI-Università degli

Dettagli

Rappresentazione binaria

Rappresentazione binaria Rappresentazione binaria DOTT. ING. LEONARDO RIGUTINI RICERCATORE ASSOCIATO DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT

Dettagli

Alessandro Pellegrini

Alessandro Pellegrini Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

la scienza della rappresentazione e della elaborazione dell informazione

la scienza della rappresentazione e della elaborazione dell informazione Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione

Dettagli

Indice. Introduzione. I tipi aritmetici. Variabili e Tipi Fondamentali in C++ (CAP 2, parte I) Alberto Garfagnini e Marco Mazzocco A.A.

Indice. Introduzione. I tipi aritmetici. Variabili e Tipi Fondamentali in C++ (CAP 2, parte I) Alberto Garfagnini e Marco Mazzocco A.A. Variabili e Tipi Fondamentali in C++ (CAP 2, parte I) Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 2014/2015 Indice Tipi semplici propri del linguaggio Variabili Tipi composti

Dettagli

90.1 Sistemi di numerazione. 90.1.1 Sistema decimale. 605 Capitolo 90 Dai sistemi di numerazione all organizzazione della memoria

90.1 Sistemi di numerazione. 90.1.1 Sistema decimale. 605 Capitolo 90 Dai sistemi di numerazione all organizzazione della memoria 605 Capitolo 90 Dai sistemi di numerazione all organizzazione della memoria 90.1 Sistemi di numerazione.................................................... 605 90.1.1 Sistema decimale..................................................

Dettagli

Iprogrammi scritti in Java sono formati da Classi che

Iprogrammi scritti in Java sono formati da Classi che Capitolo 3. Pesci e Animali Domestici Le Classi di Java Translated by Francesco Orciuoli Iprogrammi scritti in Java sono formati da Classi che rappresentano gli oggetti del mondo reale. Sebbene le persone

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione La Codifica dell informazione (parte 1) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente:

Dettagli

Sistemi di numerazione: binario, ottale ed esadecimale

Sistemi di numerazione: binario, ottale ed esadecimale Sistemi di numerazione: binario, ottale ed esadecimale Codifica binaria dell Informazione Bit Byte Kilobyte Megabyte Gigabyte 0/1 (si/no) 00010010 (8 bit) 2 10 = 1024 byte 2 20 ~ 1.000.000 byte 2 30 ~

Dettagli

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira Appunti del corso

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira Appunti del corso FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira Appunti del corso 4 Introduzione alla programmazione in linguaggio C Indice 1. Sviluppo del software 2. Sistema operativo 3. Linguaggi di basso livello

Dettagli