Espressività e limitazioni delle grammatiche regolari

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Espressività e limitazioni delle grammatiche regolari"

Transcript

1 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 all operatore, sufficienti e utili in molti ambiti, operatori potenti che esprimono la struttura delle frasi Limitazioni: non sono abbastanza potenti per esprimere la sintassi dei linguaggi di programmazione. la restrizione è sulle produzioni che devono essere tali da rispettare un ordinamento totale dei simboli non terminali. Formalmente A > B se A compare a destra nella produzione di B cioè B := E {A A V A>B} Λ Sono vietate le produzioni ricorsive ovvero produzioni in cui il simbolo non terminale che compare a sinistra della produzione, compare anche a destra, del tipo A ::=...A..., ma anche produzioni mutuamente ricorsive, del tipo A ::=...B..., B ::=...A... E. Occhiuto Fondamenti Teorici e Programmazione - Modulo B pag. 1

2 Le grammatiche libere da contesto Nelle grammatiche libere da contesto, l espressione che compare a destra del ::= è una sequenza di simboli terminali o non terminali. Tali grammatiche che hanno apparentemente delle produzioni più semplici delle grammatiche regolari, sono in realtà più potenti delle grammatiche regolari. Vediamo un esempio: {a, b, c}, {S}, S, {S ::= a S b, S ::= c} è una produzione corretta, notare l occorrenza a destra del ::= del non terminale che compare a sinistra, (ricorsione) ma... Cosa significa? Quale linguaggio denota L(S)? Il significato delle produzioni e quindi il linguaggio definito dalla grammatica possono essere ottenuti con la relazione E. Occhiuto Fondamenti Teorici e Programmazione - Modulo B pag. 2

3 Definizione della relazione La relazione permette data una sequenza di simboli terminali e non terminali della grammatica di derivare una nuova sequenza di simboli. Formalmente, data una grammatica libera G = Λ, V, S, P, si definisce nel seguente modo: {(s 1...s k A s k+1...s n s 1...s k s h...s j s k+1..s n ) A V s i Λ V A ::= s h...s j P} In pratica il simbolo non terminale A che compare in una sequenza viene rimpiazzato con la sequenza di simboli che compare a destra di una produzione di A nella grammatica. E. Occhiuto Fondamenti Teorici e Programmazione - Modulo B pag. 3

4 Esempi di derivazioni Data la grammatica precedente: G = {a, b, c}, {S}, S, {S ::= asb, S ::= c}, possiamo derivare: per S S c utilizzando la produzione S ::= c S asb utilizzando la produzione S ::= asb per asb asb acb utilizzando la produzione S ::= c asb aasbb utilizzando la produzione S ::= asb per aasbb aasbb aaacbbb utilizzando la produzione S ::= c aasbb aaasbbb utilizzando la produzione S ::= asb per aaasbbb ecc. aaasbbb aaaacbbbb utilizzando la produzione S ::= c aaasbbb aaaasbbbb utilizzando la produzione S ::= asb E. Occhiuto Fondamenti Teorici e Programmazione - Modulo B pag. 4

5 Definizione della relazione La relazione è la chusura transitiva della relazione. Formalmente, data una grammatica libera G = Λ, V, S, P, si definisce nel seguente modo: {(α β) α, β (Λ V ) δ (Λ V ) α δ δ β} Notare che da α δ derivazione in un passo, ma da δ β quindi un numero non precisato di passi In questo modo, le stringhe che risultano in relazione sono tutte quelle che si riescono a derivare in un numero qualsiasi di passi semplici di derivazione. E. Occhiuto Fondamenti Teorici e Programmazione - Modulo B pag. 5

6 Definizione del linguaggio di una grammatica libera Data una grammatica libera G = Λ, V, S, P, il linguaggio di una categoria sintattica A è l insieme di sequenze di simboli costituite da soli simboli terminali che si possono derivare da A. Formalmente: L(A) = {α α Λ A α} il linguaggio della grammatica G è coincide con il linguaggio del simbolo distinto: L(G) = L(S) E. Occhiuto Fondamenti Teorici e Programmazione - Modulo B pag. 6

7 I linguaggi definiti dalle grammatiche libere da contesto Riprendiamo la grammatica libera G = {a, b, c}, {S}, S, {S ::= asb, S ::= c} e cerchiamo di capire come sono fatte le sequenze che compongono L(G). Abbiamo derivato {c, acb, aacbb, aaacbbb, aaaacbbbb...} Risulta evidente che le stringhe hanno le stesso numero di a e di b. e cioè sono l insieme L(G) = {a n cb n n N }. Un tale linguaggio non è esprimibile utilizzando una grammatica regolare. E. Occhiuto Fondamenti Teorici e Programmazione - Modulo B pag. 7

