Fondamenti teorici e programmazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fondamenti teorici e programmazione"

Transcript

1 Fondamenti teorici e programmazione FTP(A) - modb Lezione 11 Operazioni su linguaggi Espressioni Regolari F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 1

2 Operazioni insiemistiche sui linguaggi Sia A un alfabeto e P(A ) l insieme di tutti i linguaggi sull alfabeto A. I linguaggi possono essere combinati, utilizzando le solite operazioni insiemistiche: Unione di linguaggi: L 1 L 2 = {w A w L 1 o w L 2 } Intersezione di linguaggi: L 1 L 2 = {w A w L 1 e w L 2 } Complemento: L = {w A w / L} F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 2

3 Concatenazione di linguaggi Due linguaggi possono essere concatenati con l operazione : P(A ) P(A ) P(A ), definita come segue L 1 L 2 = {w A w 1 L 1, w 2 L 2 such that w = w 1 w 2 } Esempi: Sia L1 = {anna, so} e L 2 = {rella}, L 1 L 2 = {annarella, sorella}; Sia L1 = {anna, so} e L 2 = {rella, le}, L 1 L 2 = {annarella, sorella, annale, sole}; Sia L 1 = {2, 4, 8} e L 2 = {3, 5, 7}, L 1 L 2 = {23, 25, 27, 43, 45, 47, 83, 85, 87} Sia L 1 = {ε, V, L, D} e L 2 = {I, II, II }, L 1 L 2 = {I, II, III, VI, VII, VIIII, LI, LII, LIII, DI, DII, DIII } Sia L 1 = e L 2 = {anna, so}, L 1 L 2 = F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 3

4 Proprietà algebriche della concatenazione di linguaggi Per tutti gli alfabeti A e per tutti i linguaggi L, L 1, L 2, L 3 P(A ), valgono le proprietà: (Associativa) L 1 (L 2 L 3 ) = (L 1 L 2 ) L 3 (Unità) L {ε} = L = {ε} L ( annichilisce ) L = = L ( distribuisce sopra ) L 1 (L 2 L 3 ) = (L 1 L 2 ) (L 1 L3) (L 1 L 2 ) L 3 = (L 1 L 3 ) (L 2 L3) Si dice che (P(A ),,,, {ε}) forma un semi-anello F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 4

5 La stella di Kleene La stella di Kleene è una funzione ( ) : P(A ) P(A ) definita per tutti i linguaggi L P(A ) come L = {ε} L L L L (L L) L (L (L L))... Esempi per l alfabeto A = {a, b, c} Se L = {a}, allora L = {ε, a, aa, aaa, aaaa,... } Se L = {a, b}, allora L = {ε, a, b, aa, ab, ba, bb, aaa,... } Se L = {ab}, allora L = {ε, ab, abab, ababab,... } Se L = {ab, c}, allora L = {ε, ab, c, abc, cab, ababc, abcab, cabab... } Se L = {aa, bb}, allora L = {ε, aa, bb, aabb, bbaa, aaaa, bbbb, aabbaa... } F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 5

6 Analogia con l algebra relazionale Si ricordi l algebra delle relazioni R A A. Avevamo mostrato due frammenti: le allegorie e il frammento di Kleene. Il secondo è: (P(A A),,, ;, Id A, ( ) ) Per il linguaggi abbiamo delle operazioni analoghe: (P(A ),,,, {ε}, ( ) ) Abbiamo visto che le due strutture soddisfano le stesse proprietà algebriche. F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 6

7 Espressioni Regolari Le espressioni regolari sono delle espressioni per denotare linguaggi su un alfabeto A. Le espressioni regolari sono usate in molti contesti applicativi: nei motori di ricerca, nei comandi search and replace negli editor di testo, in molte utilities di text processing e nell analisi lessicale. Molti linguaggi di programmazione provvedono librerie per le espressioni regolari. F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 7

8 Espressioni Regolari: definizione induttiva Definizione: Una espressione regolare (abbreviato RE) sull alfabeto A è 0, oppure 1, oppure a per ogni a A, oppure RE+RE, oppure RE RE, oppure RE. L insieme di tutte le espressioni regolari su A è denotato da RExp A. Esempi per A = {a, b, c} è una espressione regolare è una espressione regolare 1 b è una espressione regolare 1 b è una espressione regolare 1 b + (ab) è una espressione regolare + non è una espressione regolare F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 8

