Semantica operazionale dei linguaggi di Programmazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Semantica operazionale dei linguaggi di Programmazione"

Transcript

1 Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P. Mancarella e F. Turini Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.1/51

2 Oggetti sintattici Nella prima parte del corso abbiamo visto alcuni strumenti per definire formalmente dei linguaggi Abbiamo visto come le regole di una grammatica libera dal contesto non ambigua diano una struttura ben precisa ad ogni stringa de linguaggio Tale struttura è ricorsiva se il linguaggio non è banale (finito) Tale struttura è completamente rappresentata dall albero di derivazione Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.2/51

3 Oggetti sintattici Abbiamo più volte sottolineato il fatto che le stringhe di un linguaggio sono di base oggetti simbolici puri Non hanno un significato particolare associato, a parte quello di essere stringhe formate con certi simboli Siamo noi che diamo loro un significato a seconda del contesto in cui le usiamo Tale significato lo chiameremo semantica del linguaggio Possiamo assegnare infinite semantiche ad uno stesso linguaggio! Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.3/51

4 Funzioni di valutazione semantica In un contesto informale il significato di una parola o di una frase può essere ambiguo Nel nostro ambito vogliamo la massima precisione Assegneremo la semantica in maniera formale Definiremo in maniera rigorosa delle funzioni che associano ad ogni stringa del linguaggio il relativo significato Il significato sarà un elemento di un certo dominio semantico Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.4/51

5 Domini semantici Se gli oggetti sintattici sono definiti precisamente, altrettanto vogliamo per gli oggetti semantici Utilizzeremo come domini semantici gli oggetti matematici: Insiemi con relative operazioni: numeri naturali con +,,... Funzioni parziali o totali fra domini semantici Strutture: pile di funzioni, alberi, Le funzioni di valutazione semantica saranno definite in maniera formale Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.5/51

6 Stringhe di cifre Facciamo il primo esempio di funzione di valutazione semantica Consideriamo gli elementi della categoria sintattica Num Sono stringhe formate da cifre decimali Qual è il loro significato? A noi risulta naturale pensare ai numeri naturali, perché questa è la semantica che quasi sempre viene assegnata loro Ma tali stringhe sono solo una possibile rappresentazione dei numeri naturali! Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.6/51

7 Stringhe di cifre Formalmente ciò che lega una stringa di cifre decimali a un numero naturale è una funzione che associa ad ogni stringa un certo numero naturale Questa funzione è un esempio di funzione di valutazione semantica: lega oggetti sintattici a elementi di un certo dominio semantico Vediamo come può essere definita formalmente tale funzione Sappiamo che il sistema di numerazione in base dieci funziona in questo modo: La stringa 134 rappresenta il numero = Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.7/51

8 Formalizziamo Indichiamo con n,n,... elementi della categoria sintattica Num, cioè stringhe generate dalla grammatica Num ::= Num Cif Cif Cif ::= Indichiamo con n,n,... numeri naturali: IN = {0,1,2,3,4,5,...} Definiamo una funzione η:num IN che lega ad ogni stringa il numero naturale denotato Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.8/51

9 Definizione di η La funzione η può essere convenientemente definita in maniera ricorsiva utilizzando la struttura ricorsiva a sinistra suggerita dalla grammatica: η(0) = 0 η(1) = 1... η(9) = 9 η(nc) = (η(n) 10) + η(c) Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.9/51

10 Altre rappresentazioni I numeri naturali possono avere un numero infinito di rappresentazioni sintattiche! Ad esempio possiamo utilizzare una notazione binaria in cui i simboli sono le lettere dell alfabeto {z,u} La grammatica che usiamo è: Binary ::= Bit Binary Bit Bit ::= z u Possiamo definire in maniera analoga alla precedente una funzione che associa a queste stringhe un numero naturale: η :Binary IN Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.10/51

11 Altre rappresentazioni Basta associare a z il numero 0, ad u ul numero 1 e poi utilizzare il sistema binario di rappresentazione: zuzz rappresenta = 4 η (z) = 0 η (u) = 1 η (xb) = (η (x) 2) + η (b) Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.11/51

12 Applicazione di η η (zuzz) = (η (zuz) 2) + η (z) = (η (zuz) 2) +0 = (((η (zu) 2) + η (z)) 2) +0 = (((η (zu) 2) +0) 2) +0 = (((((η (z) 2) + η (u)) 2) +0) 2) +0 = (((((0 2) +1) 2) +0) 2) +0 = ((((0 +1) 2) +0) 2) +0 = (((1 2) +0) 2) +0 = ((2 +0) 2) +0 = (2 2) +0 = 4 +0 = 4 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.12/51