8 Osservazioni Le derivazioni semplici o in più passi possono iniziare da una stringa qualunque, in questo caso, la stringa risultante non è o comunque non è detto che sia una stringa appartenente al linguaggio della grammatica. Vediamo un esempio, se inizio con la stringa acbcsccc acbcsccc acbccccc con la produzione S ::= c acbcsccc acbcasbccc con la produzione S ::= asb ancora riducibile: acbcasbccc acbcacbccc con la produzione S ::= c ecc. La relazione è tra stringhe che contengono simboli non terminali. Il linguaggio è costituito da stringhe composte tutte di simboli terminali, a cui pertanto non è più applicabile alcuna derivazione. E. Occhiuto Fondamenti Teorici e Programmazione - Modulo B pag. 8

9 Esempio delle espressioni aritmetiche Scriviamo una grammatica il cui linguaggio sono le sequenze di simboli che rappresentano espressioni aritmetiche, costanti cioè in cui gli operandi sono costanti intere. G = Λ, V, Exp, P Λ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,, +,, /, (, )} V = {Int,Nat Cifra, Segno, Op,Exp P = {Exp ::= Int, Exp ::= Exp Op Exp, produzione ricorsiva Exp ::= (Exp) produzione ricorsiva Op ::= +, Op ::=, Op ::=, Op ::= /, Int ::=... le produzioni della grammatica per i numeri interi già vista, convertite opportunamente per essere inserite in una grammatica libera. } E. Occhiuto Fondamenti Teorici e Programmazione - Modulo B pag. 9

10 Confronto tra grammatiche regolari e libere Le grammatiche regolari: definiscono una classe di linguaggi strettamente inclusa nella classe definita dalle grammatiche libere. definiscono linguaggi per i quali è possibile definire un ASFD che riconosca le sequenze appartenenti al linguaggio. contengono 2 importanti sottoclassi che sono le grammatiche lineari destre e sinistre. Le grammatiche libere ammettono produzioni ricorsive, ma non gli operatori delle espressioni regolari, non è possibile definire un ordinamento tra i simboli non terminali della grammatica. E. Occhiuto Fondamenti Teorici e Programmazione - Modulo B pag. 10

11 Conversione da grammatica regolare a grammatica libera Se i linguaggi definiti dalle grammatiche regolari sono inclusi nei linguaggi definiti dalle grammatiche libere allora data una grammatica regolare G R posso definire una grammatica libera equivalente G L, ovvero tale che L(G R ) = L(G L ). Dobbiamo eliminare dalle produzioni gli operatori e delle espressioni regolari, vediamo come: alternatore Data una produzione per il non terminale A, del tipo A ::= e 1 e 2 vengono definite due produzioni per A nel seguente modo: A ::= e 1, A ::= e 2 star Le occorrenze dell operatore ovvero e possono essere eliminate quando la grammatica contiene un simbolo non terminale la cui unica produzione è A ::= e. In questo caso la produzione per il non terminale A,può essere sostituita da 2 produzioni la prima è A :: ɛ, per la seconda, che deve essere ricorsiva, abbiamo 2 alternative A ::= A e oppure A ::= e A. E. Occhiuto Fondamenti Teorici e Programmazione - Modulo B pag. 11

12 Conversione da grammatica regolare a grammatica libera - continua Se le produzioni della grammatica non si trovano nella forma richiesta dalle regole precedenti è sempre possibile riportarle in tale forma introducendo dei nuovi simboli non terminali. Vediamo qualche esempio generale: La produzione A ::= e 1 (e 2 e 3 )e 4 : deve essere riscritta introducendo un nuovo non terminale A 1 e ottenendo cosi le produzioni A ::= e 1 A 1 e 4, A 1 ::= e 2 e 3 A questo punto è possibile applicare la regola per l eliminazione dell alternatore alla produzione di A 1 ottenendo A 1 ::= e 2, A 1 ::= e 3. Un altro caso generale è dato dalle produzione: A ::= e 1 e 2 : devono essere riscritte in A ::= A1, A ::= A 2, A 1 ::= e1, A 2 ::= e2 a questo punto è possibile applicare la regola 2 alle produzioni dei non terminali A 1 e A 2. E. Occhiuto Fondamenti Teorici e Programmazione - Modulo B pag. 12

13 Conversione da grammatica regolare a grammatica libera - esempio Il processo di riscrittura delle produzioni può richiedere diversi passi: Ad esempio, data la grammatica regolare G ::= Λ, V, A, P con Λ = {a, b, c, d} V = {A} P = {A ::= aa(aa) (b c )aa(aa) } È necessario riscrivere P in {A ::= A 1 A 2 A 1, A 1 ::= aa(aa), A 2 ::= b c } e ancora {A ::= A 1 A 2 A 1, A 1 ::= aaa 3, A 3 ::= (aa), A 2 ::= A 4 A 5, A 4 ::= b, A 5 ::= c } e applicando le regole {A ::= A 1 A 2 A 1, A 1 ::= aaa 3, A 3 ::= ɛ, A 3 ::= (aa)a 3, A 2 ::= A 4, A 2 ::= A 5, A 4 ::= ɛ, A 4 ::= ba 4, A 5 ::= ɛ, A 5 ::= ca 5 } Una semplificazione può essere applicata alle produzioni: A ::= ee che possono essere trasformate direttamente nelle produzioni A ::= e, A ::= ea oppure A ::= e, A ::= Ae, anzicchè introdurre un simbolo non terminale aggiuntivo. E. Occhiuto Fondamenti Teorici e Programmazione - Modulo B pag. 13

Grammatiche. 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 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

Dettagli

Definizione di Grammatica

Definizione di Grammatica Corso di Linguaggi e Traduttori 1 AA 2004-05 GRAMMATICHE 1 Definizione di Grammatica Formalmente definiamo un grammatica G mediante una quadrupla ( VN, VT, P, S ) dove: V N e l insieme dei simboli non

Dettagli

Corso di Linguaggi e Traduttori 1 AA GRAMMATICHE

Corso di Linguaggi e Traduttori 1 AA GRAMMATICHE Corso di Linguaggi e Traduttori 1 AA 2004-05 GRAMMATICHE 1 Definizione di Grammatica Formalmente definiamo un grammatica G mediante una quadrupla V, V, P S ( ) N T, dove: V N e l insieme dei simboli non

Dettagli

Espressioni Regolari

Espressioni Regolari Espressioni Regolari Le espressioni regolari sono costituite dalle stringhe sull alfabeto Σ = Σ {+,,*,(,),φ} ottenute secondo le seguenti regole: 1. φ e ciascun membro di Σ sono Epressioni Regolari 2.

Dettagli

PROLOG 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 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

Dettagli

Grammatiche Parse trees Lezione del 17/10/2012

Grammatiche 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,

Dettagli

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 richiami teorici sulle grammatiche di Chomsky esercizivari esercizi su grammatiche ed espressioni regolari

Dettagli

Corso di Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis

Corso di Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis Corso di Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis Capitolo 2 Grammatiche e Linguaggi Si ringraziano il Prof. Giovanni Semeraro e il Dott. Pasquale Lops per la concessione del

Dettagli

GRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE. Cosimo Laneve

GRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE. Cosimo Laneve GRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE Cosimo Laneve 1 argomenti 1. linguaggi di programmazione 2. definizione formale di insiemi infiniti 3. la grammatica e la notazione BNF 4. notazioni alternative

Dettagli

LA SINTASSI DEI LINGUAGGI DI PROGRAMMAZIONE. Ivan Lanese

LA SINTASSI DEI LINGUAGGI DI PROGRAMMAZIONE. Ivan Lanese LA SINTASSI DEI LINGUAGGI DI PROGRAMMAZIONE Ivan Lanese argomenti Grammatiche BNF Varianti: BNF + ε EBNF Remind: cos è una grammatica Una grammatica è uno strumento linguistico per definire insiemi di

Dettagli

Forme Normali. Forma normale di Chomsky. E caratterizzata da regole di due tipi. A! BC dove A, B, C $ V N A! a con a $ V T. Forma normale di Greibach

Forme Normali. Forma normale di Chomsky. E caratterizzata da regole di due tipi. A! BC dove A, B, C $ V N A! a con a $ V T. Forma normale di Greibach Forme Normali A partire da una grammatica Context-free G è sempre possibile costruire una grammatica equivalente G ovvero L(G) = L(G ) che abbiano le produzioni in forme particolari, dette forme normali.

Dettagli

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari

Esercizi 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}

