Reguliere Expressies

Maat: px
Weergave met pagina beginnen:

Download "Reguliere Expressies"

Transcriptie

1 Reguliere Expressies Een reguliere expressie (regexp, regex, regxp) is een string (een woord) die, volgens bepaalde syntaxregels, een verzameling strings (een taal) beschrijft Reguliere expressies worden veel gebruikt in Unix texteditors, tools, programmeertalen, voor het zoeken naar patronen in tekst, en voor substitutie van strings 1/15 18 oktober 2004

2 Geschiedenis Theorie van formele talen Kleene s algebra van reguliere verzamelingen Ken Thompson introduceerde de notatie in de Unix editor ed Regex worden nu gebruikt in bijvoorbeeld grep, awk, emacs, vi, lex, perl. 2/15 18 oktober 2004

3 Reguliere expressies in de theorie van formele talen (1) Een reguliere expressie representeert een verzameling strings/woorden (een taal). Reguliere expressies worden opgebouwd uit constanten en operaties. Zij gegeven een eindig alfabet Σ, dan zijn de volgende constanten gedefinieerd: (lege verzameling) representeert de lege verzameling (lege string) ɛ representeert {ɛ} (ɛ is een string met lengte 0) (literals) een karakter a in Σ representeert de verzameling {a} 3/15 18 oktober 2004

4 Reguliere expressies in de theorie van formele talen (2) De operaties (voor reguliere expressies R en S): (concatenatie) RS representeert de verzameling {αβ α R, β S}. (vereniging) R S representeert de vereniging van R en S (Kleene star) R representeert de afsluiting van R onder concatenatie, i.e., R = ɛ R RR RRR Bindingsterkte: Kleene star > concatenatie > vereniging. Haakjes worden weggelaten als dat kan: (ab)c wordt geschreven als abc, en a (b(c )) als a bc 4/15 18 oktober 2004

5 Reguliere expressies in de theorie van formele talen (3) Voorbeelden. Laat Σ = {0, 1}. De expressies 00 en representeren respectievelijk de verzamelingen {00} en { } De expressies 0 1 en 10 01, representeren respectievelijk de verzamelingen {0, 1} en {10, 01} De expressies 0 en (01) representeren respectievelijk de verzamelingen {ɛ, 0, 00, 000,...} en {ɛ, 01, 0101, ,...} De expressie (0 00)1 representeert {0, 00, 01, 001, 011, 0011,...} (0 00)1 = /15 18 oktober 2004

6 Reguliere expressies in de theorie van formele talen (4) Meer voorbeelden. a b representeert {a, ɛ, b, bb, bbb,...} (a b) representeert de verzameling van alle strings bestaande uit a s en b s, inclusief de lege string b (ab ) idem ab (c ɛ) representeert de verzameling van strings die beginnen met een enkele a, gevolgd door nul of meer b s, en eindigend met optioneel een c 6/15 18 oktober 2004

7 Reguliere talen De talen die door reguliere expressies kunnen worden gerepresenteerd noemen we de reguliere talen Daarmee corresponderen ze met de zogenaamde type 3 grammatica s in de Chomsky hierarchy Ze zijn minder expressief dan context-vrije grammatica s (CFGs) zoals BNF (Backus-Naur Form) grammatica s Zo kun je bijvoorbeeld in reguliere expressies geen nesting definieren Noot: de syntax van Perl is veel rijker dan die van reguliere expressies; strict genomen zijn de reguliere expressies van Perl niet regulier. Deze expressivieteit kan ten koste gaan van de effectiviteit: worstcase complexiteit van matchen van een string tegen een Perl regex is 7/15 18 oktober 2004

8 exponentieel in de lengte van de input. (In de praktijk valt dit gelukkig mee.) 8/15 18 oktober 2004

9 Voorbeeld BNF grammatica <bit> ::= 0 1 <expr> ::= <bit> (<expr> + <expr>) (<expr> * <expr>) Deze BNF grammatica genereert o.a. de strings 0, 1, (0 + 1), (1 * (1 + 1)) Noot: de taal die gegenereerd wordt door deze grammatica is context-vrij, maar niet regulier; je kunt de expressies van deze taal niet met een reguliere expressie karakteriseren 9/15 18 oktober 2004

10 Unix regexps (1) De volgende syntax is min of meer standaard voor veel Unix tools en programmeertalen. Basisregels: 1. Ieder afdrukbaar ASCII karakter dat geen metakarakter is, is een reguliere expressie die zichzelf representeert. 2.. representeert ieder enkel karakter 3. ˆrepresenteert het begin van een regel 4. $ representeert het einde van een regel 5. \ gevolgd door een metakarakter representeert dat karakter zelf. Dus: \. representeert een punt (.) 10/15 18 oktober 2004

11 6. [ ] representeert een enkel karakter. Tussen de haken staat een karakterisering. [a] representeert karakter a [abc] representeert karakter a, b, of c [a z] representeert een karakter in de range a z (karakters geordend volgens hun ASCII codering) [A Za z0 9] representeert een cijfer of letter [ˆE] representeert ieder karakter dat niet door [E] gerepresenteerd wordt [acq z] representeert a, c, of een karakter in q z. 11/15 18 oktober 2004