9 Semantica delle espressioni regolari: intuizione La semantica per le espressioni regolari assegna ad ogni espressione e RExp A un linguaggio in P(A ). Intuitivamente: 0 denota il linguaggio vuoto 1 denota il linguaggio {ε} a denota il linguaggio {a} + esegue l unione dei linguaggi ( ) esegue la concatenazione di linguaggi ( ) esegue la stella di Kleene di linguaggi ( ) Esempio: a b denota il linguaggio {ab}. (a b) + c denota il linguaggio {ab, c}. (a b) + 1 denota il linguaggio {ab, ε} (a b) + 1 denota il linguaggio {ε, ab, abab, ababab,... } F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 9

10 Semantica delle espressioni regolari La semantica per le espressioni regolari è una funzione S : RExp A P(A ) definita ricorsivamete per ogni e RExp A come S(e) = se e = 0, {ε} se e = 1 {a} se e = a S(e 1 ) S(e 2 ) se e = e 1 + e 2 S(e 1 ) S(e 2 ) se e = e 1 e 2 S(e 1 ) se e = e 1 Esempi: S( (a b) + c ) = S( (a b) ) S( c ) = S( a b ) S( c ) = (S( a ) S( b )) S( c ) = ({a} {b}) {c} = {ab} {c} = {ɛ, ab, abab, ababab,... c} F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 10

11 Linguaggi Regolari Definizione: Un linguaggio L P(A ) è detto regolare se esiste una espressione regolare e RExp A che denota L, cioè tale che S(e) = L. Non tutti i linguaggi sono regolari. Il seguente diagramma mostra la famosa gerarchia di Chomsky. F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 11

Introduzione ai Linguaggi Formali

Introduzione ai Linguaggi Formali Introduzione ai Linguaggi Formali Elementi dei linguaggi Alfabeto o vocabolario Insieme finito di simboli di base Esempi: Alfabeto latino {a, b,, z} Cifre {0, 1,, 9} Alfabeto binario {0, 1} Stringa su

Dettagli

Linguaggi. Che cos è un linguaggio di programmazione? Aspetti da studiare e comprendere per poter scrivere programmi:

Linguaggi. Che cos è un linguaggio di programmazione? Aspetti da studiare e comprendere per poter scrivere programmi: Linguaggi Che cos è un linguaggio di programmazione? Aspetti da studiare e comprendere per poter scrivere programmi: Sintassi: forma delle frasi, correttezza sintattica Semantica: significato delle frasi,

Dettagli

Nozioni Preliminari e Terminologia. Alfabeti Stringhe Linguaggi

Nozioni Preliminari e Terminologia. Alfabeti Stringhe Linguaggi Nozioni Preliminari e Terminologia Alfabeti Stringhe Linguaggi Insiemi Def. Un insieme è una collezione non ordinata di oggetti o elementi Gli insiemi sono scritti tra { } Gli elementi sono inseriti tra

Dettagli

Corso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. I linguaggi formali. Giacomo PISCITELLI

Corso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. I linguaggi formali. Giacomo PISCITELLI Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2011-2012 Linguaggi Formali e Compilatori I linguaggi formali Giacomo PISCITELLI Traduttori Un traduttore è un programma che effettua la traduzione

Dettagli

Introduzione al corso

Introduzione al corso Introduzione al corso Argomenti della lezione Obiettivi e programma del corso Alfabeti, stringhe, linguaggi Operazioni su linguaggi Espressioni regolari Per studiare le proprietà fondamentali di algoritmi,

Dettagli

Linguaggi. Rosario Culmone, Luca Tesei. 20/10/2009 UNICAM - p. 1/32

Linguaggi. Rosario Culmone, Luca Tesei. 20/10/2009 UNICAM - p. 1/32 Linguaggi Rosario Culmone, Luca Tesei 20/10/2009 UNICAM - p. 1/32 Alfabeto Un alfabeto è un insieme finito di simboli. Useremo Σ per denotare un alfabeto. Esempi di alfabeto sono: l alfabeto latino adottato

Dettagli

Sommario. Espressioni regolari. Equivalenza tra espressioni regolari e DFA. Esercizi problemi di decisione

Sommario. Espressioni regolari. Equivalenza tra espressioni regolari e DFA. Esercizi problemi di decisione Sommario Espressioni regolari Equivalenza tra espressioni regolari e DFA Esercizi problemi di decisione ESPRESSIONI REGOLARI Le espressioni regolari sono una notazione per rappresentare insiemi di stringhe