Dettagli

Quiz sui linguaggi CF

Quiz sui linguaggi CF Fondamenti dell Informatica 1 semestre Quiz sui linguaggi CF Prof. Giorgio Gambosi a.a. 2014-2015 Problema 1: Si consideri la seguente grammatica context free G, dove S, NP, V P, P P, A sono i simboli

Dettagli

Forma Normale di Chomsky

Forma Normale di Chomsky 2. Eliminazione delle produzioni unitarie Forma Normale di Chomsky Una produzione si dice unitaria se è della forma A! B. Le produzioni unitarie in pratica consistono in una ridenominazione di variabili,

Dettagli

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi Linguaggi di Programmazione Corso C Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Grammatiche

Dettagli

Grammatiche context-free

Grammatiche context-free Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2013-2014 Linguaggi Formali e Compilatori Grammatiche context-free Giacomo PISCITELLI Politecnico di Bari G. Piscitelli pag. 1 di 28 Grammatiche

Dettagli

Automa deterministico con prospezione 1. < {q}, Σ, Σ V, δ, q, S, Φ > δ(a, X) = α R. se a Gui(X α) senza spostamento della testina.

Automa deterministico con prospezione 1. < {q}, Σ, Σ V, δ, q, S, Φ > δ(a, X) = α R. se a Gui(X α) senza spostamento della testina. Automa deterministico con prospezione 1 < {q}, Σ, Σ V, δ, q, S, Φ > δ(a, X) = α R δ(a, a) = ε se a Gui(X α) senza spostamento della testina con spostamento della testina Grammatica 1S ( S ) 2S [ S ] 3S