12 Unix regexps (2) Inductieve regels: Als A en B reguliere expressies zijn, dan 1. AB is een reguliere expressie (concatenatie), 2. A B is een reguliere expressie (keuze/vereniging), 3. A is een reguliere expressie (Kleene star) 4. A+ is een reguliere expressie (één of meer geconcateneerde voorkomens van A) 5. A? is een reguliere expressie (nul of één voorkomens van A) 6. (A) is een reguliere expressie (Perl) 7. \(A\) is een reguliere expressie (vi) 12/15 18 oktober 2004

13 8. (Perl) A{m, n} voor integers m en n representeert m tot n geconcateneerde voorkomens van A. 9. (Perl) A{m} voor integer m representeert m geconcateneerde voorkomens van A. 10. Concatenatie bindt sterker dan keuze, dus A BC = A (BC) 13/15 18 oktober 2004

14 Voorbeelden Wat staat hier (perl)? $timestr =~ s/([0-9]+):([0-5][0-9]):([0-5][0-9])/\2 min., \3 sec. after \1/; En hier (vi)? s/\([0-9]+\):\([0-5][0-9]\):\([0-5][0-9]\)/\2 min., \3 sec. after \1/; 14/15 18 oktober 2004

15 Meer voorbeelden.ap representeert o.a. aap, lap, kap [al]ap representeert aap en lap [ˆa]ap representeert o.a. lap en kap, maar niet aap ˆ[al]ap representeert aap en lap, maar alleen aan het begin van een regel [al]ap$ representeert aap en lap, maar alleen aan het einde van een regel [al]+ap representeert o.a. aap, lap, aaap, alap, laap, llap, etc. [al]?ap representeert ap, aap en lap [aa]ap [nn]oot representeert aap, Aap, noot, en Noot.\.(\( \)) representeert o.a. a.) 15/15 18 oktober 2004

ESA College 5b. Mark van der Zwaag. 7 oktober Programming Research Group, UvA. Mark van der Zwaag (PRG, UvA) ESA5a 7 oktober / 34

ESA College 5b. Mark van der Zwaag. 7 oktober Programming Research Group, UvA. Mark van der Zwaag (PRG, UvA) ESA5a 7 oktober / 34 ESA College 5b Mark van der Zwaag Programming Research Group, UvA 7 oktober 2006 Mark van der Zwaag (PRG, UvA) ESA5a 7 oktober 2006 1 / 34 Vandaag: Reguliere Expressies en Grammatica s Formele talen Context-vrije

Nadere informatie

Automaten. Informatica, UvA. Yde Venema

Automaten. Informatica, UvA. Yde Venema Automaten Informatica, UvA Yde Venema i Inhoud Inleiding 1 1 Formele talen en reguliere expressies 2 1.1 Formele talen.................................... 2 1.2 Reguliere expressies................................

Nadere informatie

Automaten & Complexiteit (X )

Automaten & Complexiteit (X ) Automaten & Complexiteit (X 401049) Beschrijven van reguliere talen Jeroen Keiren j.j.a.keiren@gmail.com VU University Amsterdam 5 Februari 2015 Talen Vorig college: Talen als verzamelingen Eindige automaten:

Nadere informatie

Talen & Automaten. Wim Hesselink Piter Dykstra Opleidingsinstituut Informatica en Cognitie 9 mei 2008

Talen & Automaten. Wim Hesselink Piter Dykstra Opleidingsinstituut Informatica en Cognitie   9 mei 2008 Talen & Automaten Wim Hesselink Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.cs.rug.nl/~wim 9 mei 2008 Talen & automaten Week 1: Inleiding Dit college Talen Automaten Berekenbaarheid Weekoverzicht

Nadere informatie

Inhoud eindtoets. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 6

Inhoud eindtoets. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 6 Inhoud eindtoets Eindtoets Introductie 2 Opgaven 3 Terugkoppeling 6 1 Formele talen en automaten Eindtoets I N T R O D U C T I E Deze eindtoets is bedoeld als voorbereiding op het tentamen van de cursus

Nadere informatie

Het omzetten van reguliere expressies naar eindige automaten, zie de vakken Fundamentele Informatica 1 en 2.

Het omzetten van reguliere expressies naar eindige automaten, zie de vakken Fundamentele Informatica 1 en 2. Datastructuren 2016 Programmeeropdracht 3: Patroonherkenning Deadlines. Woensdag 23 november 23:59, resp. vrijdag 9 december 23:59. Inleiding. Deze opdracht is gebaseerd op Hoofdstuk 13.1.7 in het boek

Nadere informatie

Formeel Denken. Herfst 2004

Formeel Denken. Herfst 2004 Formeel Denken Herman Geuvers Deels gebaseerd op het herfst 2002 dictaat van Henk Barendregt en Bas Spitters, met dank aan het Discrete Wiskunde dictaat van Wim Gielen Herfst 2004 Contents 1 Talen 1 1.1