Dettagli

(1) Linguaggio L = insieme di stringhe, sequenze finite di elementi del vocabolario

(1) Linguaggio L = insieme di stringhe, sequenze finite di elementi del vocabolario Luigi Rizzi Linguistica computazionale I. Elementi di base sulle grammatiche formali (1) Linguaggio L = insieme di stringhe, sequenze finite di elementi del vocabolario (2) Dato un vocabolario A, l insieme

Dettagli

NFA per riconoscere numeri decimali

NFA per riconoscere numeri decimali NFA per riconoscere numeri decimali Vogliamo un NFA che accetta numeri decimali. Un numero decimale consiste di: 1 Un segno + o -, opzionale 2 Una stringa di cifre decimali 3 un punto decimale 4 un altra

Dettagli

Espressioni regolari in UNIX p.1/19

Espressioni regolari in UNIX p.1/19 Espressioni regolari in UNIX Violetta Lonati a Dipartimento Scienze dell Informazione Università degli Studi di Milano a E garantito il permesso di copiare, distribuire e/o modificare i materiali cont

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

Espressioni regolari descrivono i linguaggi regolari. Un FA (NFA o DFA) è un metodo per costruire una macchina che riconosce linguaggi regolari.

Espressioni regolari descrivono i linguaggi regolari. Un FA (NFA o DFA) è un metodo per costruire una macchina che riconosce linguaggi regolari. Espressioni regolari descrivono i linguaggi regolari Un FA (NFA o DFA) è un metodo per costruire una macchina che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo per descrivere

Dettagli

Fondamenti d Informatica: stringa e linguaggio. Barbara Re, Phd

Fondamenti d Informatica: stringa e linguaggio. Barbara Re, Phd Fondamenti d Informatica: stringa e linguaggio Barbara Re, Phd Agenda } Introdurremo } la nozione di stringa e linguaggio } il ruolo che stringhe e linguaggi hanno per rappresentare l informazione 2 Alfabeti

Dettagli

Algebra di Boole. Da Boole a Shannon

Algebra di Boole. Da Boole a Shannon Corso di Calcolatori Elettronici I A.A. 2012-2013 Algebra di Boole Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Inforazione

Dettagli

Espressioni regolari. Espressioni regolari

Espressioni regolari. Espressioni regolari ommario delle espressioni regolari Da automi a espressioni regolari Da espressioni regolari ad automi Leggi algebriche per linguaggi spressioni regolari DFA, NFA, ɛ-nfa sono un metodo formale per costruire

Dettagli

Sipser, Capitolo 0. Alfabeti, Stringhe, Linguaggi

Sipser, Capitolo 0. Alfabeti, Stringhe, Linguaggi Sipser, Capitolo 0 Alfabeti, Stringhe, Linguaggi Def. Un insieme è una collezione non ordinata di oggetti o elementi Gli insiemi sono scritti tra { } Gli elementi sono inseriti tra le parentesi Insiemi

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

Parte n.4 Linguaggi: Gerarchia ed Operazioni

Parte n.4 Linguaggi: Gerarchia ed Operazioni Linguaggi di Programmazione Corso C Parte n.4 Linguaggi: Gerarchia ed Operazioni Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Gerarchia di Chomsky Sia

Dettagli

Fondamenti di informatica per la sicurezza anno accademico docente: Stefano Ferrari

Fondamenti di informatica per la sicurezza anno accademico docente: Stefano Ferrari Corso di Laurea in icurezza dei sistemi e delle reti informatiche Fondamenti di informatica per la sicurezza anno accademico 2004 2005 docente: tefano Ferrari 14.01.2005 del secondo compitino vers. D valutazioni

Dettagli

Sperimentazioni di Fisica I mod. A Lezione 4

Sperimentazioni di Fisica I mod. A Lezione 4 Sperimentazioni di Fisica I mod. A Lezione 4 Alberto Garfagnini Marco Mazzocco Dipartimento di Fisica G. Galilei, Università di Padova 14-15 ottobre 2013 Algebra Booleana Lezione IV: Algebra Booleana 1.

Dettagli

Linguaggi e grammatiche

Linguaggi e grammatiche Linguaggi e grammatiche Corso di Fondamenti di Informatica - 1 modulo Corso di Laurea in Informatica Università di Roma Tor Vergata a.a. 2017-2018 Prof. Giorgio Gambosi Alfabeti e linguaggi Alfabeto Un

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