Dettagli

Cenni 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) 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

Dettagli

Linguaggi e Grammatiche Liberi da Contesto

Linguaggi e Grammatiche Liberi da Contesto N.Fanizzi-V.Carofiglio Dipartimento di Informatica Università degli Studi di Bari 22 aprile 2016 1 Linguaggi Liberi da Contesto 2 Grammatiche e Linguaggi Liberi da Contesto G = (X, V, S, P) è una grammatica

Dettagli

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Linguaggi 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

Dettagli

CIRCUITI IN CORRENTE CONTINUA

CIRCUITI IN CORRENTE CONTINUA IUITI IN ONT ONTINUA Un induttanza e tre resistenze 2 J J 2 L Il circuito sta funzionando da t = con l interruttore aperto. Al tempo t = 0 l interruttore viene chiuso. alcolare le correnti. Per t 0 circola

Dettagli

Costruzione di espressioni regolari 4

Costruzione di espressioni regolari 4 ostruzione di espressioni regolari 4 Indicando con d uno dei possibili digits {,, 2,,9} --possiamo esprimere il sotto linguaggio dei digits come d = ( + + 2 +.. + 9) Quale linguaggio produce l espressione:

Dettagli

Informatica Teorica. linguaggi non contestuali

Informatica Teorica. linguaggi non contestuali Informatica Teorica linguaggi non contestuali di tipo 2 context free (CF) 1 linguaggi non contestuali molte frasi in linguaggio naturale hanno una struttura sintattica non contestuale esempio: soggetto

Dettagli

Espressioni regolari

Espressioni regolari spressioni Regolari Un FA (NFA o DFA) e una macchina a stati finiti che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo (o algebrico) per descrivere un linguaggio regolare.

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Corso 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

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Corso di Programmazione Linguaggi di Programmazione

Corso di Programmazione Linguaggi di Programmazione Corso di Programmazione Linguaggi di Programmazione Dott. Stefano Ferilli ferilli@di.uniba.it Università degli Studi di Bari Dipartimento di Informatica Linguaggio Insieme di sequenze di simboli appartenenti

Dettagli

Codifica binaria. Rappresentazioni medianti basi diverse

Codifica 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

Dettagli

I.4 Rappresentazione dell informazione

I.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

Dettagli

Precorso di Matematica

Precorso di Matematica UNIVERSITÀ DEGLI STUDI ROMA TRE FACOLTA DI ARCHITETTURA Precorso di Matematica Anna Scaramuzza Anno Accademico 2005-2006 4-10 Ottobre 2005 INDICE 1. ALGEBRA................................. 3 1.1 Equazioni

Dettagli

Pumping lemma per i linguaggi Context-free

Pumping 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=

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti 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

Dettagli

Logica per la Programmazione

Logica per la Programmazione Logica per la Programmazione Lezione 15 Sistema di Dimostrazioni per le Triple di Hoare Sequenze (Array) e Aggiornamento Selettivo A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi 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

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Rappresentazione dei numeri naturali (N) Rappresentazione dei numeri interi (Z) Modulo e segno In complemento a 2 Operazioni aritmetiche

Dettagli

Linguaggi e Traduttori: Analisi sintattica

Linguaggi e Traduttori: Analisi sintattica Linguaggi e Traduttori: Analisi sintattica Armando Tacchella Sistemi e Tecnologie per il Ragionamento Automatico (STAR-Lab) Dipartimento di Informatica Sistemistica e Telematica (DIST) Università di Genova