Nadere informatie

Fundamenten van de Informatica

Fundamenten van de Informatica Fundamenten van de Informatica Luc De Raedt Academiejaar 2006-2007 naar de cursustekst van Karel Dekimpe en Bart Demoen A.1: Talen en Eindige Automaten 1 Deel 1: Inleiding 2 Motivatie Fundamenten van de

Nadere informatie

Automaten & Complexiteit (X )

Automaten & Complexiteit (X ) Automaten & Complexiteit (X 401049) Inleiding Jeroen Keiren j.j.a.keiren@vu.nl VU University Amsterdam Materiaal Peter Linz An Introduction to Formal Languages and Automata (5th edition) Jones and Bartlett

Nadere informatie

3 De stelling van Kleene

3 De stelling van Kleene 18 3 De stelling van Kleene Definitie 3.1 Een formele taal heet regulier als hij wordt herkend door een deterministische eindige automaat. Talen van de vorm L(r) met r een reguliere expressie noemen we

Nadere informatie

Logische Complexiteit Hoorcollege 4

Logische Complexiteit Hoorcollege 4 Logische Complexiteit Hoorcollege 4 Jacob Vosmaer Bachelor CKI, Universiteit Utrecht 8 februari 2011 Contextvrije grammatica s Inleiding + voorbeeld Definities Meer voorbeelden Ambiguiteit Chomsky-normaalvormen

Nadere informatie

TENTAMEN Basismodellen in de Informatica VOORBEELDUITWERKING

TENTAMEN Basismodellen in de Informatica VOORBEELDUITWERKING TENTAMEN Basismodellen in de Informatica vakcode: 211180 datum: 2 juli 2009 tijd: 9:00 12:30 uur VOORBEELDUITWERKING Algemeen Bij dit tentamen mag gebruik worden gemaakt van het boek van Sudkamp, van de

Nadere informatie

Formele talen. Elfde college

Formele talen. Elfde college 12 Formele talen Elfde college 1 verkeerslicht? 신호등을지킵시다 (Automatische) Vertaling van het Koreaans You should observe the traffic lights Is Koreaans een formele taal? Nee natuurlijk niet! Alleen, voor

Nadere informatie

Automaten & Complexiteit (X )

Automaten & Complexiteit (X ) Automten & Complexiteit (X 401049) Eigenschppen vn reguliere tlen Jeroen Keiren j.j..keiren@vu.nl VU University Amsterdm 9 Februri 2015 Reguliere tlen Vorig college: De volgende beweringen zijn equivlent:

Nadere informatie

inleiding theoretische informatica practicum 1 deadline woensdag 20 februari 2008 om uur

inleiding theoretische informatica practicum 1 deadline woensdag 20 februari 2008 om uur 1 Inleiding inleiding theoretische informatica 2007-2008 practicum 1 deadline woensdag 20 februari 2008 om 14.00 uur Dit practicum is een kennismaking met functioneel programmeren. Twee belangrijke functionele

Nadere informatie

Het minimale aantal sleutels op niveau h is derhalve

Het minimale aantal sleutels op niveau h is derhalve 1 (a) In een B-boom van orde m bevat de wortel minimaal 1 sleutel en maximaal m 1 sleutels De andere knopen bevatten minimaal m 1 sleutels en maximaal m 1 sleutels (b) In een B-boom van orde 5 bevat elke

Nadere informatie

Meetkundige Ongelijkheden Groep 2

Meetkundige Ongelijkheden Groep 2 Meetkundige Ongelijkheden Groep Trainingsweek Juni 009 1 Introductie We werken hier met ongeoriënteerde lengtes en voor het gemak laten we de absoluutstrepen weg. De lengte van een lijnstuk XY wordt dus

Nadere informatie

Automaten en Berekenbaarheid 2016 Oplossingen #4

Automaten en Berekenbaarheid 2016 Oplossingen #4 Automaten en Berekenbaarheid 2016 Oplossingen #4 28 oktober 2016 Vraag 1: Toon aan dat de klasse van context vrije talen gesloten is onder concatenatie en ster. Antwoord Meerdere manieren zijn mogelijk:

Nadere informatie

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet 13 november 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009]

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord November 26, 2018 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te

Nadere informatie

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet 8 december 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009]

Nadere informatie

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk. HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een

Nadere informatie

Verzamelingen deel 2. Tweede college

Verzamelingen deel 2. Tweede college 1 Verzamelingen deel 2 Tweede college herhaling Deelverzameling: AB wil zeggen dat elk element van A ook in B te vinden is: als x A dan x B Er geldt: A=B AB en BA De lege verzameling {} heeft geen elementen.

Nadere informatie

Verzamelingen deel 3. Derde college

Verzamelingen deel 3. Derde college 1 Verzamelingen deel 3 Derde college rekenregels Een bewerking op A heet commutatief als voor alle x en y in A geldt dat x y = y x. Een bewerking op A heet associatief als voor alle x, y en z in A geldt

Nadere informatie

opgaven formele structuren deterministische eindige automaten