13 Espressioni Definiamo formalmente l associazione fra espressioni aritmetiche e loro valore La definizione formale di questa funzione di valutazione semantica sarà il primo passo verso il nostro obiettivo finale Ci concentreremo attentamente su tutte le fasi di questo esempio Nel seguito infatti lo schema di definizione sarà sempre lo stesso Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.13/51

14 Sintassi Abbiamo già visto come si scrive una grammatica per le espressioni con operatori a cui è assegnata una precedenza e una regola di associatività Tali regole si riflettono sull albero di derivazione che rappresenta precisamente la struttura della stringa. Ad esempio : E E + T T T * F F F Num Num Num Num Cif Cif Cif Cif Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.14/51

15 Sintassi La risoluzione dell ambiguità della grammatica e la gestione delle regole di precedenza e di associatività rendono l albero di derivazione complesso In realtà basterebbe una rappresentazione più semplice per rappresentare la struttura della stringa Quello che faremo da adesso in poi è utilizzare un albero di derivazione semplificato chiamato albero sintattico L albero sintattico non è dettagliato come l albero di derivazione ed esprime solo ciò che serve ai fini della definizione della semantica Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.15/51

16 Albero sintattico Ad esempio l albero sintattico corrispondente all albero di derivazione della stringa introdotta prima è: Exp Exp + Exp 9 Exp * Exp 3 16 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.16/51

17 Albero sintattico Nell albero sintattico sono indicati solo gli operandi e gli operatori La struttura dei sottoalberi esprime le regole di precedenza e associatività Tutto il resto è omesso Da un albero di derivazione è semplice ottenere il corrispondente albero sintattico Si può dire che l albero sintattico è una rappresentazione compatta dell albero di derivazione Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.17/51

18 Convenzione Da ora in poi useremo solo alberi sintattici come oggetti sintattici Assumeremo che ai nostri sistemi di transizioni vengano sempre passati alberi sintattici ottenuti semplificando alberi di derivazione In questo modo semplifichiamo i sistemi di transizioni che si concentrano solo sul problema della definizione della semantica Chi fornisce gli alberi sintattici si occuperà dei problemi relativi alla scrittura della grammatica giusta, problemi prettamente sintattici Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.18/51

19 Grammatiche semplici Alla luce di questa convenzione facciamo anche un altra operazione di semplificazione Non usiamo grammatiche complicate introdotte per gestire i problemi di ambiguità e precedenza/associatività Per specificare la sintassi ci basterà scrivere grammatiche semplici, anche ambigue Questo perché comunque i problemi di queste grammatiche sono risolti alla fonte: ci viene passato un albero sintattico Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.19/51

20 Grammatica semplice Daremo semantica precisamente all albero sintattico, considerando solamente gli operandi, gli operatori e la struttura di questo Quindi per specificare la sintassi delle espressioni ci basterà utilizzare questa grammatica: Exp ::= Num (Exp) Exp Op Exp Op ::= + - * / % Chi ci fornisce gli alberi sintattici si sarà preoccupato di eliminare l ambiguità e di aver espresso nell albero stesso la struttura della stringa in accordo alla precedenza/associatività Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.20/51

21 Convenzione di scrittura Risulterà comodo, per la chiarezza dell esposizione, poter rappresentare un albero sintattico in maniera lineare, cioè senza disegnare l albero Per far questo aggiungeremo alle stringhe delle parentesi quadre che indicheranno la struttura dell albero... Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.21/51

22 Convenzioni di scrittura Ad esempio, per indicare l albero sintattico: Exp Exp + Exp 9 Exp * Exp 3 16 scriveremo la stringa 9 + [3 16] Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.22/51

23 Metavariabili Utilizzeremo i simboli E,E,E 1,E 2,... per denotare alberi sintattici della categoria sintattica Exp In questo caso quindi la scrittura E Exp denota che E è un albero sintattico, non una stringa Ometteremo queste premesse nelle regole, poiché usiamo metavariabili Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.23/51

24 Matching Per il matching bisogna tener conto della struttura: E+E fa match con 9 + [3 16] ponendo E = 9 ed E = [3 16] non fa match con E E poiché l albero 9 + [3 16] non ha al primo livello l operatore Un albero che fa match con E E potrebbe essere [([9 + 3])] 16 Si noti che le parentesi hanno al loro interno l albero 9 + 3, che è a tutti gli effetti un sottoalbero dell albero ([9 + 3]) Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.24/51

25 Calcolo del valore Abbiamo tutti gli ingredienti per definire un sistema di transizioni che calcola il valore di una espressione Naturalmente sarà un sistema big-step che utilizza come base per la ricorsione la relazione di sottoalbero degli alberi sintattici Le regole saranno guidate dalla sintassi: ogni caso sintattico della grammatica semplificata avrà una regola semantica Nelle configurazioni non ci saranno stringhe, ma alberi sintattici Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.25/51