Dettagli

La codifica digitale

La 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

Dettagli

Rappresentazione e Codifica dell Informazione

Rappresentazione 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

Dettagli

L elaborazione del linguaggio naturale

L elaborazione del linguaggio naturale L elaborazione del linguaggio naturale fondamenti teorici dell intelligenza artificiale: la capacità di elaborare simboli è alla base del comportamento intelligente. L esempio di elaborazione simbolica

Dettagli

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Propagazione degli errori introdotti nei dati

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

I metodi formali dell Analisi Lessicale: Le Espressioni Regolar

I metodi formali dell Analisi Lessicale: Le Espressioni Regolar I metodi formali dell Analisi Lessicale: Le Espressioni Regolari (ER) N.Fanizzi - V.Carofiglio 6 aprile 2016 1 Introduzione 2 3 4 5 Espressioni Regolari Dato un alfabeto finito X, una espressione regolare

Dettagli

ESERCIZI SUI PUNTI DI NON DERIVABILITÀ TRATTI DA TEMI D ESAME

ESERCIZI SUI PUNTI DI NON DERIVABILITÀ TRATTI DA TEMI D ESAME ESERCIZI SUI PUNTI DI NON DERIVABILITÀ TRATTI DA TEMI D ESAME a cura di Michele Scaglia FUNZIONI DERIVABILI Sia f : domf R una funzione e sia 0 domf di accumulazione per domf Chiamiamo derivata prima di

Dettagli

Parser Bottom UP. Giuseppe Morelli

Parser Bottom UP. Giuseppe Morelli Parser Bottom UP Giuseppe Morelli Parser Bottom UP Un parser Bottom Up lavora costruendo il corrispondente albero di parsing per una data stringa di input partendo dalle foglie (bottom) e risalendo via

Dettagli

PREPARAZIONE ALLE GARE DI MATEMATICA - CORSO BASE

PREPARAZIONE ALLE GARE DI MATEMATICA - CORSO BASE Liceo Scientifico Gullace PREPARAZIONE ALLE GARE DI MATEMATICA - CORSO BASE Aritmetica 014-15 1 Lezione 1 DIVISIBILITÀ, PRIMI E FATTORIZZAZIONE Definizioni DIVISIBILITÀ': dati due interi a e b, diciamo

Dettagli

Aritmetica dei Calcolatori Elettronici

Aritmetica 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

Dettagli

Equazioni di primo grado. Equazione. Es. 2x = 3x - x + 3 metto x = = se risolvo ottengo 5 = 5

Equazioni di primo grado. Equazione. Es. 2x = 3x - x + 3 metto x = = se risolvo ottengo 5 = 5 01 Equazione Equazione: prese due quantità che contengono una lettera x (non conosciuta), queste quantità vengono scritte una a destra ed una a sinistra mettendo un segno = (uguale) tra loro. x + 1 = 3x

Dettagli

La tesi di Church-Turing

La tesi di Church-Turing ITLCC 2006/11/12 21:06 page 79 #3 Capitolo 5 La tesi di Church-Turing SOMMARIO Sebbene il concetto di algoritmo abbia avuto una lunga storia nel campo della matematica, il concetto formale di algoritmo

Dettagli

Sviluppi e derivate delle funzioni elementari

Sviluppi e derivate delle funzioni elementari Sviluppi e derivate delle funzioni elementari In queste pagine dimostriamo gli sviluppi del prim ordine e le formule di derivazioni delle principali funzioni elementari. Utilizzeremo le uguaglianze lim

Dettagli

Un po di storia sui linguaggi

Un po di storia sui linguaggi LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Un po di storia sui linguaggi 1957 John Backus e colleghi della IBM rilasciano la prima

Dettagli

ELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE

ELEMENTI DI PROGRAMMAZIONE a.a. 2013/14 UNA GERARCHIA DI MACCHINE ELEMENTI DI PROGRAMMAZIONE a.a. 23/4 UNA GERARCHIA DI MACCHINE Andrea Prevete, UNINA2 24 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a numero finito di stati)... macchine

Dettagli

GRAMMATICA FORMALE. Albero sintattico

GRAMMATICA FORMALE. Albero sintattico GRAMMATICA FORMALE Una quadrupla VT,VN,P,S dove: VT è un insieme finito di simboli terminali VN è un insieme finito di simboli non terminali Pè uninsieme finito di produzioni, ossiadi regole di riscrittura

Dettagli

Proprietà dei linguaggi regolari