opgaven formele structuren deterministische eindige automaten opgaven formele structuren deterministische eindige automaten Opgave. De taal L over het alfabet {a, b} bestaat uit alle strings die beginnen met aa en eindigen met ab. Geef een reguliere expressie voor

Nadere informatie

WI1808TH1/CiTG - Lineaire algebra deel 1

WI1808TH1/CiTG - Lineaire algebra deel 1 WI1808TH1/CiTG - Lineaire algebra deel 1 College 6 26 september 2016 1 Hoofdstuk 3.1 en 3.2 Matrix operaties Optellen van matrices Matrix vermenigvuldigen met een constante Matrices vermenigvuldigen Machten

Nadere informatie

Formele talen. uitgebreid

Formele talen. uitgebreid Formele talen 12 1 uitgebreid verkeerslicht? 신호등을지킵시다 (Automatische) Vertaling van het Koreaans You should observe the traffic lights is Koreaans een formele taal? nee natuurlijk niet! alleen, voor iemand

Nadere informatie

Formele talen. Tiende college

Formele talen. Tiende college 12 Formele talen Tiende college 1 verkeerslicht? 신호등을지킵시다 (Automatische) Vertaling van het Koreaans You should observe the traffic lights Is Koreaans een formele taal? Nee natuurlijk niet! Alleen, voor

Nadere informatie

De klasse van recursief opsombare talen is gesloten onder en. Dit bewijzen we met behulp van een recursieve opsomming

De klasse van recursief opsombare talen is gesloten onder en. Dit bewijzen we met behulp van een recursieve opsomming Recursieve talen De klasse van recursief opsombare talen is gesloten onder en. Echter, het is niet zo dat L recursief opsombaar is voor alle recursief opsombare talen L. Dit bewijzen we met behulp van

Nadere informatie

FP-theorie. 2IA50, Deel B. Inductieve definities 1/19. / department of mathematics and computer science

FP-theorie. 2IA50, Deel B. Inductieve definities 1/19. / department of mathematics and computer science FP-theorie 2IA50, Deel B Inductieve definities 1/19 Inductieve definitie Definitie IL α, (Cons-)Lijsten over α Zij α een gegeven verzameling. De verzameling IL α van eindige (cons-)lijsten over α is de

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord November 28, 2016 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te

Nadere informatie

Formeel Denken 2014 Uitwerkingen Tentamen

Formeel Denken 2014 Uitwerkingen Tentamen Formeel Denken 2014 Uitwerkingen Tentamen (29/01/15) 1. Benader de betekenis van de volgende Nederlandse zin zo goed mogelijk (6 punten) door een formule van de propositielogica: Als het regent word ik

Nadere informatie

Tentamen TI2310 Automaten en Talen. 19 april 2012, uur

Tentamen TI2310 Automaten en Talen. 19 april 2012, uur TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica TP Delft Tentamen TI2310 Automaten en Talen 19 april 2012, 14.00-17.00 uur Totaal aantal pagina's (exclusief dit titelblad):

Nadere informatie

Reguliere Expressies

Reguliere Expressies Reguliere Expressies Theorie en praktijk Leerboek voor het VO Huub de Beer Eindhoven, 31 mei 2011 Inhoudsopgave 1 Inleiding: patronen en tekst 4 1.1 Patronen in tekst zijn belangrijk................ 4

Nadere informatie

c, X/X a, c/λ a, X/aX b, X/X

c, X/X a, c/λ a, X/aX b, X/X ANTWOORDEN tentamen FUNDAMENTELE INFORMATICA 3 vrijdag 25 januari 2008, 10.00-13.00 uur Opgave 1 L = {x {a,b,c} n a (x) n b (x)} {x {a,b,c} n a (x) n c (x)}. a. Een stapelautomaat die L accepteert: Λ,

Nadere informatie

Automaten en Berekenbaarheid

Automaten en Berekenbaarheid Automaten en Berekenbaarheid Bart Demoen KU Leuven 2016-2017 Les 2: 20-35 reguliere expressies NFA DFA minimalisatie Van RE naar NFA I 2/11 structureel (als algebra s) zijn RegExp en de NFA s gelijk voor

Nadere informatie

extra oefening algoritmiek - antwoorden

extra oefening algoritmiek - antwoorden extra oefening algoritmiek - antwoorden opgave "Formule 1" Maak een programma dat de gebruiker drie getal A, B en C in laat voeren. De gebruiker zorgt ervoor dat er positieve gehele getallen worden ingevoerd.

Nadere informatie

PYTHON REEKS 1: BASICS. Mathias Polfliet

PYTHON REEKS 1: BASICS. Mathias Polfliet PYTHON REEKS 1: BASICS Mathias Polfliet mpolflie@etrovub.be EENVOUDIGE REKENMACHINE 2 soorten getallen Getallen Z -> integers (gehele getallen) Getallen R -> floating points (reële getallen) Door beperkte

Nadere informatie

Reguliere expressies

Reguliere expressies Reguliere expressies 1. Introductie Reguliere expressies vormen een specificatie-taal die een rol speelt als je in een grote hoeveelheid tekst een bepaald stukje zoekt. Het zoekwerk laat je door je computer

