Espressioni regolari
|
|
|
- Marcello Savino
- 9 anni fa
- Visualizzazioni
Transcript
1
2 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. Esempio: denota il linguaggio delle stringhe composte da uno 0 seguito da qualsiasi numero di 1 o delle stringhe composte da un 1 seguito da qualsiasi numero di 0.
3 Cosa Servono? La descrizione dichiarativa delle stringhe che compongono un linguaggio regolare fornisce qualcosa di diverso rispetto agli automi Le espressioni regolari per esempio vengono utilizzate come linguaggio di input per vari sistemi che trattano stringhe: comandi UNIX (grep) per la ricerca di stringhe generatori di analizzatori lessicali), tipo (Lex (Lexical analyzer generator) e Flex (Fast Lex)). In queste applicazioni viene preso un input, nella forma di una espressione regolare, e viene convertita l espressione regolare in un DFA ( o NFA)
4 osa vedremo? La definizione formale delle espressioni regolari Vedremo la relazione con i linguaggi regolari definiti da FA (DFA o NFA), dando delle traduzioni sistematiche da un formalismo nell altro Tali traduzioni sono importanti per capire il potere espressivo del formalismo, ma sono anche utili a livello pratico
5 perazioni sui linguaggi Unione: L M = {w : w L o w M} Concatenazione: L.M = {w : w = xy, x L, y M} Potenze: L 0 = {ɛ}, L 1 = L, L k+1 = L.L k Chiusura di Kleene: L = L i i=0
6 sempio: operazioni sui linguaggi L = {0, 1} allora L sono tutte le stringhe di 0, 1 L = {0, 11} allora L sono tutte le stringhe di 0, 1 in cui gli 1 compaiono a coppie. Inoltre e cosi via L 0 = {ɛ}, L 1 = L, L 2 = {00, 011, 110, 1111} Inoltre, 0 = {ɛ}, i = {ɛ}, e = {ɛ}.
7 Definizione induttiva di espressioni regolari Diamo la definizione delle espressioni regolari rispetto ad un dato alfabeto Σ. Indicheremo con L(E) il linguaggio definito dall espressione regolare E. Base: ɛ e sono espressioni regolari. L(ɛ) = {ɛ} e L( ) =. Se a Σ, allora a e un espressione regolare. L(a) = {a}.
8 Definizione induttiva di espressioni regolari Induzione: Se E e un espressione regolare, allora (E) e un espressione regolare. L((E)) = L(E). Se E e F sono espressioni regolari, allora E + F e un espressione regolare. L(E + F ) = L(E) L(F ). Se E e F sono espressioni regolari, allora E.F e un espressione regolare. L(E.F ) = L(E).L(F ). Se E e un espressione regolare, allora E e un espressione regolare. L(E ) = (L(E)).
9 sempio Espressione regolare per L = {w {0, 1} : 0 e 1 alternati in w} o, equivalentemente, (01) + (10) + 0(10) + 1(01) (ɛ + 1)(01) (ɛ + 0)
10 arentesi Le parentesi hanno significato semantico. Per esempio, le espressioni regolari (01) e 0(1) denotano linguaggi diversi Per semplificare la notazione e possibile eliminare le parentesi in base ad un ordine di precedenza degli operatori (in modo standard)
11 rdine di precedenza per gli operatori 1 Chiusura 2 Concatenazione (punto) 3 Piu (+) Esempio: e raggruppato in (0(1) ) + 1
12 quivalenza di FA e espr. regolari Per mostrare che gli FA sono equivalenti alle espressioni regolari, faremo vedere che (tramite costruzioni effettive) 1 Per ogni espressione regolare R esiste un ɛ-nfa A, tale che L(A) = L(R). Abbiamo gia mostrato che DFA, NFA, e ɛ-nfa sono formalismi equivalenti. -NFA NFA RE DFA
13 a espressioni regolari a ɛ-nfa Teorema 3.7: Per ogni espressione regolare R possiamo costruire un ɛ-nfa A, tale che L(A) = L(R). Prova: Per induzione strutturale su R. Faremo vedere come si costruisce l automa A per espressioni piu semplici, carattere, stringa vuota, linguaggio vuoto come si possono combinare automi per realizzare l unione, la concatenazione, e la chiusura Nota: tutti gli automi che costruiamo sono ɛ-nfa con un unico stato finale (altrimenti la costruzione non funziona)
14 a espressioni regolari a ɛ-nfa (c) Base: Automa per ɛ,, e a. (a) (b) a
15 Induzione: Automa per R + S, RS, e R R S (a) R S (b) R
16 sempio Trasformiamo (0 + 1) 1(0 + 1) 0 1 (a) 0
17 Automi che hanno come etichette epressioni regolari sempio 1 (b) Start
18 Da automi ad espressioni regolari la derivazione di una espressione regolare R da un automa e parecchio complicata esistono vari algoritmi per derivare una espressione regolare che descrive le stringhe che etichettano i cammini del diagramma di transizione faremo vedere una delle tecniche che si applica a DFA (altre tecniche piu generali si possono trovare in Hopcroft, Motwani, Ullman, capitolo 3)
19 per applicare l algoritmo si usa una generalizzazione degli automi a stati finiti, in cui gli archi sono etichettati da espressioni regolari, invece che da simboli dell alfabeto Intuitivamente, il linguaggio definito da un automa di questo tipo e l unione, su tutti i cammini dallo stato iniziale ad uno stato finale, dei linguaggi ottenuti concatenando i linguaggi delle espressioni regolari lungo il cammino Notiamo che la definizione e una generalizzazione della definizione standard: ogni DFA e un caso particolare di questi automi
20 sempio A, dove L(A) = {W : w = x1b, o w = x1bc, x {0, 1}, {b, c} {0, 1}} 0,1 Start 1 0,1 0,1 A B C D Lo possiamo vedere come un automa con espressioni regolari come etichette Start A B C D
21 ome si usano questi automi? La costruzione che mostreremo parte dal DFA (ovvero dall automa corrispondente con espressioni reagolari come etichette) E basata su una tecnica di riduzione, che dato un automa con etichette costruisce un altro automa con etichette Idea: ad ogni passo viene eliminato uno stato s, le espressioni regolari degli archi rimanenti vengono modificate in modo da tenere traccia dei cammini che passavano per s e che sono stati cancellati
22 a tecnica di eliminazione di stati La seguente figura mostra uno stato s che sta per essere eliminato R 1m q 1 p 1 Q 1 R 11 S P 1 s q k Q k R km P m p m
23 otare che q 1,..., q k sono predecessori di s, mentre p 1,..., p m sono successori di s; c e un ciclo su s con etichetta S per tutti i valori di i, j esiste un arco tra q i e p j con etichetta R i,j Nota: la situazione e generale nel senso che tutti questi archi potrebbero non esistere nell automa (in tal caso l espressione regolare corrispondente sara )
24 L automa ottenuto dopo avere eliminato lo stato s. R 11 + Q 1 S* P 1 q p 1 1 R 1m + Q 1 S* P m q k R k1 + Q k S* P 1 R km + Q k S* P m p m
25 otare che Quando viene eliminato lo stato s vengono modificate le espressioni regolari di tutte le coppie predecessore q i e successore p j. In particolare, viene considerata l unione di R i,j con una espressione regolare che denota le stringhe che potrebbero etichettare cammini tra q i e p j, che sono stati cancellati questi cammini partivano da q i, facevano una mossa in s, un tot di cicli in S, e poi una mossa in p j Nell automa ottenuto il linguaggio definito, considerando i cammini tra q i e p j, e equivalente a quello definito dai cammini tra q i e p j nell automa di partenza
26 ome si applica l algoritmo di eliminazione degli stati? si parte con l automa DFA, opportunamente trasformato con espressioni regolari, chiamiamolo A per ogni stato finale q, si applica la tecnica di riduzione, fino ad eliminare tutti gli stati eccetto q 0 e q chiamiamo A q l automa ottenuto per lo stato finale q
27 erivare l espressione regolare per ogni A q ridotto facciamo vedere come derivare una corrispondente espressione regolare E q intuitivamente, E q denota le stringhe di L(A) che etichettano i cammini tra lo stato iniziale q 0 e lo stato accettante q
28 Per ogni q F saremo rimasti con A q della forma R U S Start e che corrisponde all espressione regolare E q = (R + SU T ) SU o con A q della forma Start T R che corrisponde all espressione regolare E q = R
29 n conclusione E chiaro che per ogni stato finale q, E q denota le stringhe di L(A) che etichettano i cammini tra lo stato iniziale q 0 e lo stato accettante q Quindi l espressione finale che denota L(A) e q F E q
30 sempio A, dove L(A) = {W : w = x1b, o w = x1bc, x {0, 1}, {b, c} {0, 1}} 0,1 Start 1 0,1 0,1 A B C D La trasformiamo in un automa con espressioni regolari come etichette Start A B C D
31 sempio Start A B C D Eliminiamo lo stato B Start A 1( 0 + 1) C D Poi eliminiamo lo stato C e otteniamo A D Start A 1( 0 + 1) ( 0 + 1) D
32 sempio con espressione regolare (0 + 1) 1(0 + 1) L espressione finale e la somma delle due espressioni regolari precedenti: Da Start A 1( 0 + 1) C D possiamo eliminare D e ottenere A C Start A 1( 0 + 1) C
33 eggi algebriche per i linguaggi L M = M L. L unione e commutativa. (L M) N = L (M N). L unione e associativa. (LM)N = L(MN). La concatenazione e associativa. Nota: La concatenazione non e commutativa, cioe, esistono L e M tali che LM ML.
34 L = L = L. e l identita per l unione. {ɛ}l = L{ɛ} = L. {ɛ} e l identita sinistra e destra per la concatenazione. L = L =. e l annichilatore sinistro e destro per la concatenazione.
35 L(M N) = LM LN. La concatenazione e distributiva a sinistra sull unione. (M N)L = ML NL. La concatenazione e distributiva a destra sull unione. L L = L. L unione e idempotente. = {ɛ}, {ɛ} = {ɛ}. L + = LL = L L, L = L + {ɛ}
36 (L ) = L. La chiusura e idempotente. Prova: ( ) i w (L ) w L j i=0 j=0 k, m N : w (L m ) k p N : w L p w L i i=0
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:
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
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
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
Linguaggi regolari e automi a stati finiti
utomi a stati finiti Gli automi a stati finiti sono usati come modello per Software per la progettazione di circuiti digitali. Analizzatori lessicali di un compilatore. Ricerca di parole chiave in un file
Proprieta dei Linguaggi regolari
Proprieta dei Linguaggi regolari Pumping Lemma. Ogni linguaggio regolare soddisfa il pumping lemma. Se qualcuno vi presenta un falso linguaggio regolare, l uso del pumping lemma mostrera una contraddizione.
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
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
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}
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
Linguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice
l linguaggio universale Il linguaggio universale L u e l insieme delle stringhe binarie che codificano una coppia (M,w) dove w L(M). Esiste una TM U, detta TM universale, tale che L u = L(U). U ha tre
Automi Automi finiti: macchine a stati su sistemi di transizioni finiti Modellare con TS e specificare con automi: si usa lo stesso tipo di
Automi Automi finiti: macchine a stati su sistemi di transizioni finiti Modellare con TS e specificare con automi: si usa lo stesso tipo di rappresentazione per descrivere programmi e specifiche. ω-automi:
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=
Anno 4 Matrice inversa
Anno 4 Matrice inversa 1 Introduzione In questa lezione parleremo della matrice inversa di una matrice quadrata: definizione metodo per individuarla Al termine della lezione sarai in grado di: descrivere
= < < < < < Matematica 1
NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato
Le grammatiche formali
Le grammatiche formali Il carattere generativo dei sistemi linguisticii i Consideriamo i la seguente frase: Un gatto rincorre il topo Non facciamo difficoltà a riconoscere che si tratta di una frase sintatticamente
Espressività 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
Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara
Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ [email protected] Lorenzo Pareschi (Univ. Ferrara)
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,
LA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
Il codice di Sarngadeva
Matematica - Musica Il codice di Sarngadeva È oggi riconosciuto da molti (vedi, ad esempio, Knuth [3]) come diverse nozioni combinatorie di base (quali il sistema binario, il triangolo di Tartaglia-Pascal,
Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing
Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo
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
Algebra di Boole X Y Z V. Algebra di Boole
L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole che
Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana /16
Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana - 015/16 Esercizio 1 Per quali valori n Z \ {0} l espressione è un numero intero positivo? (n + 5)(n + 6) 6n Soluzione. Il problema
Descrizione 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
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
Varianti Macchine di Turing
Varianti Macchine di Turing Esistono definizioni alternative di macchina di Turing. Chiamate Varianti. Tra queste vedremo: MdT a più nastri e MdT non deterministiche. Mostriamo: tutte le varianti ragionevoli
Riassumiamo 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
Sviluppo 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
Logica proposizionale
Logica proposizionale Proposizione: frase compiuta che è sempre o vera o falsa. Connettivi Posti in ordine di precedenza: not, and, or, implica, doppia implicazione Sintassi Le proposizioni sono costituite
Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.
PORTE LOGICHE Premessa Le principali parti elettroniche dei computer sono costituite da circuiti digitali che, come è noto, elaborano segnali logici basati sullo 0 e sull 1. I mattoni fondamentali dei
Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
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
Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso
Laboratorio di Informatica Esercitazione su algoritmi e diagrammi di flusso Algoritmi, programmi e dati Algoritmo = insieme di istruzioni che indicano come svolgere operazioni complesse su dei dati attraverso
L insieme dei numeri Relativi
L insieme dei numeri Relativi ITIS Feltrinelli anno scolastico 007-008 R. Folgieri 007-008 1 Ampliamento di N e Q: i relativi Nell insieme N non possiamo fare operazioni quali -1 perché il risultato non
Il concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
Operatori di relazione
Condizioni Negli algoritmi compaiono passi decisionali che contengono una proposizione (o predicato) dal cui valore di verità dipende la sequenza dinamica Chiamiamo condizioni tali proposizioni Nei casi
Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi
Lezione 4 Problemi trattabili e soluzioni sempre più efficienti Gianluca Rossi Trattabile o intrattabile? Consideriamo ora il problema, ben noto a tutti gli studenti a partire dalla scuola media, di calcolare
DAI NUMERI NATURALI AI NUMERI RAZIONALI
DAI NUMERI NATURALI AI NUMERI RAZIONALI 1. L insieme dei numeri naturali Nel sistema assiomatico ZF, l Assioma dell infinito stabilisce che: Esiste un insieme A, i cui elementi sono insiemi e tale che
Algebra di Boole Algebra di Boole
1 L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole
Le variabili logiche possono essere combinate per mezzo di operatori detti connettivi logici. I principali sono:
Variabili logiche Una variabile logica (o booleana) è una variable che può assumere solo uno di due valori: Connettivi logici True (vero identificato con 1) False (falso identificato con 0) Le variabili
Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili
Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili roblemi che i calcolatori non possono risolvere E importante sapere se un programma e corretto, cioe fa quello che ci aspettiamo. E facile
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,
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
Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole
Andrea Passerini [email protected] Informatica Variabili logiche Una variabile logica (o booleana) è una variable che può assumere solo uno di due valori: True (vero identificato con 1) False (falso
Le Macchine di Turing
Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella
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...
Esercitazioni di Reti Logiche. Algebra Booleana e Porte Logiche
Esercitazioni di Reti Logiche Algebra Booleana e Porte Logiche Zeynep KIZILTAN Dipartimento di Scienze dell Informazione Universita degli Studi di Bologna Anno Academico 2007/2008 Notizie Il primo parziale
Analizzatore 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,
Rappresentazione 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
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 ([email protected]) Dipartimento di Informatica Università degli Studi di Bari Grammatiche
Moltiplicazione. Divisione. Multipli e divisori
Addizione Sottrazione Potenze Moltiplicazione Divisione Multipli e divisori LE QUATTRO OPERAZIONI Una operazione aritmetica è quel procedimento che fa corrispondere ad una coppia ordinata di numeri (termini
Sistemi Web per il turismo - lezione 3 -
Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa
Cammini minimi fra tutte le coppie
Capitolo 12 Cammini minimi fra tutte le coppie Consideriamo il problema dei cammini minimi fra tutte le coppie in un grafo G = (V, E, w) orientato, pesato, dove possono essere presenti archi (ma non cicli)
I Circuiti combinatori: LOGISIM
1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY I Circuiti combinatori: LOGISIM Prof. G. Ciaschetti 1. Le porte logiche Un circuito combinatorio (o sistema combinatorio o rete combinatoria) è un circuito elettrico,
Richiami di Algebra di Commutazione
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n Prof. Rosario Cerbone [email protected] http://digilander.libero.it/rosario.cerbone a.a. 6-7 Richiami di Algebra di Commutazione In questa
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
LA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
. Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,
un insieme finito di segnali d uscita U (nell ascensore U={stare fermo, salire, scendere})
Automi Il termine automa viene usato nel linguaggio corrente per indicare un dispositivo in grado di svolgere un attività senza l intervento dell uomo. Nella quotidianità siamo letteralmente circondati
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,
Macchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29
Macchine di Turing Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Macchine di Turing 1 / 29 Alan M. Turing (1912-1954) Francesco Paoli (Istituzioni di logica,
Massimo e minimo limite di successioni
Massimo e minimo limite di successioni 1 Premesse Definizione 1.1. Definiamo R esteso l insieme R = R { } {+ }. In R si estende l ordinamento tra numeri reali ponendo < a < +, a R. In base a tale definizione,
Informatica Generale Homework di Recupero 2016
Informatica Generale Homework di Recupero 016 docente: Ivano Salvo Sapienza Università di Roma Gruppo 1 Esercizio 1.1 Scrivere un programma C che presi in input due interi positivi a ed b (a, b > 0) calcola
IL CALCOLO LETTERALE. La «traduzione» del linguaggio comune in linguaggio matematico
IL CALCOLO LETTERALE La «traduzione» del linguaggio comune in linguaggio matematico BREVE STORIA DELL ALGEBRA Dall algebra sincopata all algebra simbolica L algebra è una disciplina antichissima ma il
La codifica dei caratteri di un testo
La codifica dei caratteri di un testo L obiettivo è quello di comunicare con il calcolatore usando il nostro linguaggio. Dobbiamo rappresentare le lettere dell alfabeto L insieme di simboli comunemente
Informatica Teorica. Sezione Cremona + Como. Appello del 20 Luglio 2004
Informatica Teorica Sezione Cremona + Como Appello del 20 Luglio 2004 Coloro che recuperano la I prova risolvano gli esercizi e 2 tra quelli indicati qui sotto entro un ora. Coloro che recuperano la II
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
Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
LINGUAGGI DI PROGRAMMAZIONE!
LINGUAGGI DI PROGRAMMAZIONE! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni
ALGEBRA LINEARE PARTE II
DIEM sez. Matematica Finanziaria Marina Resta Università degli studi di Genova Dicembre 005 Indice PREMESSA INVERSA DI UNA MATRICE DETERMINANTE. DETERMINANTE DI MATRICI ELEMENTARI................. MATRICI
Presentazione di gruppi
Presentazione di gruppi Sia G un gruppo e X un suo sottoinsieme non vuoto, indichiamo con Gp(X) = {x ɛ 1 1 x ɛ 2 2... x ɛ n n x i X, ɛ i = ±1} dove gli elementi di questo insieme sono da intendersi come
LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C