Proprietà dei linguaggi regolari Proprietà dei linguaggi regolari Argomenti della lezione Relazione tra automi, grammatiche ed espressioni regolari Pumping lemma per i linguaggi regolari Equivalenza di automi a stati finiti Le seguenti

Dettagli

Appendice 1. Spazi vettoriali

Appendice 1. Spazi vettoriali Appendice. Spazi vettoriali Indice Spazi vettoriali 2 2 Dipendenza lineare 2 3 Basi 3 4 Prodotto scalare 3 5 Applicazioni lineari 4 6 Applicazione lineare trasposta 5 7 Tensori 5 8 Decomposizione spettrale

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi 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

Dettagli

Fasi di un Compilatore

Fasi di un Compilatore Dipartimento di Matematica e Informatica Università di Camerino Un implementazione compilativa di un linguaggio di programmazione viene realizzata tramite un programma che prende il nome di compilatore

Dettagli

Traduzione guidata dalla sintassi

Traduzione guidata dalla sintassi Traduzione guidata dalla sintassi Attributi e definizioni guidate dalla sintassi Dipartimento di Matematica e Informatica mariarita.diberardini@unicam.it Analisi Semantica Analisi sintattica - output:

Dettagli

Appunti di Excel per risolvere alcuni problemi di matematica (I parte) a.a

Appunti di Excel per risolvere alcuni problemi di matematica (I parte) a.a Appunti di Excel per risolvere alcuni problemi di matematica (I parte) a.a. 2001-2002 Daniela Favaretto* favaret@unive.it Stefania Funari* funari@unive.it *Dipartimento di Matematica Applicata Università

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Un 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

Dettagli

Lezione 2. La conoscenza del mondo

Lezione 2. La conoscenza del mondo Lezione 2 Analogico/Digitale Il sistema binario L aritmetica binaria La conoscenza del mondo Per poter parlare (ed elaborare) degli oggetti (nella visione scientifica) si deve poter assegnare a questi

Dettagli

Capitolo 1 Vettori applicati e geometria dello spazio

Capitolo 1 Vettori applicati e geometria dello spazio Capitolo 1 Vettori applicati e geometria dello spazio Marco Robutti Facoltà di ingegneria Università degli studi di Pavia Tutorato di geometria e algebra lineare Anno accademico 2014-2015 Definizione (Vettore

Dettagli

1 Applicazioni lineari

1 Applicazioni lineari 1 Applicazioni lineari 1 Applicazioni lineari 1.1 Definizione Si considerino lo spazio tridimensionale euclideo E e lo spazio vettoriale V ad esso associato. Definizione. 1.1. Sia A una applicazione di

Dettagli

Corso di Analisi Matematica Calcolo differenziale per funzioni di una variabile

Corso di Analisi Matematica Calcolo differenziale per funzioni di una variabile Corso di Analisi Matematica Calcolo differenziale per funzioni di una variabile Laurea in Informatica e Comunicazione Digitale A.A. 2013/2014 Università di Bari ICD (Bari) Analisi Matematica 1 / 41 1 Derivata

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Università degli Studi La Sapienza Fondamenti di

Dettagli

Sperimentazioni di Fisica I mod. A Lezione 3

Sperimentazioni di Fisica I mod. A Lezione 3 Sperimentazioni di Fisica I mod. A Lezione 3 Alberto Garfagnini Marco Mazzocco Cinzia Sada La Rappresentazione dei Numeri Lezione III: Numeri Reali 1. Rappresentazione e Cambiamento di Base Dipartimento

Dettagli

TEN Radici quadrate modulo p e modulo p k. Radici quadrate modulo p, con p > 2.

TEN Radici quadrate modulo p e modulo p k. Radici quadrate modulo p, con p > 2. TEN 2008. Radici quadrate modulo p e modulo p k. Radici quadrate modulo p, con p > 2. Lemma 1. Sia n Z. Sia p > 2 un numero primo. (a) n è un quadrato modulo p se e solo se n p 1 2 1 mod p; (b) Sia n 0

Dettagli

Elaborazione di File di Dati. Uso di semplici comandi Espressioni regolari AWK

Elaborazione di File di Dati. Uso di semplici comandi Espressioni regolari AWK Elaborazione di File di Dati Uso di semplici comandi Espressioni regolari AWK Sort sort [option] file1... filen Consente di ordinare, fondere o confrontare le linee dei file in input Ha tre modalità di

Dettagli

Linguistica Computazionale

Linguistica Computazionale Linguistica Computazionale Laboratorio espressioni regolari (1) 30 settembre 2014 Cercare, ricercare Cercare una parola in un testo è semplice: ma come fare per ricerche più complesse? le parole che terminano

Dettagli

Funzioni derivabili (V. Casarino)

Funzioni derivabili (V. Casarino) Funzioni derivabili (V. Casarino) Esercizi svolti 1) Applicando la definizione di derivata, calcolare la derivata in = 0 delle funzioni: a) 5 b) 3 4 c) + 1 d) sin. ) Scrivere l equazione della retta tangente