Nadere informatie

College Notatie, Recursie, Lijsten

College Notatie, Recursie, Lijsten College 2016-2017 2. Notatie, Recursie, Lijsten Doaitse Swierstra (Jeroen Bransen) Utrecht University September 13, 2016 Functieapplicatie functieapplicatie associeert naar links: als x in f x y moet kiezen

Nadere informatie

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet

Nadere informatie

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1 Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren

Nadere informatie

Python. Informatica. Renske Smetsers

Python. Informatica. Renske Smetsers Python Informatica Renske Smetsers Hoofdstuk 10 Hoofdstuk 10: Strings Na deze les kun je: Uitleggen waar je strings voor gebruikt Strings gebruiken over meerdere regels Indices voor strings gebruiken Strings

Nadere informatie

Niet-numerieke data-types

Niet-numerieke data-types Intern wordt een karakter voorgesteld als een rij van acht bits, Niet-numerieke data-types string de letter a 01100001 0110 0001 0x61 97 Bij interpretatie van de inhoud van een byte als een geheel getal,

Nadere informatie

Uitwerking Opgaven Formele talen, grammaticas en automaten Week 1

Uitwerking Opgaven Formele talen, grammaticas en automaten Week 1 Uitwerking Opgaven Formele talen, grammaticas en automaten Week 1 Bas Westerbaan bas@westerbaan.name 24 april 2012 1 Opgave 1.1 Een goed en voldoende antwoord is: L 1 = L 2, want L 1 en L 2 zijn alle woorden

Nadere informatie

Logische Complexiteit

Logische Complexiteit Logische Complexiteit Universele Turing machines College 12 Donderdag 18 Maart 1 / 11 Hoog-niveau beschrijvingen en coderen Vanaf nu: hoog-niveau beschrijvingen van TM s. Daarbij worden objecten die geen

Nadere informatie

ESA College 5a. Mark van der Zwaag. 3 oktober Programming Research Group, UvA. Mark van der Zwaag (PRG, UvA) ESA5a 3 oktober / 19

ESA College 5a. Mark van der Zwaag. 3 oktober Programming Research Group, UvA. Mark van der Zwaag (PRG, UvA) ESA5a 3 oktober / 19 ESA College 5a Mark van der Zwaag Programming Research Group, UvA 3 oktober 2006 Mark van der Zwaag (PRG, UvA) ESA5a 3 oktober 2006 1 / 19 Vandaag: tools voor tekst processing Practicum: shell scripting,

Nadere informatie

6.2 VBA Syntax. Inleiding Visual Basic

6.2 VBA Syntax. Inleiding Visual Basic 6.2 VBA Syntax Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. Klik te tab Hulpmiddelen voor databases Klik op Maken Macro s en Code -

Nadere informatie

Bilineaire Vormen. Hoofdstuk 9

Bilineaire Vormen. Hoofdstuk 9 Hoofdstuk 9 Bilineaire Vormen In dit hoofdstuk beschouwen we bilineaire vormen op een vectorruimte V nader. Dat doen we onder andere om in het volgende hoofdstuk de begrippen afstand en lengte in een vectorruimte

Nadere informatie

Tekstmanipulatie. Week 3: Reguliere expressies. Gosse Bouma 2007/2008. Informatiekunde Rijksuniversiteit Groningen

Tekstmanipulatie. Week 3: Reguliere expressies. Gosse Bouma 2007/2008. Informatiekunde Rijksuniversiteit Groningen Tekstmanipulatie Week 3: Reguliere expressies Gosse Bouma g.bouma@rug.nl Informatiekunde Rijksuniversiteit Groningen 2007/2008 Gosse Bouma 1/38 Overzicht 1 Wildcards 2 Keuze 3 Ranges 4 Begin en Eind van

Nadere informatie

Meetkundige ongelijkheden Groep A

Meetkundige ongelijkheden Groep A Meetkundige ongelijkheden Groep A Oppervlakteformules, sinus- & cosinusregel, de ongelijkheid van Euler Trainingsweek, juni 011 1 Oppervlakteformules We werken hier met ongeoriënteerde lengtes en voor

Nadere informatie

rij karakters scanner rij tokens parser ontleedboom (filteren separatoren) (niet expliciet geconstrueerd) (+ add. inform.) (contextvrije analyse)

rij karakters scanner rij tokens parser ontleedboom (filteren separatoren) (niet expliciet geconstrueerd) (+ add. inform.) (contextvrije analyse) scanning and parsing 1/57 rij karakters scanner (filteren separatoren) rij tokens (+ add. inform.) (niet expliciet geconstrueerd) parser (contextvrije analyse) ontleedboom (parse tree) representeert syntactische

Nadere informatie

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1 Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren

Nadere informatie

Samenvatting hst. 3 sec. 1-3