26 Configurazioni Le configurazioni del sistema sono le seguenti Γ exp T exp = {E E Exp} {n n IN} = {n n IN} Come abbiamo visto in precedenza, poiché il sistema è definito nello stile big-step non abbiamo bisogno di configurazioni intermedie Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.26/51

27 Configurazioni Si noti come ad una configurazione contentente un oggetto sintattico (l albero sintattico) il sistema associa una configurazione terminale formata da un oggetto di un dominio semantico (un numero naturale) Questo sistema sarà la base con cui definiremo la funzione di valutazione semantica delle espressioni aritmetiche Dalla grammatica vediamo che per ora le espressioni hanno come operandi solo stringhe di Num Partiamo con la prima regola che tratta il caso base... Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.27/51

28 Regole per exp Una espressione il cui albero sintattico è formato solo da una stringa di cifre n, elemento della categoria sintattica Num, ha come valore il numero naturale denotato da n In questo caso supponiamo che il sistema sia in grado di ottenere il numero dalla rappresentazione, ad esempio usando la funzione η definita sopra La regola di exp per questo caso sintattico non ha premesse: n exp n (exp n ) Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.28/51

29 Regole per exp? E+E exp? Vediamo la regola (exp + ) che gestisce il caso sintattico Exp +Exp La configurazione di input richiede che venga passato un albero sintattico in cui al primo livello ci sia l operatore + applicato a due sottoalberi E ed E Per calcolare il valore di tutta l espressione abbiamo bisogno del valore delle espressioni che sono nei sottoalberi... Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.29/51

30 Regole per exp E exp n? E+E exp? Per calcolare il valore dell espressione rappresentata dal sottoalbero E applichiamo la ricorsione L ipotesi induttiva ci garantisce che il sistema è in grado di effettuare il calcolo sull albero E poiché questo è un albero più piccolo dell albero che si sta trattando Inoltre l ipotesi induttiva garantisce che se il calcolo viene effettuato allora il risultato, che chiamiamo n, è corretto Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.30/51

31 Regole per exp E exp n E exp n E+E exp? Facciamo una chiamata ricorsiva anche sul sottoalbero destro E per ottenere il valore n Non ci resta che applicare l operatore semantico di somma tra numeri naturali per ottenere il valore dell espressione E+E Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.31/51

32 Regole per exp E exp n E exp n m = n +n E+E exp m Chiamiamo m il valore della somma e poniamolo come configurazione di arrivo Facciamo ora una precisazione sugli operatori e sulla loro rappresentazione Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.32/51

33 Operatori e loro rappresentazione Anche per gli operatori, come per i numeri, bisogna distinguere tra rappresentazione sintattica e operatore vero e proprio Nella regola precedente abbiamo utilizzato il + sia come simbolo di alfabeto che come operatore binario fra numeri naturali Nell albero sintattico E +E il + è un mero simbolo, la semantica può assegnargli un qualsiasi significato Nell equazione m = n +n il + è il ben noto operatore di somma tra numeri naturali Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.33/51

34 Operatori e loro rappresentazione Formalmente è buona regola usare due simboli diversi o degli accorgimenti tipografici per distinguerli In questo caso facciamo un eccezione a questa regola, ma per altri operatori faremo la distinzione Quando uno stesso simbolo, come in questo caso il +, viene usato per rappresentare diversi oggetti bisogna fare attenzione al suo uso In genere si capisce dal contesto il significato da attribuirgli di volta in volta Se questo non è vero allora conviene distinguere i simboli o specificare di volta in volta il significato Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.34/51

35 Regole per exp E exp n E exp n m = n n E*E exp m Questa regola (exp ) si occupa del caso sintattico Exp Exp Essa opera allo stesso modo di (exp + ): fa due chiamate ricorsive e un calcolo In questo caso abbiamo distinto il simbolo dall operatore di prodotto fra numeri naturali vero e proprio, rappresentato con Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.35/51

36 Regole per exp E exp n E exp n? E / E exp? Questa regola (exp div ) si occupa del caso sintattico Exp/Exp Come operatore useremo div, che fa la divisione intera fra numeri naturali: il risultato è un numero naturale e l operazione ha un resto Una volta che abbiamo ottenuto i valori delle espressioni dei sottalberi si presenta un problema Se il valore n è 0 l operatore div non è applicabile! Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.36/51

37 Regole per exp E exp n E exp n n 0 m = n div n E / E exp m Dobbiamo inserire nelle premesse una condizione logica che escluda questo caso, cioè n 0 A questo punto possiamo andare avanti e applicare l operatore div per ottenere il risultato m Ma cosa succede al sistema se il valore di n è proprio 0? Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.37/51

38 Configurazioni Bloccate Supponiamo di mettere il sistema nella configurazione 4/0 Che valore ci aspettiamo per questa espressione? Chiaramente non possiamo aspettarci nessun numero naturale se interpretiamo il simbolo / come la divisione intera! La regola che abbiamo scritto ha una premessa che esclude la sua applicabilità nei casi in cui il divisore sia 0 Non essendoci altre regole che gestiscono questo caso quello che abbiamo è che il sistema si blocca Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.38/51