Classi di modelli. RegExp 1

Classi di modelli. RegExp 1 RegExp 1 Classi di modelli I linguaggi possono essere rappresentati mediante Insiemi Pattern Espressioni regolari Modelli operazionali Automi Reti di Petri Diagrammi di stato Modelli generativi Grammatiche

Dettagli

Quiz sui linguaggi CF

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

Dettagli

Linguaggi di Programmazione Corso C. Parte n.2 Introduzione ai Linguaggi Formali. Nicola Fanizzi

Linguaggi di Programmazione Corso C. Parte n.2 Introduzione ai Linguaggi Formali. Nicola Fanizzi Linguaggi di Programmazione Corso C Parte n.2 Introduzione ai Linguaggi Formali Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Definizioni Preliminari Un

Dettagli

Fondamenti di informatica per la sicurezza

Fondamenti di informatica per la sicurezza Corso di Laurea in icurezza dei sistemi e delle reti informatiche Fondamenti di informatica per la sicurezza anno accademico 2003 2004 docente: tefano Ferrari del secondo compitino 13.01.2004 versione

Dettagli

Backus Naur Form. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova. BNF, Paolo Bison, A.A ,

Backus Naur Form. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova. BNF, Paolo Bison, A.A , p.1/19 Backus Naur Form Paolo Bison Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova Linguaggio di programmazione p.2/19 strumento linguistico per scrivere una sequenza di istruzioni (programma)

Dettagli

Fondamenti d Informatica: lavoriamo con le grammatiche. Barbara Re, Phd

Fondamenti d Informatica: lavoriamo con le grammatiche. Barbara Re, Phd Fondamenti d Informatica: lavoriamo con le grammatiche Barbara Re, Phd Esercizio Grammatica e generazione stringhe Data una Grammatica ed una Stringa, verificare che la Stringa sia generata dalla Grammatica:

Dettagli

Fondamenti dell Informatica

Fondamenti dell Informatica Fondamenti dell Informatica Compito scritto 28 settembre 2005 Cognome: Nome: Matricola: Note 1. Per i quiz a risposta multipla, fare una croce sulla/e lettera/e che identifica/no la/e risposta/e desiderata/e.

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

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Prof. Arcangelo Castiglione A.A. 2016/17 Matrici In una matrice gli elementi sono numerati per riga e per colonna, ad esempio m ij denota l elemento alla riga i e colonna j Matrici

Dettagli

Automi e Linguaggi Formali

Automi e Linguaggi Formali Automi e Linguaggi Formali Espressioni regolari A.A. 2014-2015 Enrico Mezzetti emezzett@math.unipd.it Espressioni regolari Un FA (NFA o DFA) e un metodo per costruire una macchina che riconosce linguaggi

Dettagli

Esempio stringhe palindrome 1