Samenvatting hst. 3 sec. 1-3 Samenvatting hst. 3 sec. 1-3 infixr 4 (< >) :: Parser a b! Parser a b! Parser a b (p < > q) xs = p xs ++ q xs infixl 6 () :: Parser a (b!c)! Parser a b! Parser a c (p q) xs = [(f b,zs) (f,ys)"p

Nadere informatie

6.3 VBA Syntax Instructie. Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken.

6.3 VBA Syntax Instructie. Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. 6.3 VBA Syntax Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken. Klik te tab Hulpmiddelen voor databases Klik in het groepsvak Macro op

Nadere informatie

opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): 2 a 2.

opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): 2 a 2. opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): ℵ 0 #A, B = {b 0,..., b n 1 } voor een zeker natuurlijk getal

Nadere informatie

We beginnen met de eigenschappen van de gehele getallen.

We beginnen met de eigenschappen van de gehele getallen. II.2 Gehele getallen We beginnen met de eigenschappen van de gehele getallen. Axioma s voor Z De gegevens zijn: (a) een verzameling Z; (b) elementen 0 en 1 in Z; (c) een afbeelding +: Z Z Z, de optelling;

Nadere informatie

(Isomorfie en) RELATIES

(Isomorfie en) RELATIES Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 15 maart 2009 (Isomorfie en) RELATIES. Paragrafen 10.5,11.1,11.2,11.4,11.5 Discrete

Nadere informatie

Meer command-line utilities

Meer command-line utilities Meer command-line utilities Mattias Holm & Kristian Rietveld Vorige week - Hoe werkt een shell? - Pipes en redirectie. - Verscheidene handige utilities. - Shell scripting. Doel - Meer utilities introduceren

Nadere informatie

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14 Python Vraag 1: Expressies en types Integrated Development Environment (IDE): Ø Wing 101 (gratis te downloaden op www.wingware.com) Oefeningen in de shell >> noemen we de prompt Python commando s = expressies

Nadere informatie

Formeel Denken. Herfst 2004

Formeel Denken. Herfst 2004 Formeel Denken Herman Geuvers Deels gebaseerd op het herfst 2002 dictaat van Henk Barendregt en Bas Spitters, met dank aan het Discrete Wiskunde dictaat van Wim Gielen Herfst 2004 Contents 1 Propositielogica

Nadere informatie

Zelftest Inleiding Programmeren

Zelftest Inleiding Programmeren Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze

Nadere informatie

2. Syntaxis en semantiek

2. Syntaxis en semantiek 2. Syntaxis en semantiek In dit hoofdstuk worden de begrippen syntaxis en semantiek behandeld. Verder gaan we in op de fouten die hierin gemaakt kunnen worden en waarom dit in de algoritmiek zo desastreus

Nadere informatie

Introductie tot de cursus

Introductie tot de cursus Inhoud introductietalen en ontleders Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen 8 2.3 Opbouw van de cursus 8 3 Leermiddelen en

Nadere informatie

RuG-Informatica-cursus Discrete Structuren, versie 2009/2010

RuG-Informatica-cursus Discrete Structuren, versie 2009/2010 RuG-Informatica-cursus Discrete Structuren, versie 2009/2010 Handout 2B Jan Terlouw woensdag 17 februari 2010 Deze handout sluit aan op handout 2A van maandag 15 februari. De gepresenteerde stof valt grotendeels

Nadere informatie

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1 OEFENINGEN PYTHON REEKS 1 Vraag 1: Python als een eenvoudige rekenmachine Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3) en

Nadere informatie

Introductie tot de cursus

Introductie tot de cursus Introductie tot de cursus 1 Plaats en functie van de cursus 7 1.1 Positie in de opleiding 7 1.2 Functie 7 2 Cursusmateriaal 8 2.1 Tekstboek 8 2.2 Werkboek 8 2.3 Software 9 2.4 Cursussite 9 3 Planning 10

Nadere informatie

Korte uitleg: Haakjes en Aanhalingstekens

Korte uitleg: Haakjes en Aanhalingstekens Korte uitleg: Haakjes en Aanhalingstekens Wie naar een wat ingewikkelder bash script kijkt ziet een verwarrende hoeveelheid van allerlei soorten haakjes en aanhalingstekens. Die verwarring is normaal gezien

Nadere informatie

Lineaire Algebra TW1205TI. I.A.M. Goddijn, Faculteit EWI 12 februari 2014

Lineaire Algebra TW1205TI. I.A.M. Goddijn, Faculteit EWI 12 februari 2014 Lineaire Algebra TW1205TI, 12 februari 2014 Contactgegevens Mekelweg 4, kamer 4.240 tel : (015 27)86408 e-mail : I.A.M.Goddijn@TUDelft.nl homepage : http: //fa.its.tudelft.nl/ goddijn blackboard : http:

Nadere informatie

Algoritmiek. 8 uur college, zelfwerkzaamheid. Doel. Hoe te realiseren

Algoritmiek. 8 uur college, zelfwerkzaamheid. Doel. Hoe te realiseren Algoritmiek Doel Gevoel en inzicht ontwikkelen voor het stapsgewijs, receptmatig oplossen van daartoe geëigende [biologische] probleemstellingen, en dat inzicht gebruiken in het vormgeven van een programmeerbare