39 Configurazioni Bloccate Abbiamo visto che una configurazione γ di un sistema di transizioni si dice bloccata se non è terminale e se non esiste nessuna configurazione γ tale che γ γ Questo è proprio il caso di tutte le configurazioni che contengono alberi sintattici in cui in qualche sottoalbero c è una divisione per un espressione che ha valore 0 Es: 4/0, 3 + [53/0], 4 [25/[([2 2])]],... Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.39/51

40 Configurazioni bloccate Alla luce di questo fatto dobbiamo rivedere l ipotesi induttiva Quello che possiamo veramente assumere è che, dato un sottoalbero E dell albero che stiamo gestendo, la chiamata ricorsiva del sistema se non si blocca allora è in grado di restituire il valore associato alla espressione rappresentata dal sottoalbero Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.40/51

41 Configurazioni bloccate Quindi in ogni regola in cui nelle premesse usiamo la ricorsione può succedere che il sistema si blocchi provocando, a sua volta, il blocco della regola in questione Ad esempio il sottoalbero 3/0 dell albero 2 [3/0] provocherà il blocco di tutta la configurazione 2 [3/0] gestita dalla regola (exp ) Anche la regola per %, che rappresenta l operatore che dà il resto della divisione intera, può provocare dei blocchi... Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.41/51

42 Regole per exp E exp n E exp n n 0 m = n mod n E % E exp m In questa regola (exp mod ) trattiamo il caso sintattico Exp % Exp L operatore semantico è rappresentato con mod Anche in questo caso c è bisogno della premessa che esclude i casi in cui il divisore sia 0 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.42/51

43 Regole per exp E exp n E exp n? E-E exp? In questa regola (exp ) si presenta un altro problema: che succede se n è più grande di n? Tutto dipende dal dominio semantico che vogliamo utilizzare Se come dominio semantico usiamo l insieme IN allora in questi casi il sistema si deve bloccare Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.43/51

44 Regole per exp E exp n E exp n n n m = n n E-E exp m Se invece usassimo l insieme dei numeri interi allora potremmo trattare i numeri negativi Per semplicità prendiamo IN e facciamo bloccare il sistema Si noti che, come per +, anche al simbolo diamo un doppio significato Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.44/51

45 Regole per exp E exp n (E) exp n Questa regola (exp () ) semplicemente esprime il fatto che il valore di un espressione tra parentesi è uguale al valore dell espressione dentro la parentesi Si noti che la ricorsione è applicata correttamente poiché l albero E è un sottoalbero dell albero (E) Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.45/51

46 Derivazione Facciamo un esempio di derivazione che usa le regole viste: / 2 exp { (exp ), (exp n ): 25 exp 25, (d1): 15 / 2 exp 7, 25 7, 25 7 = 18 } 18 E utilizzata una sottoderivazione (d1)... Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.46/51

47 Derivazione (d1): Vediamo la sottoderivazione (d1) attivata dalla derivazione principale: 15 / 2 exp { (exp div ), (exp n ): 15 exp 15, (exp n ): 2 exp 2, 2 0, 15 div 2 = 7 } 7 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.47/51

