Oggetti sintattici. Semantica operazionale dei linguaggi di Programmazione. Oggetti sintattici. Funzioni di valutazione semantica
|
|
- Benedetta Lazzari
- 6 anni fa
- Visualizzazioni
Transcript
1 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! 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.3/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.1/51 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 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.4/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.2/51
2 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 = 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.7/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.5/51 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 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.8/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.6/51
3 Altre rappresentazioni Definizione di η Basta associare a z il numero 0, ad u ul numero 1 e poi utilizzare il sistema binario di rappresentazione: zuzz rappresenta = 4 La funzione η può essere convenientemente definita in maniera ricorsiva utilizzando la struttura ricorsiva a sinistra suggerita dalla grammatica: η (z) = 0 η (u) = 1 η (xb) = (η (x) 2) + η (b) η(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.11/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.9/51 Applicazione di η Altre rappresentazioni η (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 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.12/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.10/51
4 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 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.15/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.13/51 Albero sintattico Ad esempio l albero sintattico corrispondente all albero di derivazione della stringa introdotta prima è: Exp Exp + Exp 9 Exp * Exp 3 16 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.16/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.14/51
5 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 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.19/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.17/51 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à 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.20/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.18/51
6 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 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.23/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.21/51 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]) 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.24/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.22/51
7 Configurazioni Calcolo del valore 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... 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.27/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.25/51 Configurazioni 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: 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 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 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.26/51
8 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? 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.31/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.29/51 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 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.32/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.30/51
9 Operatori e loro rappresentazione 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 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.35/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.33/51 Operatori e loro rappresentazione 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! 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.36/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.34/51
10 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])]],... 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.39/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.37/51 Configurazioni bloccate 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 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.40/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.38/51
11 Configurazioni bloccate 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 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.43/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.41/51 E exp n E exp n n n m = n n E exp n E exp n n 0 m = n mod 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 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.44/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.42/51
12 (d1): Derivazione 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 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.47/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.45/51 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) [3 +8] = 3 +8 (exp + ) 13 = 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 (exp + ) 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.48/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.46/51
13 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 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.51/51 Università degli Studi di Camerino - Corso di Laurea in Informatica - Programmazione - Semantica - Oggetti sintattici e oggetti semantici p.49/51 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
Semantica operazionale dei linguaggi di Programmazione
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.
DettagliLinguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl
Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare
DettagliCorso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi
Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un
DettagliLa codifica dei numeri
La codifica dei numeri La rappresentazione dei numeri con il sistema decimale può essere utilizzata come spunto per definire un metodo di codifica dei numeri all interno degli elaboratori: la sequenza
DettagliLinguaggi Liberi dal Contesto. Linguaggi Liberi dal Contesto
rammatiche e Linguaggi Liberi da Contesto Abbiamo visto che molti linguaggi non sono regolari. Consideriamo allora una classe piu ampia di linguaggi, i Linguaggi Liberi da Contesto (CFL) i CFL sono stati
DettagliGrammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione
Grammatiche Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione Esempio dei numeri interi Si consideri il linguaggio
DettagliLa codifica. dell informazione
00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111
DettagliArithmetic and Logic Unit e moltiplicatore
Arithmetic and Logic Unit e moltiplicatore M. Favalli Engineering Department in Ferrara (ENDIF) ALU - multiplier Analisiesintesideicircuitidigitali 1 / 34 Sommario 1 Arithmetic and Logic Unit - ALU 2 Moltiplicatore
DettagliIntegrale indefinito
Integrale indefinito 1 Primitive di funzioni Definizione 1.1 Se f: [a, b] R è una funzione, una sua primitiva è una funzione derivabile g: [a, b] R tale che g () = f(). Ovviamente la primitiva di una funzione,
DettagliLa codifica digitale
La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore
DettagliElementi di Semantica Operazionale. Appunti per gli studenti di Fondamenti di Programmazione (corsi A-B-C)
Elementi di Semantica Operazionale Appunti per gli studenti di Fondamenti di Programmazione (corsi A-B-C) Corso di Laurea in Informatica Università di Pisa A.A. 2004/05 R. Barbuti, P. Mancarella e F. Turini
DettagliEspressività e limitazioni delle grammatiche regolari
Espressività e limitazioni delle grammatiche regolari Vantaggi: Le grammatiche regolari consentono di esprimere una significativa classe di linguaggi: linguaggi con un numero di sequenze infinito grazie
DettagliLA CODIFICA DELL INFORMAZIONE
LA CODIFICA DELL INFORMAZIONE Prof. Enrico Terrone A. S: 20/2 Lo schema di Tanenbaum Il livello al quale ci interessiamo in questa lezione è il linguaggio macchina, l unico dove le informazioni e istruzioni
DettagliUnità aritmetica e logica
Aritmetica del calcolatore Capitolo 9 Unità aritmetica e logica n Esegue le operazioni aritmetiche e logiche n Ogni altra componente nel calcolatore serve questa unità n Gestisce gli interi n Può gestire
DettagliDescrizione delle operazioni di calcolo. Espressioni costanti semplici
Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette
DettagliNote sui Sistemi di Transizione. Appunti per gli studenti di Programmazione
Note sui Sistemi di Transizione Appunti per gli studenti di Programmazione Corso di Laurea in Informatica Applicata Polo Universitario G. Marconi - La Spezia Università di Pisa A.A. 2008/09 R. Barbuti,
DettagliCap. 2 - Rappresentazione in base 2 dei numeri interi
Cap. 2 - Rappresentazione in base 2 dei numeri interi 2.1 I NUMERI INTERI RELATIVI I numeri relativi sono numeri con il segno: essi possono essere quindi positivi e negativi. Si dividono in due categorie:
DettagliALGORITMI: PROPRIETÀ FONDAMENTALI
ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse
DettagliI.4 Rappresentazione dell informazione - Numeri con segno
I.4 Rappresentazione dell informazione - Numeri con segno Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 20, 2015 Argomenti Introduzione 1 Introduzione
DettagliFogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari
Fogli Elettronici Idoneità Informatica Prof. Mauro Gaspari Cosa è un foglio elettronico. Strumento per raccogliere dati organizzati in tabelle e farci delle operazioni: Le celle contengono numeri o altri
DettagliCosa si intende con stato
Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando
DettagliGrammatiche. Rosario Culmone, Luca Tesei. 20/11/2006 UNICAM - p. 1/49
Grammatiche Rosario Culmone, Luca Tesei 20/11/2006 UNICAM - p. 1/49 Grammatiche libere dal contesto Ogni linguaggio di programmazione ha delle regole che prescrivono la struttura sintattica dei programmi
DettagliAnalogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale
Analogico vs. Digitale LEZIONE II La codifica binaria Analogico Segnale che può assumere infiniti valori con continuità Digitale Segnale che può assumere solo valori discreti Analogico vs digitale Il computer
DettagliCenni di programmazione ricorsiva. Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B)
Cenni di programmazione ricorsiva Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B) Corso di Laurea in Informatica Università di Pisa A.A. 2009/10 R. Barbuti, P. Mancarella Indice
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliLinguaggi Regolari e Linguaggi Liberi
Linguaggi Regolari e Linguaggi Liberi Potenza espressiva degli automi Potenza espressiva delle grammatiche 9/11/2004 Programmazione - Luca Tesei 1 Linguaggi Regolari Tutti i linguaggi che possono essere
DettagliLogica per la Programmazione
Logica per la Programmazione Lezione 3 Dimostrazione di Tautologie e Sintassi del Calcolo osizionale Antonio, Corrado e Bruno... formalmente Tautologie: dimostrazioni e controesempi Sintassi del Calcolo
DettagliI.4 Rappresentazione dell informazione
I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione
DettagliLa codifica. dell informazione
La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero
DettagliUn ripasso di aritmetica: Conversione dalla base 10 alla base 2
Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre
DettagliRappresentazioni numeriche
Rappresentazioni numeriche Un numero è dotato di un valore una rappresentazione La rappresentazione di un numero è il sistema che utilizziamo per indicarne il valore. Normalmente è una sequenza (stringa)
DettagliCodice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli
Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato
DettagliAritmetica dei Calcolatori Elettronici
Aritmetica dei Calcolatori Elettronici Prof. Orazio Mirabella L informazione Analogica Segnale analogico: variabile continua assume un numero infinito di valori entro l intervallo di variazione intervallo
DettagliFondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario I sistemi di numerazione Il sistema binario Altri sistemi di numerazione Algoritmi di conversione Esercizi 07/03/2012 2 Sistemi
DettagliElementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n
Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n Cristina Turrini UNIMI - 2016/2017 Cristina Turrini (UNIMI - 2016/2017) Elementi di Algebra e di Matematica
DettagliTeoria intuitiva degli insiemi
Teoria intuitiva degli insiemi Il concetto di insieme. lcuni esempi Tutta la matematica moderna è fondata sul concetto di insieme. Un insieme è da considerarsi nella sua nozione intuitiva di collezione,
DettagliFoglio Elettronico Lezione 1
- Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliLEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE. (Prof. Daniele Baldissin)
LEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE (Prof. Daniele Baldissin) L'uomo usa normalmente il sistema di numerazione decimale, probabilmente perché ha dieci dita. Il sistema decimale è collegato direttamente
DettagliLogica per la Programmazione
Logica per la Programmazione Lezione 3 Dimostrazione di Tautologie e Sintassi del Calcolo osizionale Antonio, Corrado e Bruno... formalmente Tautologie: dimostrazioni e controesempi Sintassi del Calcolo
DettagliRISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine
RISOLUZIONE IN LOGICA PROPOSIZIONALE Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine 1. Risoluzione Definitione 1.1. Un letterale l è una variabile proposizionale (letterale
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliFondamenti della Matematica a.a LUMSA. Basi di numerazione. Scrittura in forma polinomiale e scrittura in una base
Basi di numerazione L utilizzo della scrittura posizionale (che assegna allo stesso simbolo valore differente a seconda della posizione in cui è scritto) permette di rappresentare un qualsiasi numero naturale
Dettaglimodificato da andynaz Cambiamenti di base Tecniche Informatiche di Base
Cambiamenti di base Tecniche Informatiche di Base TIB 1 Il sistema posizionale decimale L idea del sistema posizionale: ogni cifra ha un peso Esempio: 132 = 100 + 30 + 2 = 1 10 2 + 3 10 1 + 2 10 0 Un numero
DettagliCodifica dell informazione
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Codifica dell informazione Pietro Di Lena - pietro.dilena@unibo.it There are 10 types of people in this world: understand binary
DettagliLaboratorio di Python
Problem solving, Ricorsione, Università di Bologna 13 e 15 marzo 2013 Sommario 1 2 3 4 Errore di semantica Esercizio def vocali(s): voc='' for c in s: if c in 'aeiou': voc=voc+c return voc Cerchiamo di
DettagliRappresentazione dell Informazione
Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo
DettagliLinguaggi Regolari e Linguaggi Liberi
Linguaggi Regolari e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle grammatiche 1
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Rappresentazione dell Informazione Barbara Masucci Cosa studiamo oggi Ø Un moderno elaboratore è un sistema elettronico digitale programmabile Ø Il suo comportamento è flessibile
DettagliLezioni di Informarica. Prof. Giovanni Occhipinti
Lezioni di Informarica Prof. Giovanni Occhipinti 23 settembre 2010 2 Indice 1 La codifica delle Informazioni 5 1.1 Il sistema binario........................... 5 1.1.1 Conversione da binario a decimale.............
DettagliInformazione binaria: - codici binari, notazione binaria/ottale/esadecimale -
Informazione binaria: - codici binari, notazione binaria/ottale/esadecimale - Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin ... Algoritmi,
DettagliLa "macchina" da calcolo
La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che
DettagliCodifica dell informazione
Codifica dell informazione Gli algoritmi sono costituiti da istruzioni (blocchi sequenziali, condizionali, iterativi) che operano su dati. Per trasformare un programma in una descrizione eseguibile da
DettagliPROBLEMI ALGORITMI E PROGRAMMAZIONE
PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL
DettagliPiccolo teorema di Fermat
Piccolo teorema di Fermat Proposizione Siano x, y Z, p N, p primo. Allora (x + y) p x p + y p (mod p). Piccolo teorema di Fermat Proposizione Siano x, y Z, p N, p primo. Allora (x + y) p x p + y p (mod
DettagliProgrammazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
DettagliUn ripasso di aritmetica: Conversione dalla base 10 alla base 2
Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre
DettagliOperazioni numeriche - Input
Operazioni numeriche - Input Espressioni, funzioni matematiche, classi involucro, Acquisizione di input 11/11/2004 Laboratorio di Programmazione - Luca Tesei 1 Operazioni fra interi e decimali In Java
DettagliGrammatiche Parse trees Lezione del 17/10/2012
Fondamenti di Programmazione A.A. 2012-2013 Grammatiche Parse trees Lezione del 17/10/2012 AUTILI MARCO http://www.di.univaq.it/marco.autili/ Riassunto lezione precedente Sintassi vs Semantica Stringhe,
DettagliRappresentazione di numeri relativi (interi con segno) Rappresentazione di numeri interi relativi (con N bit) Segno e Valore Assoluto
Rappresentazione di numeri relativi (interi con segno) E possibile estendere in modo naturale la rappresentazione dei numeri naturali ai numeri relativi. I numeri relativi sono numeri naturali preceduti
DettagliCodifica dell Informazione
Introduzione all Informatica Fabrizio Angiulli Codifica dell Informazione CODIFICA DI DATI E ISTRUZIONI Algoritmi Istruzioni che operano su dati Per scrivere un programma è necessario rappresentare dati
DettagliMODULO 1. Prof. Onofrio Greco. Prof. Greco Onofrio
ECDL MODULO 1 Prof. Onofrio Greco Modulo 1 Concetti di base dell ICT Modulo 2 Uso del Computer e Gestione dei File Modulo 3 - Elaborazione testi Modulo 4 Foglio Elettronico Modulo 5 Uso delle Basi di Dati
DettagliPrecorsi di matematica
Precorsi di matematica Francesco Dinuzzo 12 settembre 2005 1 Insiemi Il concetto di base nella matematica moderna è l insieme. Un insieme è una collezione di elementi. Gli elementi di un insieme vengono
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliElementi di informatica
Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Sistemi di numerazione posizionali La rappresentazione dei numeri richiede ovviamente una codifica, ovvero la definizione
DettagliRiassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.
Capitolo 2 Campi 2.1 Introduzione Studiamo ora i campi. Essi sono una generalizzazione dell insieme R dei numeri reali con le operazioni di addizione e di moltiplicazione. Nel secondo paragrafo ricordiamo
DettagliLa rappresentazione delle informazioni in un computer. La numerazione binaria
La rappresentazione delle informazioni in un computer La numerazione binaria Per comprendere la numerazione binaria dobbiamo prima discutere di alcune caratteristiche della numerazione decimale La numerazione
DettagliPROLOG E ANALISI SINTATTICA DEI LINGUAGGI Quando si vuole definire in modo preciso la sintassi di un linguaggio si ricorre a una grammatica G=(V n,v t
PROLOG E ANALISI SINTATTICA DEI LINGUAGGI Quando si vuole definire in modo preciso la sintassi di un linguaggio si ricorre a una grammatica Una grammatica permette di stabilire se una sequenza di simboli
DettagliAnalizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser.
Analizzatore lessicale o scanner Dispensa del corso di Linguaggi e Traduttori A.A. 2005-2006 Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner,
DettagliIntroduzione al C++ (continua)
Introduzione al C++ (continua) I puntatori Un puntatore è una variabile che contiene un indirizzo di memoria pi_greco 3.141592 pi_greco_ptr indirizzo di 3.141592 & DEREFERENZIAZIONE RIFERIMENTO * se x
Dettagli1 IL LINGUAGGIO MATEMATICO
1 IL LINGUAGGIO MATEMATICO Il linguaggio matematico moderno è basato su due concetti fondamentali: la teoria degli insiemi e la logica delle proposizioni. La teoria degli insiemi ci assicura che gli oggetti
DettagliLogica proposizionale
Definire un linguaggio formale Logica proposizionale Sandro Zucchi 2013-14 Definiamo un linguaggio formale LP (che appartiene a una classe di linguaggi detti linguaggi della logica proposizionale) Per
DettagliEsercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari
Esercizi di Fondamenti di Informatica per la sicurezza tefano Ferrari 23 dicembre 2003 2 Argomento 1 Grammatiche e linguaggi Esercizi Es. 1.1 Definiti i linguaggi: L 1 = {aa, ab, bc, c} L 2 = {1, 22, 31}
DettagliCodifica dell Informazione
Francesco Folino CODIFICA DI DATI E ISTRUZIONI Algoritmi Istruzioni che operano su dati Per scrivere un programma è necessario rappresentare dati e istruzioni in un formato tale che l esecutore automatico
DettagliA B C D E F
Il sistema di numerazione binario Il sistema di numerazione binario è di tipo posizionale (le cifre valgono secondo la posizione occupata) e a base 2 (le cifre usate sono due: lo zero, 0, e l uno, 1).
DettagliInformatica, Algoritmi, Linguaggi
Elementi di Informatica e Applicazioni Numeriche T Informatica, Algoritmi, Linguaggi Cos'è l'informatica? Che cos'è l'informatica? Cos'è l'informatica? Che cos'è l'informatica? Dell'informatica possiamo
DettagliCORSO ZERO DI MATEMATICA
UNIVERSITÀ DEGLI STUDI DI PALERMO FACOLTÀ DI ARCHITETTURA CORSO ZERO DI MATEMATICA RADICALI Dr. Erasmo Modica erasmo@galois.it LE RADICI Abbiamo visto che l insieme dei numeri reali è costituito da tutti
DettagliCodifica binaria. Rappresentazioni medianti basi diverse
Codifica binaria Rappresentazione di numeri Notazione di tipo posizionale (come la notazione decimale). Ogni numero è rappresentato da una sequenza di simboli Il valore del numero dipende non solo dalla
DettagliLa codifica binaria. Informatica B. Daniele Loiacono
La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria ( e ) per rappresentare: i dati da elaborare le istruzioni dei programmi eseguibili Fondamenti di codifica
DettagliConversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due
Conversione di base Dato N>0 intero convertirlo in base b dividiamo N per b, otteniamo un quoto Q 0 ed un resto R 0 dividiamo Q 0 per b, otteniamo un quoto Q 1 ed un resto R 1 ripetiamo finché Q n < b
DettagliALCUNI CENNI SUGLI INSIEMI
ALCUNI CENNI SUGLI INSIEMI In Matematica il concetto di insieme è assunto come primitivo, cioè non si definisce. Considereremo quindi la nozione di insieme dal punto di vista intuitivo. Un insieme è quindi
DettagliEspressioni e Comandi
Espressioni e Comandi March 24, 2017 Elementi di Base dei Programmi Ricordate? Macchina Astratta: Insieme di algoritmi e strutture dati che permettono di memorizzare ed eseguire programmi Abbiamo parlato
DettagliSistemi di numerazione
Sistemi di numerazione Introduzione Un sistema di numerazione è un sistema utilizzato per esprimere i numeri e possibilmente alcune operazioni che si possono effettuare su di essi. Storicamente i sistemi
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
Dettagli1.2e: La codifica Digitale dei Numeri
Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : La codifica Digitale dei Numeri Informatica Generale (Corso di Studio
DettagliCorso di Architettura degli Elaboratori
Corso di Architettura degli Elaboratori Codifica dell'informazione: Numeri Binari (lucidi originali della Prof.ssa Zacchi e del Prof. Balossino, rivisti dal Prof. Baldoni) 1 Codifica dell'informazione?
DettagliConcetti di base sugli automi e sui linguaggi formali
Concetti di base sugli automi e sui linguaggi formali Andrea Burattin 18 marzo 2005 Sommario Piccolo insieme di concetti sul funzionamento degli automi (a stati finiti, a pila,...), delle grammatiche libere
DettagliIntro. Traduzione guidata dalla sintassi. Attributi. Due notazioni a diversi livelli. Due notazioni a diversi livelli. Il flusso concettuale
Intro Traduzione guidata dalla sintassi Attributi e Definizioni guidate dalla sintassi In questa ultima parte del corso vediamo, in breve, una tecnica che permette di effettuare analisi semantiche e traduzione
DettagliConcetti di base dell ICT
Informatica Linguaggio di programmazione Computer Bit Algoritmo Linguaggio macchina Informatica: Informazione automatica Gli anglosassoni usano il termine Computer Science = Scienza dei Calcolatori Computer:
DettagliPumping lemma per i linguaggi Context-free
Pumping lemma per i linguaggi Context-free Sia L un linguaggio context-free. E possibile determinare una costante k, dipendente da L, tale che qualunque stringa z! L con z > k si può esprimere come z=
DettagliCostanti e Variabili
Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli
DettagliI sistemi di numerazione e la numerazione binaria
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
DettagliRappresentazione e Codifica dell Informazione
Rappresentazione e Codifica dell Informazione Capitolo 1 Chianese, Moscato, Picariello, Alla scoperta dei fondamenti dell informatica un viaggio nel mondo dei BIT, Liguori editore. Sistema di numerazione
DettagliIl Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
DettagliCorso di Controllo Digitale Equazioni alle Differenze e Z-trasformate a
Corso di Controllo Digitale Equazioni alle Differenze e Z-trasformate a Università degli Studi della Calabria Corso di Laurea in Ingegneria Elettronica. Ing. Domenico Famularo a Proprietà Letteraria Riservata
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliLa Rappresentazione Dell informazione
La Rappresentazione Dell informazione Parte I I Sistemi Di Numerazione La Rappresentazione Una rappresentazione è una relazione tra entità Un oggetto (rappresentante) rappresenta un altro oggetto (rappresentato),
DettagliIntroduzione e Nozioni di Base. Prof. Thomas Casali
Università degli studi di Bologna Facoltà di Economia Sede di Forlì Introduzione e Nozioni di Base Corso di Laurea in Economia di Internet Prof. Thomas Casali thomas@casali.biz La rappresentazione digitale
Dettagli