Nadere informatie

1 Introductie. 2 Oppervlakteformules

1 Introductie. 2 Oppervlakteformules Introductie We werken hier met ongeoriënteerde lengtes en voor het gemak laten we de absoluutstrepen weg. De lengte van een lijnstuk XY wordt dus ook weergegeven met XY. Verder zullen we de volgende notatie

Nadere informatie

1 Rekenen in eindige precisie

1 Rekenen in eindige precisie Rekenen in eindige precisie Een computer rekent per definitie met een eindige deelverzameling van getallen. In dit hoofdstuk bekijken we hoe dit binnen een computer is ingericht, en wat daarvan de gevolgen

Nadere informatie

Gebruik van command-line operating systems

Gebruik van command-line operating systems Gebruik van command-line operating systems Mattias Holm & Kristian Rietveld Overzicht - Waarom hier meer over leren? - Wat is een shell? - Hoe werkt een shell? - Pipes en redirectie - Handige utilities

Nadere informatie

Deeltentamen Grammatica s en ontleden 22 december 2005

Deeltentamen Grammatica s en ontleden 22 december 2005 Tentamen Grammatica s en ontleden 22 december 2005 1 Deeltentamen Grammatica s en ontleden 22 december 2005 Let op: opgave 1 t/m 4 tellen voor (slechts) 5 punten mee, opgave 5 voor maar liefst 50 punten,

Nadere informatie

8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde

8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde 8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde Optellen: 5a + 3b + 2a + 6b = 7a + 9b 1) Alleen gelijksoortige

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 7 2.1 Tekstboek 7 2.2 Voorkennis 8 2.3 Leerdoelen 8 2.4 Opbouw van de cursus 9 3 Leermiddelen en wijze van studeren

Nadere informatie

WISKUNDE 5 PERIODEN. DATUM : 5 juni 2008 ( s morgens) Niet-programmeerbare, niet-grafische rekenmachine

WISKUNDE 5 PERIODEN. DATUM : 5 juni 2008 ( s morgens) Niet-programmeerbare, niet-grafische rekenmachine EUROPEES BACCALAUREAAT 2008 WISKUNDE 5 PERIODEN DATUM : 5 juni 2008 ( s morgens) DUUR VAN HET EXAMEN : 4 uur (240 minuten) TOEGESTANE HULPMIDDELEN Formuleboekje voor de Europese scholen Niet-programmeerbare,

Nadere informatie

Voorkennis : Breuken en letters

Voorkennis : Breuken en letters Hoofdstuk 1 Rekenregels en Verhoudingen (H4 Wis A) Pagina 1 van 11 Voorkennis : Breuken en letters Les 1 : Breuken Bereken : a. 4 2 3 b. x 5 = c. 12 3 x a. 4 2 3 = 8 3 = 2 2 3 b. x 5 = 1 5 x c. 12 3 x

Nadere informatie

Hoofdstuk 1. Inleiding. Lichamen

Hoofdstuk 1. Inleiding. Lichamen Hoofdstuk 1 Lichamen Inleiding In Lineaire Algebra 1 en 2 heb je al kennis gemaakt met de twee belangrijkste begrippen uit de lineaire algebra: vectorruimte en lineaire afbeelding. In dit hoofdstuk gaan

Nadere informatie

Uitwerkingen Rekenen met cijfers en letters

Uitwerkingen Rekenen met cijfers en letters Uitwerkingen Rekenen met cijfers en letters Maerlant College Brielle 5 oktober 2009 c Swier Garst - RGO Middelharnis 2 Inhoudsopgave Rekenen met gehele getallen 7. De gehele getallen.....................................

Nadere informatie

Vorig college. IN2505-II Berekenbaarheidstheorie. Intermezzo / kleine opfriscursus. Deterministische eindige automaten (DFA) College 6

Vorig college. IN2505-II Berekenbaarheidstheorie. Intermezzo / kleine opfriscursus. Deterministische eindige automaten (DFA) College 6 Vorig college College 6 Algoritmiekgroep Fculteit EWI TU Delft Hotel Hilbert Aftelbrheid vs. Overftelbrheid Digonlisering Overftelbrheid vn R 6 mei 2009 1 2 Intermezzo / kleine opfriscursus Deterministische

Nadere informatie

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c Een Minimaal Formalisme om te Programmeren We hebben gezien dat Turing machines beschouwd kunnen worden als universele computers. D.w.z. dat iedere berekening met natuurlijke getallen die met een computer

Nadere informatie

Semantische eigenschappen van XML-schematalen

Semantische eigenschappen van XML-schematalen transnationale Universiteit Limburg School voor Informatietechnologie Universiteit Hasselt Semantische eigenschappen van XML-schematalen Thesis voorgedragen tot het behalen van de graad van licentiaat

Nadere informatie

equationeel programmeren 2015 01 05 college 1

equationeel programmeren 2015 01 05 college 1 equationeel programmeren 2015 01 05 college 1 schema praktische zaken opmerkingen vooraf lambda termen materiaal schema praktische zaken opmerkingen vooraf lambda termen materiaal wie hoorcolleges: Femke