Esempio stringhe palindrome 1 Esempio stringhe palindrome 1 Automa per il riconoscimento del linguaggio L = {w c w R } A = < {s,f}, {a,b,c}, {a,b},!, s, { f } > con! che contiene le transizioni: 1. (( s, a, " ), (s, a)! [ push a] 2.

Dettagli

MODULO 04 ELEMENTI DI TEORIA DEI LINGUAGGI FORMALI

MODULO 04 ELEMENTI DI TEORIA DEI LINGUAGGI FORMALI MODULO 04 ELEMENTI DI TEORIA DEI LINGUAGGI FORMALI Un linguaggio di programmazione è uno strumento per esprimere algoritmi in una forma adatta allo loro esecuzione da parte di un elaboratore La formulazione

Dettagli

Capitolo 1: Concetti matematici di base

Capitolo 1: Concetti matematici di base Capitolo 1: Concetti matematici di base 1 Insiemi x A x é elemento dell insieme A. B A B é un sottoinsieme di A. B A B é un sottoinsieme proprio di A. A costituito da n elementi A = n é la sua cardinalitá.

Dettagli

Fondamenti di informatica per la sicurezza

Fondamenti di informatica per la sicurezza Corso di Laurea in icurezza dei sistemi e delle reti informatiche Fondamenti di informatica per la sicurezza anno accademico 2003 2004 docente: tefano Ferrari del secondo compitino 13.01.2004 Versione

Dettagli

" " # " $ $ $ $ % $&%% # $ # #' $" $$ $( $)

  #  $ $ $ $ % $&%% # $ # #' $ $$ $( $) ! "" " " # " $ $ $ $ % $&%% # $ # #' $" $$ $( $) (#** ( ( ( (( (" +,-./ 011-,,0 2-++/ 34-5-6,- 708-306- 96/ 5-4:- 2: 80.3+-55- ;9-5,:06:.-,020+01:8:+- 2-2:8/4-50+0/+896:

Dettagli

Corso di Calcolatori Elettronici I A.A Algebra di Boole Lezione 4

Corso di Calcolatori Elettronici I A.A Algebra di Boole Lezione 4 Corso di Calcolatori Elettronici I A.A. 2010-2011 Algebra di Boole Lezione 4 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Segnali in circuiti elettronici digitali da: G. Bucci. Calcolatori

Dettagli

Sintassi. Linguaggi. 4: Sintassi. Claudio Sacerdoti Coen. Universitá di Bologna 24/02/2011. Claudio Sacerdoti Coen

Sintassi. Linguaggi. 4: Sintassi. Claudio Sacerdoti Coen. Universitá di Bologna 24/02/2011. Claudio Sacerdoti Coen Linguaggi 4: Universitá di Bologna 24/02/2011 Outline 1 Wikipedia: La sintassi è la branca della linguistica che studia i diversi modi in cui le parole si uniscono tra loro per formare

Dettagli

Gli automata. Lezione marzo Ing. Chiara Foglietta

Gli automata. Lezione marzo Ing. Chiara Foglietta Gli automata 0 marzo 205 Ing. foglietta.chiara@gmail.com Università degli Studi di Cassino e del Lazio Meridionale Agenda I modelli di linguaggi Un metodo formale per studiare il comportamento logico dei

Dettagli

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd Fondamenti d Informatica: linguaggi formali Barbara Re, Phd Agenda } Introdurremo } La nozione di linguaggio } Strumenti per definire un linguaggio } Espressioni Regolari 2 Linguaggio } Da un punto di

Dettagli

Fondamenti di Informatica B

Fondamenti di Informatica B Fondamenti di Informatica B Lezione n.2 Alberto Broggi Gianni Conte A.A. 25-26 Fondamenti di Informatica B Algebra booleana Circuiti logici Elementi primitivi Esercizi con elementi logici Lezione n.2n

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

Espressioni regolari. Espressioni regolari

Espressioni regolari. Espressioni regolari spressioni regolari Un FA (NFA o DFA) e un metodo per costruire una macchina che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo per descrivere un linguaggio regolare. Esempio:

Dettagli

Proposizioni logiche e algebra di Boole

Proposizioni logiche e algebra di Boole Proposizioni logiche e algebra di Boole Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi

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

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Fondamenti di Informatica 2 Linguaggi e Complessità : Lezione 1 Corso Fondamenti di Informatica 2 Marco Schaerf, 2009-2010 Linguaggi e Complessità : Lezione 1 1 Logica proposizionale Linguaggio matematico

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

Linguaggi, grammatiche, espressioni regolari

Linguaggi, grammatiche, espressioni regolari Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2011-2012 Linguaggi Formali e Compilatori Linguaggi, grammatiche, espressioni regolari Giacomo PISCITELLI Modello formale di un linguaggio Un linguaggio

Dettagli

Fondamenti di Programmazione Recupero Primo Parziale 30 Gennaio 2008 Traccia A

Fondamenti di Programmazione Recupero Primo Parziale 30 Gennaio 2008 Traccia A Fondamenti di Programmazione Recupero Primo Parziale 30 Gennaio 2008 Traccia A Cognome: Nome: Corso di Laurea N. Matricola: Giorno non preferito per l orale (Matematici) Giorno non preferito per l orale

Dettagli

Fondamenti d Informatica: Le Macchine di Turing. Barbara Re, Phd