48 Derivazione ad albero E possibile esprimere una derivazione anche costruendo un albero in cui le sottoderivazioni sono sottoalberi: 2 2 (exp n) 3 3 (exp n) 8 8 ((exp n) 11 = [3 +8] 13 (exp + ) 13 = (exp + ) Si noti che l applicazione di regole senza premesse determina un nodo foglia (cioè senza figli) dell albero Nel seguito, tuttavia, continueremo ad utilizzare prevalentemente le sottoderivazioni Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.48/51

49 Funzione di valutazione semantica Possiamo ora definire formalmente la funzione di valutazione semantica E che associa ad un albero sintattico E di Exp il suo valore Il dominio semantico di riferimento è l insieme dei numeri naturali IN con le operazioni in esso definite: +,,,div,mod Il tipo della funzione è il seguente: E:Exp IN La definizione di questa funzione viene data mediante il sistema di transizione Γ exp,t exp, exp Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.49/51

50 Funzione di valutazione semantica Per definire E usiamo una notazione speciale che sta ad indicare che la funzione che stiamo definendo è una funzione di valutazione semantica: E [E] = k se e solo se E exp k Dalla definizione e dalle regole che abbiamo scritto segue che E, a differenza di η, non è definita per tutte le espressioni Infatti abbiamo visto che per certe espressioni E il sistema che abbiamo definito si blocca In questo caso la definizione se e solo se non dà nessun valore per E [E] Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.50/51

51 Funzione di valutazione semantica Una funzione si dice totale se è definita per tutti gli elementi del suo dominio Se almeno per un elemento del dominio la funzione non è definita allora si dice che è parziale E è quindi una funzione parziale In particolare E non è definita per ogni E Exp tale che E exp Spesso si usa la seguente notazione per indicare che la funzione su un certo elemento del dominio non è definita: E [3/0] = si legge bottom o indefinito Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.51/51

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

I SISTEMI DI NUMERAZIONE

I SISTEMI DI NUMERAZIONE ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA I SISTEMI DI NUMERAZIONE Prof. G. Ciaschetti Fin dall antichità, l uomo ha avuto il bisogno di rappresentare le quantità in modo simbolico. Sono nati

Dettagli

Dispense di Informatica per l ITG Valadier

Dispense di Informatica per l ITG Valadier La notazione binaria Dispense di Informatica per l ITG Valadier Le informazioni dentro il computer All interno di un calcolatore tutte le informazioni sono memorizzate sottoforma di lunghe sequenze di

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

Elementi di semantica denotazionale ed operazionale

Elementi di semantica denotazionale ed operazionale Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato

Dettagli

2 Progetto e realizzazione di funzioni ricorsive

2 Progetto e realizzazione di funzioni ricorsive 2 Progetto e realizzazione di funzioni ricorsive Il procedimento costruttivo dato dal teorema di ricorsione suggerisce due fatti importanti. Una buona definizione ricorsiva deve essere tale da garantire

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

Elementi di semantica operazionale

Elementi di semantica operazionale Elementi di semantica operazionale 1 Contenuti sintassi astratta e domini sintattici un frammento di linguaggio imperativo semantica operazionale domini semantici: valori e stato relazioni di transizione

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

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

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

I tipi di dato astratti

I tipi di dato astratti I tipi di dato astratti.0 I tipi di dato astratti c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 001/00.0 0 I tipi di dato astratti La nozione di tipo di dato

Dettagli

Gli algoritmi: definizioni e proprietà

Gli algoritmi: definizioni e proprietà Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da

Dettagli

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare

Dettagli

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005 Risoluzione Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005 1 Risoluzione Introdurremo ora un metodo per capire se un insieme di formule è soddisfacibile o meno. Lo vedremo prima per insiemi

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

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Sistemi di Numerazione Sistema decimale La

Dettagli

SOMMARIO. 13.1 I radicali pag. 3. 13.2 I radicali aritmetici pag. 5. 13.3 Moltiplicazione e divisione fra radicali aritmetici pag.

SOMMARIO. 13.1 I radicali pag. 3. 13.2 I radicali aritmetici pag. 5. 13.3 Moltiplicazione e divisione fra radicali aritmetici pag. SOMMARIO CAPITOLO : I RADICALI. I radicali pag.. I radicali aritmetici pag.. Moltiplicazione e divisione fra radicali aritmetici pag.. Potenza di un radicale aritmetico pag.. Trasporto di un fattore esterno

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

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Rappresentazione di numeri Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno Un numero e un entità teorica,

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

Università degli Studi di Ferrara Corso di Laurea in Informatica A.A. 2007/2008

Università degli Studi di Ferrara Corso di Laurea in Informatica A.A. 2007/2008 Università degli Studi di Ferrara Corso di Laurea in Informatica A.A. 2007/2008 Tutorato di Architettura degli Elaboratori e Laboratorio Cambio di base Operazioni binarie Dott.ssa Ambra Giovannini 15 Aprile

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Fondamenti di calcolo booleano

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Fondamenti di calcolo booleano Breve introduzione storica Nel 1854, il prof. Boole pubblica un trattato ormai famosissimo: Le leggi del pensiero. Obiettivo finale del trattato è di far nascere la matematica dell intelletto umano, un

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

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

0. Piano cartesiano 1

0. Piano cartesiano 1 0. Piano cartesiano Per piano cartesiano si intende un piano dotato di due assi (che per ragioni pratiche possiamo scegliere ortogonali). Il punto in comune ai due assi è detto origine, e funziona da origine

Dettagli

Alcune nozioni di base di Logica Matematica

Alcune nozioni di base di Logica Matematica Alcune nozioni di base di Logica Matematica Ad uso del corsi di Programmazione I e II Nicola Galesi Dipartimento di Informatica Sapienza Universitá Roma November 1, 2007 Questa é una breve raccolta di

Dettagli

IMSV 0.8. (In Media Stat Virtus) Manuale Utente

IMSV 0.8. (In Media Stat Virtus) Manuale Utente Introduzione IMSV 0.8 (In Media Stat Virtus) Manuale Utente IMSV è una applicazione che calcola che voti può'prendere uno studente negli esami che gli mancano per ottenere la media che desidera. Importante:

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

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

Operazioni binarie fondamentali

Operazioni binarie fondamentali Operazioni binarie fondamentali Operazioni fondamentali: operazioni elementari sui bit. Sono definite le operazioni aritmetiche più le operazioni logiche (AND, OR, NOT). Le operazioni possono essere descritte

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Interpretazione astratta

Interpretazione astratta Interpretazione astratta By Giulia Costantini (819048) e Giuseppe Maggiore (819050) Contents Interpretazione astratta... 2 Idea generale... 2 Esempio di semantica... 2 Semantica concreta... 2 Semantica

Dettagli

PRIMAVERA IN BICOCCA

PRIMAVERA IN BICOCCA PRIMAVERA IN BICOCCA 1. Numeri primi e fattorizzazione Una delle applicazioni più rilevanti della Teoria dei Numeri si ha nel campo della crittografia. In queste note vogliamo delineare, in particolare,

Dettagli

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

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

Insiemi con un operazione

Insiemi con un operazione Capitolo 3 Insiemi con un operazione 3.1 Gruppoidi, semigruppi, monoidi Definizione 309 Un operazione binaria su un insieme G è una funzione: f : G G G Quindi, un operazione binaria f su un insieme G è

Dettagli

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti Un ripasso di aritmetica: Rappresentazione binaria - operazioni A queste rappresentazioni si possono applicare le operazioni aritmetiche: riporti 1 1 0 + 1 0 = 1 0 0 24 Un ripasso di aritmetica: Rappresentazione

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

Appunti di Logica Matematica

Appunti di Logica Matematica Appunti di Logica Matematica Francesco Bottacin 1 Logica Proposizionale Una proposizione è un affermazione che esprime un valore di verità, cioè una affermazione che è VERA oppure FALSA. Ad esempio: 5

Dettagli

RAPPRESENTAZIONE DEI NUMERI BINARI. Corso di Fondamenti di Informatica AA 2010-2011

RAPPRESENTAZIONE DEI NUMERI BINARI. Corso di Fondamenti di Informatica AA 2010-2011 RAPPRESENTAZIONE DEI NUMERI BINARI Corso di Fondamenti di Informatica AA 2010-2011 Prof. Franco Zambonelli Numeri interi positivi Numeri interi senza segno Caratteristiche generali numeri naturali (1,2,3,...)

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

E una notazione per descrivere gli algoritmi.

E una notazione per descrivere gli algoritmi. Linguaggio di Programmazione E una notazione per descrivere gli algoritmi. Programma:: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni linguaggio

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

I SISTEMI DI NUMERAZIONE (esercizi svolti)

I SISTEMI DI NUMERAZIONE (esercizi svolti) ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA I SISTEMI DI NUMERAZIONE (esercizi svolti) Prof. G. Ciaschetti Conversione di un numero da binario a decimale Esercizio 1. Convertire in decimale

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA Algoritmi e Strutture Dati MODULO 2. Algebre di dati Dati e rappresentazioni, requisiti delle astrazioni di dati, costrutti. Astrazioni di dati e dati primitivi. Specifica

Dettagli

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme G Pareschi Principio di induzione Il Principio di Induzione (che dovreste anche avere incontrato nel Corso di Analisi I) consente di dimostrare Proposizioni il cui enunciato è in funzione di un numero

Dettagli

Varianti Macchine di Turing

Varianti Macchine di Turing Varianti Macchine di Turing Esistono definizioni alternative di macchina di Turing. Chiamate Varianti. Tra queste vedremo: MdT a più nastri e MdT non deterministiche. Mostriamo: tutte le varianti ragionevoli

Dettagli

Dispensa del corso di Informatica

Dispensa del corso di Informatica Dispensa 6-Boolean 1 Algebra Booleana Dispensa del corso di Informatica La logica George Boole (1815 1864) è stato un matematico e logico britannico, ed è considerato il padre fondatore della logica matematica.

Dettagli

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio Appunti di informatica Lezione 2 anno accademico 2015-2016 Mario Verdicchio Sistema binario e logica C è un legame tra i numeri binari (0,1) e la logica, ossia la disciplina che si occupa del ragionamento

Dettagli

11010010 = 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210

11010010 = 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210 Il sistema BINARIO e quello ESADECIMALE. Il sistema di numerazione binario è particolarmente legato ai calcolatori in quanto essi possono riconoscere solo segnali aventi due valori: uno alto e uno basso;

Dettagli

Modellazione di sistema

Modellazione di sistema Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di

Dettagli

Ricorsione. Rosario Culmone. - p. 1/13

Ricorsione. Rosario Culmone. - p. 1/13 Ricorsione Rosario Culmone - p. 1/13 Induzione e Ricorsione Spesso utilizzeremo le definizioni induttive. Sono forme di definizione compatte che descrivono un numero infinito di elementi. I contesti di

Dettagli

I SISTEMI DI NUMERAZIONE E LA NUMERAZIONE BINARIA

I SISTEMI DI NUMERAZIONE E LA NUMERAZIONE BINARIA I SISTEMI DI NUMERAZIONE E LA NUMERAZIONE BINARIA Indice Introduzione Il sistema decimale Il sistema binario Conversione di un numero da base 10 a base 2 e viceversa Conversione in altri sistemi di numerazione

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Quanto alcol sto bevendo? Moltiplica per 8!

Quanto alcol sto bevendo? Moltiplica per 8! www.iss.it/stra ISTITUTO SUPERIORE DI SANITÀ DIPARTIMENTO AMBIENTE E CONNESSA PREVENZIONE PRIMARIA REPARTO AMBIENTE E TRAUMI OSSERVATORIO NAZIONALE AMBIENTE E TRAUMI (ONAT) Franco Taggi Quanto alcol sto

Dettagli

Algoritmi, dati e programmi

Algoritmi, dati e programmi 1 Algoritmi, dati e programmi 2 Informatica Informatica: Scienza che studia l informazione e la sua elaborazione. informazione rappresentazione dell informazione (dati) dati elaborazione dei dati tramite

Dettagli

La selezione binaria

La selezione binaria Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Tipi di Dato Ricorsivi

Tipi di Dato Ricorsivi Tipi di Dato Ricorsivi Luca Abeni September 2, 2015 1 Tipi di Dato Vari linguaggi di programmazione permettono all utente di definire nuovi tipi di dato definendo per ogni nuovo tipo l insieme dei suoi

Dettagli

Programmi. Algoritmi scritti in un linguaggio di programmazione

Programmi. Algoritmi scritti in un linguaggio di programmazione Programmi Algoritmi scritti in un linguaggio di programmazione Sistema operativo:programma supervisore che coordina tutte le operazioni del calcolatore Programmi applicativi esistenti Sistemi di videoscrittura

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Fondamenti dei linguaggi di programmazione

Fondamenti dei linguaggi di programmazione Fondamenti dei linguaggi di programmazione Aniello Murano Università degli Studi di Napoli Federico II 1 Riassunto delle lezioni precedenti Prima Lezione: Introduzione e motivazioni del corso; Sintassi

Dettagli

Definizione 8.1. Si dice successione una qualsiasi funzione a: N R. Spesso per indicare una successione si usa la sequenza delle immagini:

Definizione 8.1. Si dice successione una qualsiasi funzione a: N R. Spesso per indicare una successione si usa la sequenza delle immagini: Appendice 1 Le successioni Definizione 8.1. Si dice successione una qualsiasi funzione a: N R. Spesso per indicare una successione si usa la sequenza delle immagini: a 0 = a(0), a 1 = a(1),..., a n = a(n),....

Dettagli

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD

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

DAL PROBLEMA AL PROGRAMMA

DAL PROBLEMA AL PROGRAMMA DAL PROBLEMA AL PROGRAMMA Scopo del modulo Conoscere alcuni concetti fondamentali dell informatica:algoritmo, l automa, linguaggio formale Essere in grado di cogliere l intreccio tra alcuni risultati della

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

Programma di Paradigmi e possibili domande. Capitolo 1

Programma di Paradigmi e possibili domande. Capitolo 1 Definizione di macchina astratta Programma di Paradigmi e possibili domande Capitolo 1 Una macchina astratta per il linguaggio L detta ML, è un qualsiasi insieme di algoritmi e strutture dati che permettono

Dettagli

Le Macchine di Turing

Le Macchine di Turing Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella

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

LUdeS Informatica 2 EXCEL. Prima parte AA 2013/2014

LUdeS Informatica 2 EXCEL. Prima parte AA 2013/2014 LUdeS Informatica 2 EXCEL Prima parte AA 2013/2014 COS E EXCEL? Microsoft Excel è uno dei fogli elettronici più potenti e completi operanti nell'ambiente Windows. Un foglio elettronico è un programma che

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

APPUNTI DI ELETTRONICA DIGITALE

APPUNTI DI ELETTRONICA DIGITALE APPUNTI DI ELETTRONICA DIGITALE ITIS MARCONI-GORGONZOLA docente :dott.ing. Paolo Beghelli pag.1/24 Indice 1.ELETTRONICA DIGITALE 4 1.1 Generalità 4 1.2 Sistema di numerazione binario 4 1.3 Operazioni con

Dettagli

Cos è un Calcolatore?

Cos è un Calcolatore? Cos è un Calcolatore? Definizione A computer is a machine that manipulates data according to a (well-ordered) collection of instructions. 24/105 Riassumendo... Un problema è una qualsiasi situazione per

Dettagli

La Logica Proposizionale. (Algebra di Boole)

La Logica Proposizionale. (Algebra di Boole) 1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY La Logica Proposizionale (Algebra di Boole) Prof. G. Ciaschetti 1. Cenni storici Sin dagli antichi greci, la logica è intesa come lo studio del logos, che in greco

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario?

BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario? BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario? Cosa c è dietro a questo nome? BIT è un acronimo e deriva da BInary digit, cioè cifra binaria Che

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

Serie numeriche e serie di potenze

Serie numeriche e serie di potenze Serie numeriche e serie di potenze Sommare un numero finito di numeri reali è senza dubbio un operazione che non può riservare molte sorprese Cosa succede però se ne sommiamo un numero infinito? Prima

Dettagli

LOGICA DEI PREDICATI. Introduzione. Predicati e termini individuali. Termini individuali semplici e composti

LOGICA DEI PREDICATI. Introduzione. Predicati e termini individuali. Termini individuali semplici e composti Introduzione LOGICA DEI PREDICATI Corso di Intelligenza Artificiale A.A. 2009/2010 Prof. Ing. Fabio Roli La logica dei predicati, o logica del primo ordine (LPO) considera schemi proposizionali composti

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

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete. Le equazioni Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete. Definizione e caratteristiche Chiamiamo equazione l uguaglianza tra due espressioni algebriche,

Dettagli

I Polinomi. Michele Buizza. L'insieme dei numeri interi lo indicheremo con Z. è domenica = non vado a scuola. signica se e solo se.

I Polinomi. Michele Buizza. L'insieme dei numeri interi lo indicheremo con Z. è domenica = non vado a scuola. signica se e solo se. I Polinomi Michele Buizza 1 Insiemi In questa prima sezione ricordiamo la simbologia che useremo in questa breve dispensa. Iniziamo innanzitutto a ricordare i simboli usati per i principali insiemi numerici.

Dettagli

Reti sequenziali e strutturazione firmware

Reti sequenziali e strutturazione firmware Architettura degli Elaboratori, a.a. 25-6 Reti sequenziali e strutturazione firmware Alla parte di corso sulle reti sequenziali è apportata una sensibile semplificazione rispetto a quanto contenuto nel

Dettagli

1 Sistema additivo e sistema posizionale

1 Sistema additivo e sistema posizionale Ci sono solamente 10 tipi di persone nel mondo: chi comprende il sistema binario e chi no. Anonimo I sistemi di numerazione e la numerazione binaria 1 Sistema additivo e sistema posizionale Contare per

Dettagli

Polli e conigli. problemi Piano cartesiano. Numeri e algoritmi Sistemi e loro. geometrica. Relazioni e funzioni Linguaggio naturale e

Polli e conigli. problemi Piano cartesiano. Numeri e algoritmi Sistemi e loro. geometrica. Relazioni e funzioni Linguaggio naturale e Polli e conigli Livello scolare: primo biennio Abilità Interessate Calcolo di base - sistemi Risolvere per via grafica e algebrica problemi che si formalizzano con equazioni. Analizzare semplici testi

Dettagli

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,...

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... Entropia Motivazione Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... ) s,s 2,s 3,... ognuno dei quali appartiene ad un alfabeto A di M elementi.? Quant è l informazione portata

