Tentamen Compilers (2M220) 19 maart 2002, 9.00u-12.00u
|
|
- Anita Willems
- 7 jaren geleden
- Aantal bezoeken:
Transcriptie
1 12/k Tentamen Compilers (2M220) 19 maart 2002, 9.00u-12.00u 1. Beschouw de volgende deelverzameling van de ASCII-karakters V = { 0, 1,..., 9, A, B,..., Y, Z, a, b,..., y, z } De karakters in V staan vermeld in de volgorde zoals ze, van laag naar hoog, voorkomen in de ordening van de ASCII-karakters. Dit is ook de ordening binnen de verzameling V. De representatie van een deelverzameling van V bestaat uit achtereenvolgens het karakter [ eventueel het karakter ^ (al of niet complement) 0ofméér keren -óf 1 karakter uit V (los karakter) -óf 1 karakter uit V, gevolgd door het karakter - (koppelteken), gevolgd door 1 karakter uit V (karakterinterval, d.w.z. alle karakters in de ordening tussen het eerste en het tweede karakter) het karakter ] Aanwezigheid van het karakter ^ duidt aan dat het complement (t.o.v. V ) van de bedoelde deelverzameling wordt beschreven. De gerepresenteerde verzameling bestaat uit alle losse karakters en alle karakters in de karakterintervallen in de representatie (of juist het complement daarvan t.o.v. V als het karakter ^ aanwezig is). Enkele voorbeelden representatie deelverzameling [] [a-z] { a, b,..., y, z } [^a-z] { 0, 1,..., 9, A, B,..., Y, Z } [^] V [0-z] V [0A-C7-9Za] { 0, 7, 8, 9, A, B, C, Z, a } [^0-9A-Z] { a, b,..., y, z } (1) (a) Geef een reguliere expressie e die representaties van deelverzamelingen van V volgens bovenstaande regels beschrijft en voldoet aan det(e, { }). (1) (b) Construeer uit de als antwoord bij (a) gegeven reguliere expressie volgens het T- recept een acceptorprogramma in GCL. U mag daarbij de gebruikelijke vereenvoudigingen toepassen en hoeft alleen het eindresultaat te geven. 1
2 2. Beschouw de volgende contextvrije grammatica voor boolse expressies S EXPR EXPR EXPR or EXPR EXPR cor EXPR EXPR and EXPR EXPR cand EXPR ( EXPR ) ID not ID true false ID a b c d (1) (a) Geef Follow(EXPR), LA(EXPR EXPR or EXPR), LA(EXPR not ID) en LA(EXPR ID). (1) (b) Waarom voldoet bovenstaande grammatica niet aan de LL(1)-eisen? Beschrijf de taal voortgebracht door deze grammatica (als S als startsymbool wordt genomen) door een LL(1)-grammatica die tevens uitdrukt dat operatoren and en cand dezelfde prioriteit hebben, dat operatoren or en cor dezelfde prioriteit hebben en dat de prioriteit van and/cand hoger is dan die van or/cor. (1) (c) Geef de recursive descent parsing procedures in GCL behorend bij de LL(1)- grammatica uit uw antwoord op vraag (b). Ga daarbij uit van een lexical scanner geïmplementeerd middels een procedure NEXTSYM die aan een globale variabele sym het eerstvolgende token toekent volgens het volgende schema "or" orsym "cor" corsym "and" andsym "cand" candsym "not" notsym a b c d idsym "true" truesym "false" falsesym (1) (d) De operatoren or en and zijn de bekende boolse operatoren met vertalingen τ EXPR (e 1 or e 2 )α τ EXPR (e 1 and e 2 )α = = τ EXPR (e 1 )α τ EXPR (e 1 )α τ EXPR (e 2 )α τ EXPR (e 2 )α OR AND De operator cor is de conditionele or-operator en de operator cand is de conditionele and-operator. Deze operatoren zijn als volgt gedenieerd: (i) true cor e = true (iii) false cand e = false (ii) false cor e = e (iv) true cand e = e waarbij het in gevallen (i) en (iii) is toegelaten dat expressie e niet te berekenen is (berekening leidt tot abortie, denk bijv. aan delen door 0). Voor de berekening van 2
3 e 1 cor e 2 resp. e 1 cand e 2 wordt eerst e 1 berekend en, als dat nodig is (gevallen (ii) en (iv)), e 2. Geef denities van de vertalingen τ EXPR (e 1 cor e 2 )α en τ EXPR (e 1 cand e 2 )α die overeenstemmen met de gegeven semantiek van de operatoren cor en cand. De TL-interpretator is als bijlage toegevoegd. 3. Aan de voorbeeldtaal PL worden for-statements toegevoegd beschreven door de volgende productieregel STAT for ID := EXPR until EXPR do STATS od Nonterminal ID brengt op niet nader gespeciceerde wijze identiers voort. Het forstatement for x := e b until e e do ss od moet voldoen aan de volgende contextcondities variabele x is een verse variabele, d.w.z. x komt niet voor in de declaraties en x is niet geïntroduceerd door een omhullend for-statement (denk aan nesting van for-statements) x mag als variabele van het type int gebruikt worden in statements ss, maar niet in expressies e b en e e (het for-statement declareert als het ware een extra variabele x van het type int) expressies e b en e e zijn van het type int en heeft een semantiek die gelijk is aan die van binnenblok [ var x : int, eind : int x := e b ; eind := e e ; while x eind do ss; x := x +1od ] (1) (a) Geef een geattribueerde versie van bovenstaande productieregel met bijbehorende regelcondities die de gegeven contextcondities uitdrukt. Ga er vanuit dat de nonterminals als volgt geattribueerd zijn: STAT D, ID +Name, EXPR D, +Type en STATS D waarin D = bag of Name Type (hint: Beschouw het inherited attribuut van STATS en STAT als de bag van alle gedeclareeerde variabelen aangevuld met alle (integer)variabelen die door omhullende for-statements zijn geïntroduceerd). (1) (b) Geef een vertaling naar TL van dit for-statement, d.w.z. geef een correcte denitie van τ STAT (for x := e b until e e do ss od)α, ffa waarin de extra parameter ffa van de vertaalfunctie aangeeft vanaf welk adres cellen in het datageheugen beschikbaar zijn voor de opslag van tijdelijke extra variabelen. De TL-interpretator (uitgebreid met o.a. instructie INC) is als bijlage toegevoegd. 3
4 4. Aan voorbeeldtaal PL worden case-expressies toegevoegd beschreven door de volgende productieregel EXPR ( EXPR? EXPR {: EXPR} EXPR ) De case-expressie e =(e 0? e 1 : e 2 : : e k e k+1 ) moet voldoen aan de volgende contextcondities e 0 moet het type int hebben e 1, e 2,..., e k en e k+1 moeten hetzelfde type hebben en dit type is ook het type van de hele expressie en heeft als waarde val(e) = { val(ei ) als val(e 0 )=i en 1 i k val(e k+1 ) anders (1) (a) Geef een geattribueerde versie van bovenstaande productieregel met bijbehorende regelcondities die de gegeven contextcondities uitdrukt. Ga er daarbij vanuit dat de nonterminal EXPR als volgt geattribueerd is: EXPR D, +Type met D = bag of Name Type. (1) (b) Geef een vertaling naar TL van deze expressie, d.w.z. geef een correcte denitie van τ EXPR ((e 0? e 1 : e 2 : : e k e k+1 ))α beoordeling De punten per (deel)opgave staan in de marge vermeld. Het cijfer wordt als volgt bepaald: (som van behaalde punten + evt. behaald bonuspunt) min 10 waarin met bonuspunt wordt bedoeld het punt behaald met de opdrachten in het studiejaar 2001/2002. (Voltooiïng van opdrachten 1, 2 en 3 tezamen levert 1 bonuspunt, voltooiïng van opdracht 4 een 1 2 bonuspunt.) Het bonuspunt behaald in studiejaar 2001/2002 telt mee voor alle tentamens in dat zelfde studiejaar. 4
5 TL-interpretator var run : Bool ; in : Instr; v, v 1,v 2 : Value ; l : Plabel ; m : Memaddress es, ip, run, rs, ds, ffa :=, 0, true,,, 0 ; do run in := P [ ip]; ip := ip +1 ; case in of SUB ADD MUL DIV MOD : v 1,v 2,es := Top(es),Top Pop(es),Pop Pop(es) ; if v 1,v 2 :: iv(x 1 ),iv(x 2 ) es := iv(x 2 x 1 ) es [] v 1,v 2 :: rv(y 1 ),rv(y 2 ) es := rv(y 2 y 1 ) es : v 1,v 2,es := Top(es),Top Pop(es),Pop Pop(es) ; if v 1,v 2 :: iv(x 1 ),iv(x 2 ) es := iv(x 2 mod x 1 ) es INC : v, es := Top(es),Pop(es) ; if v :: iv(x) if x < MaxInt es := iv(x +1) es [] v :: rv(y) if x < MaxReal 1 es := rv(y +1) es [] v :: bv(z) if z es := bv( z) es [] v :: cv(c) if ord(c) < 255 es := cv(chr(ord(c) + 1)) es DEC EQL : v 1,v 2,es := Top(es),Top Pop(es),Pop Pop(es) ; es := bv(v 1 = v 2 ) es NEQ : v 1,v 2,es := Top(es),Top Pop(es),Pop Pop(es) ; es := bv(v 1 v 2 ) es LEQ : v 1,v 2,es := Top(es),Top Pop(es),Pop Pop(es) ; if v 1,v 2 :: iv(x 1 ),iv(x 2 ) es := bv(x 2 x 1 ) es [] v 1,v 2 :: rv(y 1 ),rv(y 2 ) es := bv(y 2 y 1 ) es [] v 1,v 2 :: bv(z 1 ),bv(z 2 ) es := bv(z 2 z 1 ) es [] v 1,v 2 :: cv(c 1 ),cv(c 2 ) es := bv(c 2 c 1 ) es LESS GEQ GTR AND : v 1,v 2,es := Top(es),Top Pop(es),Pop Pop(es) ; if v 1,v 2 :: bv(z 1 ),bv(z 2 ) es := bv(z 2 z 1 ) es OR 5
6 NEG : v, es := Top(es),Pop(es) ; if v :: iv(x) es := iv( x) es [] v :: rv(y) es := rv( y) es [] v :: bv(z) es := bv( z) es STO(m) : M[m],es := Top(es),Pop(es) LDV(m) : es := M[m] es LDI : v, es := Top(es),Pop(es) ; if v :: iv(x) es := M[x] es STI : v 1,v 2,es:= Top(es),Top Pop(es),Pop Pop(es) ; if v 2 :: iv(x) M[x] :=v 1 LDC(v) : es := v es DUP : es := Top(es) es POP : es := Pop(es) PUT : es, out := Pop(es), out Top(es) GET : es, inp := First(inp) es, Rest(inp) CHK(v 1,v 2 ) : v := Top(es) ; if v 1,v 2,v :: iv(x 1 ),iv(x 2 ),iv(x) es := bv(x 1 x x x 2 ) es TJP(l) : v, es := Top(es),Pop(es) ; if v :: bv(z) if z ip := Lmap(l) [] z skip FJP(l) UJP(l) XJP HLT : v, es := Top(es),Pop(es) ; if v :: bv(z) if z skip [] z ip := Lmap(l) : ip := Lmap(l) : v, es := Top(es),Pop(es) ; if v :: iv(x) ip := ip 1+x : run := false od esac 6
Tentamen Compilers (2IC25) 21 juni 2010, 9.00u-12.00u
Tentamen Compilers (2IC25) 21 juni 2010, 9.00u-12.00u 1. Beschouw de reguliere expressie e = (a (a b) ) c (Er mag geen materiaal worden geraadpleegd.) (De TL-interpretator is als bijlage toegevoegd.) Faculteit
Nadere informatieCompilers (2IC25) docent: G. Zwaan, HG 5.41, tel. ( )4291, webpagina:
Compilers (2IC25) docent: G. Zwaan, HG 5.41, tel. (040 247)4291, e-mail: G.Zwaan@tue.nl webpagina: http://www.win.tue.nl/~wsinswan/compilers/ compileren compilatie vertalen (een werk) bijeenbrengen door
Nadere informatierij 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 informatieDeeltentamen 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 informatieVoorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.
Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, 14.00-15.30, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Dit tentamen bestaat uit twee delen. Deel 1 (14.00-14.45, gesloten
Nadere informatiecolleges recursieve datastructuren college 9 prioriteit van operatoren prioriteit in recursive descent parser
colleges recursieve datastructuren college 9 interpreteren: waarde van bomen bepalen transformeren: vorm van bomen veranderen parseren herkennen van expressie in de tekst herkennen van functies onderwerp
Nadere informatieOntwerp van Algoritmen: opgaven weken 3 en 4
0 Ontwerp van Algoritmen: opgaven weken 3 en 4 Voor alle volgende opgaven over programmaatjes geldt de spelregel: formuleer altijd eerst alle bewijsverplichtingen. selectie 45. (tail distribution)(prima
Nadere informatie7 Omzetten van Recursieve naar Iteratieve Algoritmen
7 Omzetten van Recursieve naar Iteratieve Algoritmen Het lijkt mogelijk om elke oplossings-algoritme, die vaak in eerste instantie recursief geformuleerd werd, om te zetten in een iteratieve algoritme
Nadere informatiecompileren & interpreteren - compileren: vertalen (omzetten) - interpreteren: vertolken
compileren & interpreteren - compileren: vertalen (omzetten) - interpreteren: vertolken - belangrijkste punten: - ontleden van de programmatekst - bijhouden van de datastructuren Data Structuren en Algoritmen
Nadere informatieHOOFDSTUK 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 informatiePYTHON 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 informatieEen korte samenvatting van enkele FORTRAN opdrachten
Een korte samenvatting van enkele FORTRAN opdrachten Inhoud 1 Introductie 3 2 De structuur van een FORTRAN programma 3 3 Datatypen, variabelen en declaraties 3 4 Expressies-volgorde van uitwerking 4 5
Nadere informatieZelftest Programmeren in COBOL - deel I
Zelftest Programmeren in CBL - deel I Document: n1290test.fm 05/01/2016 ABIS Training & Consulting P.. Box 220 B-3000 Leuven Belgium TRAINING & CNSULTING INLEIDING BIJ DE ZELFTEST PRGRAMMEREN IN CBL -
Nadere informatieDigitale technieken Deeltoets II
Digitale technieken Deeltoets II André Deutz 11 januari, 2008 De opgaven kunnen uiteraard in een willekeurige volgorde gemaakt worden geef heel duidelijk aan op welke opgave een antwoord gegegeven wordt.
Nadere informatieReguliere talen: overzicht
Reguliere talen!!reguliere grammatica: versimpelde Contextvrije grammatica!!finite-state Automaton: andere manier om een taal te beschrijven!!reguliere Expressie nog een andere manier Alle drie kunnen
Nadere informatie17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies
17 Operaties op bits In hoofdstuk 1 is gezegd dat C oorspronkelijk bedoeld was als systeemprogrammeertaal om het besturingssysteem UNIX te implementeren. Bij dit soort toepassingen komt het voor dat afzonderlijke
Nadere informatieAutomaten & 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 informatie2 Propositie- en predikatenrekening
0 Ontwerp van Algoritmen: OpgavenBundel 0 Inleiding De opgaven in deze bundel zijn gegroepeerd naar verschillende thema s. Per thema zijn de opgaven (min of meer) geordend naar oplopende moeilijkheid.
Nadere informatieLab Webdesign: Javascript 3 maart 2008
H5: OPERATORS In dit hoofdstuk zullen we het hebben over de operators (of ook wel: operatoren) in JavaScript waarmee allerlei rekenkundige en logische bewerkingen kunnen worden uitgevoerd. Daarbij zullen
Nadere informatieOpgaven bij Hoofdstuk 3 - Productiesystemen
Opgaven bij Hoofdstuk 3 - Productiesystemen Top-down inferentie In de opgaven in deze paragraaf over top-down inferentie wordt aangenomen dat de feitenverzameling alleen feiten bevat die als getraceerd
Nadere informatieUNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS
UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS Laatste aanpassing: 15 oktober 2003 Inhoudsopgave 1 Bestandsnamen 3 2 Organizatie Bestanden 3 3 Indentatie
Nadere informatieAanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, uur
Aanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, 13.30-15.30 uur Naam: Studentnummer: Het tentamen bestaat uit 4 opgaven. Opgaven 1 levert 8 punten op, opgave 2 levert 12 punten
Nadere informatieConstanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.
een symbolische naam voor een object. Variabelen Constanten Variabelen Expressies naam : geeft de plaats in het geheugen aan waarde : de inhoud van het object identifier : een rij van letters en/of cijfers
Nadere informatieInhoud 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 informatieZelftest 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 informatieSchriftelijke zitting Regeltechniek (WB2207) 3 november 2011 van 9:00 tot 12:00 uur
Schriftelijke zitting Regeltechniek (WB2207) 3 november 2011 van 9:00 tot 12:00 uur Onderstaande aanwijzingen nauwkeurig lezen. Vul op het voorblad uw naam, voorletters, studienummer en opleiding in. Dit
Nadere informatieCLIPS en het Rete-algoritme. Productieregels in CLIPS. Feiten. Productiesysteem (voorbeeld)
CLIPS en het Rete-algoritme CLIPS: acroniem voor C Language Integrated Production System Verwant aan OPS5 (Carnegie-Mellon University), en gebaseerd op ART (Artificial Reasoning Tool) Ontwikkeld door Lyndon
Nadere informatieStapelgeheugen. Processoren 6 maart 2012
Stapelgeheugen Processoren 6 maart 2012 Programma van komende week 7 maart 8.45: extra vragenuur over HADES 13 maart 8.45: hoorcollege vervalt, maar werkcolleges vinden plaats. Stapelgeheugen Tanenbaum
Nadere informatieSyntax- (compile), runtime- en logische fouten Binaire operatoren
Inhoud Syntax- (compile), runtime- en logische fouten Binaire operatoren Operaties op numerieke datatypen Evaluatie van expressies, bindingssterkte Assignment operaties en short-cut operatoren Controle
Nadere informatieFormeel 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 informatieDeel 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 informatieProgrammeren Blok B. Onderwerpen. wstomv/edu/2ip05/ College 8. Tom Verhoeff
Programmeren Blok B Onderwerpen http://www.win.tue.nl/ wstomv/edu/2ip05/ College 8 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering & Technology Verdelen
Nadere informatieZelftest Programmeren in PL/I
Zelftest Programmeren in PL/I Document: n0830test.fm 26/03/2012 ABIS Training & Consulting P.. Box 220 B-3000 Leuven Belgium TRAINING & CNSULTING INLEIDING BIJ DE ZELFTEST PRGRAMMEREN IN PL/I m de voorkennis
Nadere informatieSemantiek (2IT40) Bas Luttik. HG 7.14 tel.: Hoorcollege 8 (7 juni 2007)
Bas Luttik s.p.luttik@tue.nl http://www.win.tue.nl/~luttik HG 7.14 tel.: 040 247 5152 Hoorcollege 8 (7 juni 2007) Functionele talen Idee: een programma definieert reeks (wiskundige) functies. Programma
Nadere informatieAPPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts
APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN Onderdeel van SmartProducts INHOUD COLLEGE 3 Scope van variabelen {3.9} Class ontwerpen en maken,
Nadere informatieTentamen Programmeren in C (EE1400)
TU Delft Tentamen Programmeren in C (EE1400) 5 april 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code
Nadere informatiecontinue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen.
Hoofdstuk 3: controlestructuren instructies en blokken Naar elke instructie staat een ; Instructies worden door de haakjes {} in een block samengevat. if else if ( expression) statement1; else statement2;
Nadere informatie10. Controleopdrachten
Computeralgebra met Maxima 10. Controleopdrachten 10.1. Functies en operatoren voor lijsten/vectoren/arrays Een van de eenvoudigste maar belangrijkste lusachtige functies is de makelist opdracht. Voor
Nadere informatieUitbreiding van de Model Specification Language (MSL) compiler. Thierry Cornelis
Uitbreiding van de Model Specification Language (MSL) compiler Thierry Cornelis 29 november 2002 Inhoudsopgave 1 Prototype 1 3 1.1 AToM 3............................... 3 1.2 Compileren............................
Nadere informatieTentamen Kunstmatige Intelligentie (INFOB2KI)
Tentamen Kunstmatige Intelligentie (INFOB2KI) 30 januari 2014 10:30-12:30 Vooraf Mobiele telefoons dienen uitgeschakeld te zijn. Het tentamen bestaat uit 7 opgaven; in totaal kunnen er 100 punten behaald
Nadere informatieLeren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie
Leren Programmeren met Visual Basic 6.0 Les 3+4 Hoofdstuk 4 : De Selectie Visual Basic 6.0 1 Basisstructuren (herhaling) Sequentie (HK2) : Alle opdrachten gewoon na mekaar uitvoeren. Hier worden geen keuzes
Nadere informatieTentamen Programmeren in C (EE1400)
TU Delft Faculteit EWI Tentamen Programmeren in C (EE1400) 28 jan 2011, 9.00 12.00 - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code gevraagd
Nadere informatieProgrammeren met Arduino-software
Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en
Nadere informatieHet 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 informatieProgrammeermethoden NA
Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Getal opbouwen Stel je leest losse karakters (waaronder
Nadere informatieReguliere Expressies
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
Nadere informatieEE1400: Programmeren in C BSc. EE, 1e jaar, , 2e college
EE1400: Programmeren in C BSc. EE, 1e jaar, 2012-2013, 2e college Arjan van Genderen, Computer Engineering 20-11-2012 Delft University of Technology Challenge the future Agenda A.s. woensdagmiddag 14.00
Nadere informatieCollege I/O
College 2016-2017 I/O Doaitse Swierstra Verteld door Jurriaan Hage Utrecht University Input en Output Tot dusverre: een module bevat een aantal functiedefinities GHCi drukt de waarde af van een ingetikte
Nadere informatieProgrammeren in Java les 3
4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een
Nadere informatieALGORITMIEK: antwoorden werkcollege 5
ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit
Nadere informatieImplementatie van Programmeertalen (IPT) 4 mei 2001
Informatica Instituut, Faculteit Wiskunde en Informatica, UU. In elektrosche vorm beschikbaar gemaakt door de TBC van A Eskwadraat. Het college IPT werd in 2000/2001 gegeven door Drs. A. Dijkstra en Drs.
Nadere informatieComputervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Wat is scripting?
Inhoud Computervaardigheden Hoofdstuk 4 Scripting (Let op: dit is enkel voor studenten Biologie.) Dit hoofdstuk bekijkt heel kort de basis van scripting. - Opstellen van functies. - Conditionele code.
Nadere informatieVijfde college algoritmiek. 2/3 maart Exhaustive search
Vijfde college algoritmiek 2/3 maart 2017 Exhaustive search 1 Voor- en nadelen Brute force: Voordelen: - algemeen toepasbaar - eenvoudig - levert voor een aantal belangrijke problemen (zoeken, patroonherkenning)
Nadere informatieTentamen Programmeren in C (EE1400)
TU Delft Tentamen Programmeren in C (EE1400) 3 feb. 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code gevraagd
Nadere informatiePython. 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 informatieMMI. The Digital World 4. Peter van Kranenburg
MMI The Digital World 4 Peter van Kranenburg Intro Vandaag: Terugblik vorige week Leren programmeren Algoritmes Terugblik Hogere-orde programmeertalen maken het schrijven van code eenvoudiger. Je hoeft
Nadere informatieimport java.io.*; één klasse public class Hallo { public static void main (String[] a) ...met één functie System.out.println("Hallo!
Voorbeeld Java-programma import java.io.*; één klasse...met één functie...met één opdracht public class Hallo { public static void main (String[] a) { System.out.println("Hallo!"); accolades begrenzen
Nadere informatieGegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )
OI 2010 Finale 12 Mei 2010 Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub VOORNAAM :....................................................... NAAM :..............................................................
Nadere informatieAls 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 informatieToets 1 IEEE, Modules 1 en 2, Versie 1
Toets 1 IEEE, Modules 1 en 2, Versie 1 Datum: 16 september 2009 Tijd: 10:45 12:45 (120 minuten) Het gebruik van een rekenmachine is niet toegestaan. Deze toets telt 8 opgaven en een bonusopgave Werk systematisch
Nadere informatiePascal uitgediept Data structuren
Pascal uitgediept Data structuren MSX Computer & Club Magazine nummer 68-juni/juli 1994 Herman Post Scanned, ocr ed and converted to PDF by HansO, 2001 In deze aflevering wordt bekeken hoe zelf een datastructuur
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 13 november 2015 Expressies Functies Ingebouwde functies Variabelenbereik Inleveropgave 1 Terugblik Programma is een lijst van opdrachten Terugblik Programma is
Nadere informatie9 Meer over datatypen
9 Meer over datatypen We hebben al gezien dat het gebruik van symbolische constanten de leesbaarheid van een programma kan verbeteren. Door een geschikte naam (identifier) voor een constante te definiëren,
Nadere informatiePagina 1van 38 Pagina 2 van 38 Pagina 3 van 38 1 2 3 4 5 Pagina 4 van 38 Pagina 5 van 38 Pagina 6 van 38 Pagina 7 van 38 Pagina 8 van 38 Pagina 9 van 38 Pagina 10 van 38 Pagina 11 van 38 Pagina 12 van
Nadere informatieProgrammeermethoden NA. Week 6: Lijsten
Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Getal opbouwen Stel je leest losse karakters (waaronder cijfers) en je moet daar een getal
Nadere informatieTentamen 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 informatieCompilers.
Compilers joost.vennekens@denayer.wenk.be Job van een compiler Job van een compiler 68: newarray int int grens = min + (max - min) / 2; int[] kleiner = new int[n]; int[] groter = new int[n]; int k = 0;
Nadere informatieSemantiek (2IT40) Jos Baeten. HG 7.19 tel.: Hoorcollege 3 (12 april 2007)
Jos Baeten josb@wintuenl http://wwwwintuenl/~josb/ HG 719 tel: 040 247 5155 Hoorcollege 3 (12 april 2007) Voorbeeld [Bewijstechniek 2 niet altijd succesvol] Executie van commands is deterministisch: c
Nadere informatieVariabelen en statements in ActionScript
Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer
Nadere informatieVaak wil je een code schrijven, waar je verschillende acties uitvoeren voor verschillende beslissingen. Je kan daarbij keuzestructuren gebruiken.
PHP Les 5 : Interessante links: o http://www.dbzweb.be/moermant/ o http://www.ivobrugge.be/cursusweb/html4/formulieren.asp Vaak wil je een code schrijven, waar je verschillende acties uitvoeren voor verschillende
Nadere informatieR e c h t e h a k e n
R e c h t e h a k e n Albert Nijhof (Executeren en compileren) 1 COMPILEREN met de hand en automatisch. create c, char bl align dump count type : ; create hallo ( -- adres ) 6 c, char H c, char a c, char
Nadere informatieProgrammeren & Correctheid
Programmeren & Correctheid Docent: Prof. dr. F.S. de Boer, email: frb@cwi.nl Literatuur Verification of Sequential and Concurrent Programs. Krzysztof R. Apt, Frank S. de Boer, Ernst-Rüdiger Olderog. Series:
Nadere informatieUitwerking tentamen Analyse van Algoritmen, 29 januari
Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4
Nadere informatieProgrammeermethoden. Functies vervolg. Walter Kosters. week 5: 1 5 oktober kosterswa/pm/
Programmeermethoden Functies vervolg Walter Kosters week 5: 1 5 oktober 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Files manipuleren 1 Deze void-functie telt niet-lege regels in een file invoer: void
Nadere informatieWat is FP? The Haskell School of Expression. Functies. Types 1+1=2. Iedere expressie (en waarde) heeft een type.
Wat is FP? The Haskell School of Expression Functioneel Programmeren Een andere manier om tegen programmeren aan te kijken Gebaseerd op het uitrekenen van expressies 1+1=2 Eenvoudig maar krachtig (modulair,
Nadere informatieTENTAMEN WISKUNDIGE BEELDVERWERKINGSTECHNIEKEN
TENTAMEN WISKUNDIGE BEELDVERWERKINGSTECHNIEKEN Vakcode: 8D. Datum: Donderdag 8 juli 4. Tijd: 14. 17. uur. Plaats: MA 1.44/1.46 Lees dit vóórdat je begint! Maak iedere opgave op een apart vel. Schrijf je
Nadere informatiestart -> 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 informatieTentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI
Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Vrijdag 22 januari 2010 Toelichting Dit is een open boek tentamen. Communicatie en het gebruik van hulpmiddelen zijn niet toegestaan.
Nadere informatieHertentamen 8D040 - Basis beeldverwerking
Hertentamen 8D040 - Basis beeldverwerking 6 augustus 203, 4:00-7:00 Opmerkingen: Maak elke opgave op een apart vel. Antwoord op vraag 4 mag gewoon in het Nederlands. Een gewone rekenmachine is toegestaan.
Nadere informatieOEFENINGEN 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 informatieVijfde college algoritmiek. 9 maart Brute Force. Exhaustive search
Vijfde college algoritmiek 9 maart 2018 Brute Force Exhaustive search 1 Before I say another word Opdracht 1 partner? deadline: 21/22 maart 2018 vragenuren vanmiddag, 15.30 uur (Jacob) woensdag 21 maart,
Nadere informatieIntroductie 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 informatieInstructies en blokken
Herhaling 1 Instructies en blokken Naar elke instructie staat een ; puntkomma Verschillende instructies worden door de accolades in een block samengevat. Een blok is het zelfde als een enkele instructie.
Nadere informatieWeek 2 : Hoofdstukken 2 en 6; extra stof: inleiding pointers
Week 2 : Hoofdstukken 2 en 6; extra stof: inleiding pointers Hoofdstuk 6: Beslissingen: if-statement en switch-statement. Inleiding: Condities zijn waar (true) of onwaar (false) In C staat het int-getal
Nadere informatieTentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld
Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag u gebruik maken van: Barnes, Object-Oriented Programming with Java en de Notitie Algoritmiek
Nadere informatieOpdrachten herhalen. public void tekenscherm (object o, PEA pea) { int x; x = 1; zolang de voorwaarde geldig is
Opdrachten herhalen public void tekenscherm (object o, PEA pea) { int x; x = 1; while ( x
Nadere informatieSchriftelijke zitting Systeem- en regeltechniek 2 (WB2207) 31 januari 2008 van 9:00 tot 12:00 uur
Schriftelijke zitting Systeem- en regeltechniek 2 (WB227) 31 januari 28 van 9: tot 12: uur Onderstaande aanwijzingen nauwkeurig lezen. Vul op het voorblad uw naam, voorletters, studienummer en opleiding
Nadere informatieDeeltoets Digitale technieken
Deeltoets Digitale technieken André Deutz 22 oktober, 2007 De opgaven kunnen uiteraard in een willekeurige volgorde gemaakt worden geef heel duidelijk aan op welke opgave een antwoord gegegeven wordt.
Nadere informatieKennisrepresentatie & 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 informatieAutomaten. 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 informatieProgrammeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:
Programmeren A Genetisch Programma voor het Partitie Probleem begeleiding: Inleiding Het Partitie Probleem luidt als volgt: Gegeven een verzameling van n positieve integers, vindt twee disjuncte deelverzamelingen
Nadere informatieOntwerp van Algoritmen 1: OpgavenBundel. Rob R. Hoogerwoord
Ontwerp van Algoritmen 1: OpgavenBundel Rob R. Hoogerwoord 22 november 2006 Contents 0 Inleiding 1 1 Propositie- en predikatenrekening 2 1.0 Inleiding... 2 1.1 Notatie... 2 1.2 Basisregels... 3 1.3 Afgeleide
Nadere informatieAlgoritmisch Denken: Dodo s Bit Parity
Algoritmisch Denken: Dodo s Opdrachtomschrijving: Jouw opdracht, als je deze accepteert, is om Mimi (een Dodo) te leren een bit parity fout te ontdekken en te herstellen. Leerdoelen: Ik kan een correct
Nadere informatieALGORITMIEK: antwoorden werkcollege 5
1 ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit
Nadere informatieALGORITMIEK: antwoorden werkcollege 5
ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit
Nadere informatieFiguur 1: Blok-schema van een DC motor, a) Geef de overdrachtsfuntie G(s) = T(s)/V(s). Schrijf G(s) in de vorm K B(s) A( s
1. Een blok-schema van een DC motor is gegeven in figuur 1. Vis) 1 m 1 Ls+R Js+b (0(5) K, Figuur 1: Blok-schema van een DC motor, a) Geef de overdrachtsfuntie G(s) = T(s)/V(s). Schrijf G(s) in de vorm
Nadere informatieAntwoorden vragen en opgaven Basismodule
Antwoorden vragen en opgaven Basismodule Antwoorden van vragen en opgaven van hoofdstuk 1 1. Is elke combinatorische schakeling een digitale schakeling? Zo nee, waarom niet? Antwoord: Elke combinatorische
Nadere informatie2IV10 Oefentoets 2010
2IV10 Oefentoets 2010 Deze oefentoets bestaat uit drie opgaven. Bij voldoe resultaat wordt een bonuspunt toegek voor het tentamen. In alle gevallen geldt: LICHT UW ANTWOORD TOE. Gebruik waar nodig schetsen
Nadere informatieAutomaten & 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 informatieComputerarchitectuur en netwerken. Memory management Assembler programmering
Computerarchitectuur en netwerken 2 Memory management Assembler programmering Lennart Herlaar 10 september 2018 Inhoud 1 Protectie: Hoe het O.S. programma s tegen elkaar kan beschermen modes memory management
Nadere informatie