Dettagli

Università degli studi Roma Tre. linguaggio Java. A cura di A. Orlandini. Linguaggi: Sintassi e Semantica - Il. Il linguaggio Java

Università degli studi Roma Tre. linguaggio Java. A cura di A. Orlandini. Linguaggi: Sintassi e Semantica - Il. Il linguaggio Java Università degli studi Roma Tre Linguaggi: Sintassi e Semantica Il A cura di A. Orlandini 1 Obiettivi Distinguere la sintassi dalla semantica di un linguaggio Conoscere le convenzioni del meta-linguaggio

Dettagli

Corso di Laurea in Fisica. Geometria. a.a Canale 3 Prof. P. Piazza Magiche notazioni

Corso di Laurea in Fisica. Geometria. a.a Canale 3 Prof. P. Piazza Magiche notazioni Corso di Laurea in Fisica. Geometria. a.a. 23-4. Canale 3 Prof. P. Piazza Magiche notazioni Siano V e W due spazi vettoriali e sia T : V W un applicazione lineare. Fissiamo una base B per V ed una base

Dettagli

Programmazione in Java (I modulo)

Programmazione 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

Dettagli

Unità Didattica 2 I Linguaggi di Programmazione

Unità Didattica 2 I Linguaggi di Programmazione Unità Didattica 2 I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche

Dettagli

Introduzione ai puntatori in C Definizione