Fondamenti d Informatica: Le Macchine di Turing. Barbara Re, Phd Fondamenti d Informatica: Le Macchine di Turing Barbara Re, Phd Esercizio 1 } Consideriamo una MdT che modifica una sequenza di A rimpiazzando ogni A in posizione dispari con una B (la prima A ha posizione

Dettagli

AL220 - Gruppi, Anelli e Campi

AL220 - Gruppi, Anelli e Campi AL220 - Gruppi, Anelli e Campi Prof. Stefania Gabelli - a.a. 2013-2014 Settimana 1 - Traccia delle Lezioni Funzioni tra insiemi Ricordiamo che una funzione o applicazione di insiemi f : A B è una corrispondenza

Dettagli

Linguaggi, grammatiche, espressioni regolari

Linguaggi, grammatiche, espressioni regolari Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2013-2014 Linguaggi Formali e Compilatori Linguaggi, grammatiche, espressioni regolari Giacomo PISCITELLI Modello formale di un linguaggio Un linguaggio

Dettagli

Basi di Dati. Corso di Laurea in Informatica Corso B A.A. 2015/16. Dr. Claudia d'amato. Dipartimento di Informatica, Università degli Studi Bari

Basi di Dati. Corso di Laurea in Informatica Corso B A.A. 2015/16. Dr. Claudia d'amato. Dipartimento di Informatica, Università degli Studi Bari Basi di Dati Corso di Laurea in Informatica Corso B A.A. 2015/16 Dr. Claudia d'amato Dipartimento di Informatica, Università degli Studi Bari tel.: 080 5442246 email: claudia.damato@uniba.it http://www.di.uniba.it/~cdamato/

Dettagli

Calcolo delle Probabilità Soluzioni 1. Spazio campionario ed eventi

Calcolo delle Probabilità Soluzioni 1. Spazio campionario ed eventi ISTITUZIONI DI STATISTICA A. A. 2007/2008 Marco Minozzo e Annamaria Guolo Laurea in Economia del Commercio Internazionale Laurea in Economia e Amministrazione delle Imprese Università degli Studi di Verona

Dettagli

DISPENSE SU TEORIA DEGLI INSIEMI E NUMERI

DISPENSE SU TEORIA DEGLI INSIEMI E NUMERI FACOLTA' DI ECONOMIA UNIVERSITA DELLA CALABRIA Corso di Modelli Matematici per l Azienda a.a. 2011-2012 DISPENSE SU TEORIA DEGLI INSIEMI E NUMERI Prof. Fabio Lamantia INSIEMI INSIEME= gruppo di oggetti

Dettagli

Fondamenti di informatica per la sicurezza

Fondamenti di informatica per la sicurezza Corso di Laurea in icurezza dei sistemi e delle reti informatiche Fondamenti di informatica per la sicurezza anno accademico 2005 2006 docente: tefano Ferrari 19.07.2006 della seconda parte versione A

Dettagli

GLI INSIEMI. Laboratorio per apprendimenti logico - matematici. Dispensa a cura del prof. Domenico Perrone Maggio 2005

GLI INSIEMI. Laboratorio per apprendimenti logico - matematici. Dispensa a cura del prof. Domenico Perrone Maggio 2005 GLI INSIEMI Laboratorio per apprendimenti logico - matematici Dispensa a cura del prof. Domenico Perrone Maggio 2005 1 I problemi Perché gli Insiemi? Cos è un insieme? Cantor, Frege, Russell Quale ruolo

Dettagli

Progamma sintetico. Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP

Progamma sintetico. Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP Progamma sintetico Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP Un problema classico Un uomo viaggia con un lupo, una pecora

Dettagli

Il campo ordinato completo R dei numeri reali. Federico Lastaria. Analisi e Geometria 1. Il campo ordinato completo R 1/13

Il campo ordinato completo R dei numeri reali. Federico Lastaria. Analisi e Geometria 1. Il campo ordinato completo R 1/13 Il campo ordinato completo R dei numeri reali Federico Lastaria. Analisi e Geometria 1. Il campo ordinato completo R 1/13 Cosa significa campo? Significa che sono definite due operazioni: somma e prodotto,

Dettagli

Corso di ALGEBRA (M-Z) INSIEMI PARZIALMENTE ORDINATI E RETICOLI

Corso di ALGEBRA (M-Z) INSIEMI PARZIALMENTE ORDINATI E RETICOLI Corso di ALGEBRA (M-Z) 2013-14 INSIEMI PARZIALMENTE ORDINATI E RETICOLI Sia P un insieme non vuoto. Una relazione d ordine su P è una relazione riflessiva, antisimmetrica e transitiva. La coppia (P,) si

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

Elementi di Algebra e di Matematica Discreta Strutture algebriche: gruppi

Elementi di Algebra e di Matematica Discreta Strutture algebriche: gruppi Elementi di Algebra e di Matematica Discreta Strutture algebriche: gruppi Cristina Turrini UNIMI - 2015/2016 Cristina Turrini (UNIMI - 2015/2016) Elementi di Algebra e di Matematica Discreta 1 / 34 index

Dettagli

Elementi di Informatica A. A. 2016/2017

Elementi di Informatica A. A. 2016/2017 Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Algebra di Boole Elementi di

Dettagli

Strutture Algebriche

Strutture Algebriche Strutture Algebriche Docente: Francesca Benanti 21 gennaio 2008 1 Operazioni Definizione Sia A un insieme non vuoto, A. Una operazione (o operazione binaria o legge di composizione interna) su A è un applicazione

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

Cenni alla rappresentazione dei tipi dato primitivi

Cenni alla rappresentazione dei tipi dato primitivi Cenni alla rappresentazione dei tipi dato primitivi Fondamenti di Informatica R. Basili a.a. 2006-7 Numeri Naturali Alfabeto, A Un insieme finito di B simboli, A={a, b,. } Sequenze o Stringhe in A, A *

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali

Dettagli

Linguaggi e Ambienti di Programmazione

Linguaggi e Ambienti di Programmazione Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi

Dettagli

a cura di Luca Cabibbo e Walter Didimo

a cura di Luca Cabibbo e Walter Didimo a cura di 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

Logica booleana. Bogdan Maris ( )

Logica booleana. Bogdan Maris ( ) Logica booleana 1 Algebra di Boole Opera con i soli valori di verità 0 o 1 (variabili booleane o logiche) La struttura algebrica studiata dall'algebra booleana è finalizzata all'elaborazione di espressioni

Dettagli

Proprieta dei Linguaggi Regolari. Proprieta dei Linguaggi Regolari

Proprieta dei Linguaggi Regolari. Proprieta dei Linguaggi Regolari roprieta dei Linguaggi Regolari Proprieta di chiusura. E interessante investigare proprieta di chiusura dei linguaggi regolari rispetto ad applicazione di sostituzioni o omomorfismi. Queste tecniche permettono

Dettagli

Algebra di Boole Cenni all Algebra di Boole. Algebra Booleana: definizione

Algebra di Boole Cenni all Algebra di Boole. Algebra Booleana: definizione Algebra Booleana: operazioni e sistema algebrico Algebra di Boole Cenni all Algebra di Boole Introduzione Rappresentazione di una funzione combinatoria Proprietà dell algebra di commutazione Forme canoniche

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

Fondamenti di Informatica B

Fondamenti di Informatica B Fondamenti di Informatica B Lezione n.3 Fondamenti di Informatica B Forme canoniche Trasformazioni Esercizi In questa lezione verranno considerate le proprietà dell'algebra booleana che saranno poi utili

Dettagli

Linguaggi di Programmazione e Compilatori

Linguaggi di Programmazione e Compilatori Maria Rita Di Berardini Linguaggi di Programmazione e Compilatori Raccolta Esercizi 10 giugno 2009 Università di Camerino Dipartimenento di Matematica e Informatica Indice 1 Analisi Lessicale...........................................

Dettagli

!! "! # % % %%!!!!!!! #! &'()((&(*+',-.! # $ /!

!! ! # % % %%!!!!!!! #! &'()((&(*+',-.! # $ /! !! "! ##$" # #! #! #!!!!!!! #! &'(((&(+'.! # $ /!!! "#$#&'(& !!"!!! # $! # #! &! # $ $ $ ' # $! # $$!! '! #!' #! $!! '! # ' #! $ $ $!!! &! ( & $ $ $ $ $ $!! '! # ' #! $ $ $ $$ $ $ $ $ $$ $ $! &!! #! $$

Dettagli

Fondamenti di Informatica B. Fondamenti di Informatica B. Fondamenti di Informatica B. Fondamenti di Informatica B.

Fondamenti di Informatica B. Fondamenti di Informatica B. Fondamenti di Informatica B. Fondamenti di Informatica B. Fondamenti di Informatica Lezione n. n. lgebra booleana Circuiti logici Elementi primitivi Esercizi con elementi logici Fondamenti di Informatica Lezione n. In questa lezione vengono ripresi i concetti

Dettagli

Specifica parte IIIC. Specifiche algebriche. Specifiche algebriche. Algebra per definizione di stringhe

Specifica parte IIIC. Specifiche algebriche. Specifiche algebriche. Algebra per definizione di stringhe Specifiche algebriche Specifica parte IIIC Leggere Sez. 5.6.3 Ghezzi et al. Tradizionalmente, un algebra è composta da un insieme e operazioni sull insieme. Esempio: insieme N con addizione, sottrazione,

Dettagli

Linguaggi di Programmazione Corso C. Parte n.6 Linguaggi Regolari ed Espressioni Regolari. Nicola Fanizzi

Linguaggi di Programmazione Corso C. Parte n.6 Linguaggi Regolari ed Espressioni Regolari. Nicola Fanizzi Linguaggi di Programmazione Corso C Parte n.6 Linguaggi Regolari ed Espressioni Regolari Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Linguaggi Regolari

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA.2.2 Operare con i dati Prerequisiti Concetti matematici di: Espressione Operatore 2 Introduzione Le variabili utilizzate da un programma vengono usate con operatori

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti

Dettagli

Aumentare il potere degli FSA

Aumentare il potere degli FSA PDA 1 Aumentare il potere degli FSA Punto di vista meccanico Nastro d ingresso Dispositivo di controllo a stati finiti Nastro d uscita PDA 2 Ora arricchiamolo a Nastro d ingresso Memoria a pila (stack)

Dettagli

Sommario. Linguaggi formali: motivazioni, definizione ed esempi operazioni su parole e linguaggi

Sommario. Linguaggi formali: motivazioni, definizione ed esempi operazioni su parole e linguaggi Sommario Linguaggi formali: motivazioni, definizione ed esempi operazioni su parole e linguaggi 1 Tipi di problemi Nelle teorie della calcolabilità e della complessità si considerano problemi di decisione,

Dettagli

Logica per la Programmazione

Logica per la Programmazione Logica per la Programmazione Lezione 12 Sistema di Dimostrazioni per le Triple di Hoare Comando Vuoto, Assegnamento, Sequenza, Condizionale A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione

Dettagli

Analisi Lessicale: Linguaggi Regolari

Analisi Lessicale: Linguaggi Regolari Analisi Lessicale: Linguaggi Regolari Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione [010194] 18 mar, 2016 Sommario 1 Espressioni Regolari Linguaggi

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

10. LINGUAGGI REGOLARI

10. LINGUAGGI REGOLARI 10. LINGUAGGI REGOLARI I linguaggi regolari: Sono i linguaggi generati da grammatiche di Chomsky di tipo 3. Vari elementi sintattici di base dei linguaggi di programmazione sono regolari (es. identificatori)

Dettagli

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

GLI INSIEMI RAPPRESENTAZIONE DI UN INSIEME. 1. Per ELENCAZIONE o RAPPRESENTAZIONE TABULARE

GLI INSIEMI RAPPRESENTAZIONE DI UN INSIEME. 1. Per ELENCAZIONE o RAPPRESENTAZIONE TABULARE GLI INSIEMI Gli elementi di un insieme devono essere distinti (cioè diversi, non si ammettono due elementi uguali nello stesso insieme) e ben definiti (si deve poter stabilire se un elemento appartiene

Dettagli

DEFINIZIONE DI INSIEME

DEFINIZIONE DI INSIEME ELEMENTI DI TEORIA DEGLI INSIEMI PROF.SSA ROSSELLA PISCOPO Indice 1 DEFINIZIONE DI INSIEME ------------------------------------------------------------------------------------------------ 3 2 METODI DI

Dettagli

B8. Equazioni di secondo grado - Esercizi

B8. Equazioni di secondo grado - Esercizi B8. Equazioni di secondo grado - Esercizi Risolvere le seguenti equazioni di secondo grado utilizzando la legge di annullamento del prodotto o la formula risolvente (solo se necessario): 1) -8=0 [ 1= ;

Dettagli

Algebra di Boole. Cenni all Algebra di Boole

Algebra di Boole. Cenni all Algebra di Boole Algebra di Boole Cenni all Algebra di Boole Introduzione Rappresentazione di una funzione combinatoria Proprietà dell algebra di commutazione Forme canoniche Teorema di espansione di Shannon Algebra Booleana:

Dettagli

Algebra relazionale: operazioni

Algebra relazionale: operazioni Dipartimento di Elettronica ed ormazione Politecnico di Milano ormatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012 Algebra relazionale: operazioni Le presenti slide sono tratte dalle slide

Dettagli

ALGEBRA DEGLI INSIEMI

ALGEBRA DEGLI INSIEMI ALGEBRA DEGLI INSIEMI INSIEME: concetto primitivo (indicato con una lettera maiuscola dell alfabeto latino: A, B, ) alcuni esempi: oggetti contenuti in una scatola tutti i numeri multipli di 3 [fig. 2.I.1]

Dettagli