Dettagli

LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B

LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B 23.XI.2012 VINCENZO MARRA Indice Esercizio 1 1 Menu 1 Tempo: 35 min. 2 Commento 1 2 Esercizio 2 2 Ordinamento e ricerca binaria con la classe

Dettagli

Sistemi di Numerazione

Sistemi di Numerazione Sistemi di Numerazione un sistema di numerazione è definito da il numero di differenti simboli utilizzati per rappresentare i numeri (BASE) i Sumeri usavano un sistema sessagesimale, basato su 60 simboli

Dettagli

POSTO 1. 10/05/2012-1T Infomatica

POSTO 1. 10/05/2012-1T Infomatica POSTO 1 scriva a video il numero più grande tra i due chieda all utente di inserire un numero intero compreso tra 10 e 90 se il numero inserito è effettivamente compreso tra 10 e 90, il programma deve

Dettagli

APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI

APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI Le disequazioni fratte Le disequazioni di secondo grado I sistemi di disequazioni Alessandro Bocconi Indice 1 Le disequazioni non lineari 2 1.1 Introduzione.........................................

Dettagli

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1) Transitori Analisi nel dominio del tempo Ricordiamo che si definisce transitorio il periodo di tempo che intercorre nel passaggio, di un sistema, da uno stato energetico ad un altro, non è comunque sempre

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Prolog: aritmetica e ricorsione

Prolog: aritmetica e ricorsione Capitolo 13 Prolog: aritmetica e ricorsione Slide: Aritmetica e ricorsione 13.1 Operatori aritmetici In logica non vi è alcun meccanismo per la valutazione di funzioni, che è fondamentale in un linguaggio

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

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

Dettagli