Nadere informatie

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie Kennisrepresentatie & Redeneren Piter Dykstra Instituut voor Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 8 oktober 2007 GRAMMATICA S Kennisrepresentatie & Redeneren Week6: Grammatica

Nadere informatie

Formeel Denken. Inhoudsopgave

Formeel Denken. Inhoudsopgave Formeel Denken Herman Geuvers Deels gebaseerd op het herfst 2002 dictaat van Henk Barendregt en Bas Spitters, met dank aan het Discrete Wiskunde dictaat van Wim Gielen. Herfst 2008 herzien en uitgebreid

Nadere informatie

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax, Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt

Nadere informatie

Masterproef Uniforme Random Generatie van Strings

Masterproef Uniforme Random Generatie van Strings 2012 2013 FACULTEIT WETENSCHAPPEN master in de informatica: databases Masterproef Uniforme Random Generatie van Strings Promotor : Prof. dr. Frank NEVEN De transnationale Universiteit Limburg is een uniek

Nadere informatie

Matrices en Grafen (wi1110ee)

Matrices en Grafen (wi1110ee) Matrices en Grafen (wi1110ee) Electrical Engineering TUDelft September 1, 2010 September 1, 2010 Inleiding Mekelweg 4, kamer 4.240 tel : (015 27)86408 e-mail : I.A.M.Goddijn@TUDelft.nl homepage : http:

Nadere informatie

Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b

Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b Het oplossen van stelsels lineaire vergelijkingen Wiskunde 2, 2DM60 College 2b Ruud Pellikaan g.r.pellikaan@tue.nl /k 2014-2015 Lineaire vergelijking 2/64 DEFINITIE: Een lineaire vergelijking in de variabelen

Nadere informatie

Arrays. Complexe datastructuren. Waarom arrays. Geen stijlvol programma:

Arrays. Complexe datastructuren. Waarom arrays. Geen stijlvol programma: Geen stijlvol programma: Complexe datastructuren Arrays vijf verschillende variabelen voor iets dat als één rij getallen bestempeld wordt; onbruikbaar wanneer het over meer getallen (bijvoorbeeld ) gaat.

Nadere informatie

Gerichte Grafen Boolese Algebra s &. Logische Netwerken

Gerichte Grafen Boolese Algebra s &. Logische Netwerken Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 10 maart 2009 Gerichte Grafen Boolese Algebra s &. Logische Netwerken. Paragrafen

Nadere informatie

Inleiding Logica voor CKI

Inleiding Logica voor CKI Inleiding Logica voor CKI Albert Visser Philosophy, Faculty Humanities, Utrecht University 17 oktober, 2013 1 Overview 2 Overview 2 Overview 2 Overview 3 Signatuur Een signatuur Σ is een rijtje Pred, Con,

Nadere informatie

Uitwerkingen. Python Assessment

Uitwerkingen. Python Assessment Uitwerkingen Python Assessment Nijmegen - Utrecht www.atcomputing.nl Copyright 2015,2016 Versie: 1a Uitwer king 1: Elementairedatatypes 1.a Een string bevat tekst in de vorm van Unicode characters, terwijl

Nadere informatie

Inhoudsopgave. Inhoud

Inhoudsopgave. Inhoud sopgve 1 Ptronen... 3 2 Vergelijk: tegelptronen... 4 3 Regulier versus context-vrij... 5 4 Lettergrepen: tl met één hnd... 6 5 Bouwpln voor lettergrepen... 7 6 Tlspel met lettergreepstructuur... 8 7 Spiegelwoorden...

Nadere informatie

College Logica voor CKI

College Logica voor CKI College Logica voor CKI Albert Visser Department of Philosophy, Faculty Humanities, Utrecht University 15 oktober, 2012 1 Overview 2 Overview 2 Overview 2 Overview 3 Syntaxis De eerste ronde: Constanten:

Nadere informatie

In dit hoofdstuk introduceren we de hoofdrolspelers van het college: eindige automaten.

In dit hoofdstuk introduceren we de hoofdrolspelers van het college: eindige automaten. 9 2 Eindige utomten In dit hoofdstuk introduceren we de hoofdrolspelers vn het college: eindige utomten. 2.1 Deterministische eindige utomten We eginnen met een vooreeld. Vooreeld 2.1 Beschouw het volgende

Nadere informatie

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Giso Dal (0752975) Pagina s 5 7 1 Deelverzameling Representatie

Nadere informatie

Verzamelingen, Lijsten, Functioneel Programmeren

Verzamelingen, Lijsten, Functioneel Programmeren Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck jve@cwi.nl Stage Ignatiuscollege, 17 mei 2010 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen

Nadere informatie

Regular Expressions in Java (2)

Regular Expressions in Java (2) In het eerste deel van deze serie (Java Magazine nr. 1, april 2006) lieten Jesse Houwing en Peter van den Berkmortel zien dat je met Reguliere Expressies veel code kunt besparen. We zagen onder andere

Nadere informatie