Introduzione ai puntatori in C Definizione Introduzione ai puntatori in C Definizione Un puntatore è una variabile che contiene l indirizzo di un altra variabile Tramite i puntatori si può quindi accedere a un oggetto indirettamente (si usa il

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada

Dettagli

Università degli Studi di Palermo Facoltà di Economia. Dipartimento di Scienze Economiche, Aziendali e Statistiche. Appunti del corso di Matematica

Università degli Studi di Palermo Facoltà di Economia. Dipartimento di Scienze Economiche, Aziendali e Statistiche. Appunti del corso di Matematica Università degli Studi di Palermo Facoltà di Economia Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 03 - I Numeri Reali Anno Accademico 2015/2016 M. Tumminello,

Dettagli

Linguaggio C - sezione dichiarativa: costanti e variabili

Linguaggio C - sezione dichiarativa: costanti e variabili Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente

Dettagli

Rappresentazione dei Numeri

Rappresentazione dei Numeri Rappresentazione dei Numeri Rappresentazione dei Numeri Il sistema numerico binario è quello che meglio si adatta alle caratteristiche del calcolatore Il problema della rappresentazione consiste nel trovare

Dettagli

1 Osservazioni sugli stati legati

1 Osservazioni sugli stati legati 1. OSSERVAZIONI SUGLI STATI LEGATI 1 1 Osservazioni sugli stati legati 1.1 Principio variazionale La soluzione dell equazione di Schrödinger per lo stato fondamentale può essere vista anche come la soluzione

Dettagli

Linguaggi formali e compilatori

Linguaggi formali e compilatori POLITECNICO DI MILANO Linguaggi formali e compilatori Appunti Stefano Invernizzi Anno accademico 2010-2011 Corso del prof. Angelo Morzenti Sommario Introduzione ai linguaggi... 5 Terminologia di base...

Dettagli

I. Foglio di esercizi su vettori linearmente dipendenti e linearmente indipendenti. , v 2 = α v 1 + β v 2 + γ v 3. α v 1 + β v 2 + γ v 3 = 0. + γ.

I. Foglio di esercizi su vettori linearmente dipendenti e linearmente indipendenti. , v 2 = α v 1 + β v 2 + γ v 3. α v 1 + β v 2 + γ v 3 = 0. + γ. ESERCIZI SVOLTI DI ALGEBRA LINEARE (Sono svolti alcune degli esercizi proposti nei fogli di esercizi su vettori linearmente dipendenti e vettori linearmente indipendenti e su sistemi lineari ) I. Foglio

Dettagli

Laurea in Informatica Corso di Analisi Matematica Calcolo differenziale per funzioni di una variabile

Laurea in Informatica Corso di Analisi Matematica Calcolo differenziale per funzioni di una variabile Laurea in Informatica Corso di Analisi Matematica Calcolo differenziale per funzioni di una variabile Docente: Anna Valeria Germinario Università di Bari A.V.Germinario (Università di Bari) Analisi Matematica

Dettagli

Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore

Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore Soluzione di un sistema non lineare con la Regula Falsi generalizzata per la determinazione

Dettagli

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato Corso di JavaScript B1 Tipi di dato e operatori 1 Prerequisiti Concetto di variabile, espressione e tipo di dato 2 1 Introduzione In questa Unità illustriamo alcuni strumenti operativi per la scrittura

Dettagli

Somma di numeri binari

Somma di numeri binari Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di

Dettagli

Cap. 2 - Rappresentazione in base 2 dei numeri interi

Cap. 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:

Dettagli

Calcolatori: Sistemi di Numerazione

Calcolatori: Sistemi di Numerazione Calcolatori: Sistemi di Numerazione Sistemi di Numerazione: introduzione In un Calcolatore, i Dati e le Istruzioni di un Programma sono codificate in forma inaria, ossia in una sequenza finita di e. Un

Dettagli

Architettura degli elaboratori - 2 -

Architettura degli elaboratori - 2 - Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori La rappresentazione dell informazione nei calcolatori Marco Tarini Dipartimento di Scienze

Dettagli

Dispense del corso di Linguaggi di programmazione e laboratorio Linguaggi formali(versione non definitiva con diversi refusi) Francesco Sisini

Dispense del corso di Linguaggi di programmazione e laboratorio Linguaggi formali(versione non definitiva con diversi refusi) Francesco Sisini Dispense del corso di Linguaggi di programmazione e laboratorio Linguaggi formali(versione non definitiva con diversi refusi) Francesco Sisini 04 Giugno 2014 Indice 0.1 Automi.................................

Dettagli

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 proprietà delle grammatiche non contestuali pumping lemma forme normali notazioni sul livello degli

Dettagli

Precorsi di matematica

Precorsi 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

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione Breve storia dei sistemi di numerazione. Probabilmente l uomo primitivo per contare gli animali e gli oggetti usava le dieci dita delle mani e, una volta abbassate tutte, tracciava

Dettagli

Esercizi di logica. Ivan Valbusa 5 dicembre 2012

Esercizi di logica. Ivan Valbusa 5 dicembre 2012 Esercizi di logica Ivan Valbusa 5 dicembre 2012 Gli esercizi proposti di seguito coprono solo una piccola parte del programma del corso. Sono mediamente più difficili di quelli presenti sul manuale di

Dettagli

Introduciamo il sistema di riferimento indicato in figura b) con F 1 = ( f, 0) ed F 2 = (f, 0). Se P = (x, y) la condizione (1) fornisce

Introduciamo il sistema di riferimento indicato in figura b) con F 1 = ( f, 0) ed F 2 = (f, 0). Se P = (x, y) la condizione (1) fornisce 1 L ellisse 1.1 Definizione Consideriamo due punti F 1 ed F 2 e sia 2f la loro distanza. L ellisse è il luogo dei punti P tali che la somma delle distanze PF 1 e PF 2 da F 1 ed F 2 è costante. Se indichiamo

Dettagli

Introduzione ad alcuni sistemi di logica modale

Introduzione ad alcuni sistemi di logica modale Introduzione ad alcuni sistemi di logica modale Laura Porro 16 maggio 2008 1 Il calcolo proposizionale Prendiamo come primitivi i simboli del Calcolo Proposizionale (PC) tradizionale a due valori 1 : un

Dettagli

Quello che avreste dovuto sapere su ordinali e cardinali, ma non avete mai osato studiare.

Quello che avreste dovuto sapere su ordinali e cardinali, ma non avete mai osato studiare. Relazione per il seminario di logica, Milano, 11 Aprile 2008. Quello che avreste dovuto sapere su ordinali e cardinali, ma non avete mai osato studiare. Giorgio Venturi Si può giustamente affermare che

Dettagli

Cosa si intende con stato

Cosa 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

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Problema che coinvolge aspetti filosofici Interessa soprattutto distinguere informazioni diverse Con un solo simbolo è impossibile Pertanto l insieme minimo è costituito

Dettagli

Appunti sulla circonferenza

Appunti sulla circonferenza 1 Liceo Falchi Montopoli in Val d Arno - Classe 3 a I - Francesco Daddi - 16 aprile 010 Appunti sulla circonferenza In queste pagine sono trattati gli argomenti riguardanti la circonferenza nel piano cartesiano

Dettagli