Semantiek (2IT40) Jos Baeten. Formele Methoden. HG 7.19 tel.: Hoorcollege 1 (29 maart 2007)
|
|
- Godelieve ter Linde
- 4 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Jos Formele Methoden HG 7.19 tel.: Hoorcollege 1 (29 maart 2007)
2 2IT40 Organisatie Colstructie: docent: wanneer: donderdagen 3 e en 4 e uur waar: Pav. U.46 Toetsing: schriftelijk tentamen (gesloten boek) Hoorcollege 1 (29 maart 2007) 1/21
3 2IT40 Studiemateriaal 1. Dictaat Semantiek (verkrijgbaar bij de dictatenverkoop). Het is een kopie van Chapters 1 6 van Glynn Winskel. The Formal Semantics of Programming Languages An Introduction MIT Press, Aanvullend materiaal in de vorm van handouts (wordt uitgedeeld en komt op de webpagina te staan). 3. Slides (komen op de webpagina te staan). Hoorcollege 1 (29 maart 2007) 2/21
4 2IT40 Webpagina Hoorcollege 1 (29 maart 2007) 3/21
5 Illustratie: redeneren over programma s (1) Probleem: zoek nulpunt van een gegeven functie F : Z Z P1 found := false; X := 1; while found do X := X + 1; found := (F(X ) = 0) P2 found := false; Y := 0; while found do Y := Y 1; found := (F(Y ) = 0) Is Z1 P1 P2 een correcte oplossing? Hoorcollege 1 (29 maart 2007) 4/21
6 Illustratie: redeneren over programma s (1) Probleem: zoek nulpunt van een gegeven functie F : Z Z P1 found := false; X := 1; while found do X := X + 1; found := (F(X ) = 0) P2 found := false; Y := 0; while found do Y := Y 1; found := (F(Y ) = 0) Is Z1 P1 P2 een correcte oplossing? Nee! Hoorcollege 1 (29 maart 2007) 4/21
7 Illustratie: redeneren over programma s (2) Probleem: zoek nulpunt van een gegeven functie F : Z Z P1 X := 1; while found do X := X + 1; found := (F(X ) = 0) P2 Y := 0; while found do Y := Y 1; found := (F(Y ) = 0) Is Z2 found := false ; (P1 P2) een correcte oplossing? Hoorcollege 1 (29 maart 2007) 5/21
8 Illustratie: redeneren over programma s (2) Probleem: zoek nulpunt van een gegeven functie F : Z Z P1 X := 1; while found do X := X + 1; found := (F(X ) = 0) P2 Y := 0; while found do Y := Y 1; found := (F(Y ) = 0) Is Z2 found := false ; (P1 P2) een correcte oplossing? Nee! Hoorcollege 1 (29 maart 2007) 5/21
9 Illustratie: redeneren over programma s (3) Probleem: zoek nulpunt van een gegeven functie F : Z Z P1 X := 1; while found do X := X + 1; if F(X ) = 0 then found := true P2 Y := 0; while found do Y := Y 1; if F(Y ) = 0 then found := true Is Z3 found := false ; (P1 P2) een correcte oplossing? Hoorcollege 1 (29 maart 2007) 6/21
10 Illustratie: redeneren over programma s (3) Probleem: zoek nulpunt van een gegeven functie F : Z Z P1 X := 1; while found do X := X + 1; if F(X ) = 0 then found := true P2 Y := 0; while found do Y := Y 1; if F(Y ) = 0 then found := true Is Z3 found := false ; (P1 P2) een correcte oplossing? Ja, onder een fairness aanname. Hoorcollege 1 (29 maart 2007) 6/21
11 2IT40 inhoud Met semantiek bedoelen we in 2IT40 formele semantiek: beschrijf gedrag/effect van programma s in wiskundige taal opdat we er wiskundig over kunnen redeneren We behandelen de semantiek van: 1. imperatieve, deterministische programma s (IMP) 2. nondeterminisme 3. parallellisme Hoorcollege 1 (29 maart 2007) 7/21
12 Formele semantiek waarom? Een formele semantiek stelt je in staat om uitspraken over programma s te bewijzen. is machine-onafhankelijk. is niet ambigu en vaak compact (communicatiemiddel). maakt het mogelijk om het redeneren over programma s te automatiseren (verificatie). Hoorcollege 1 (29 maart 2007) 8/21
13 Formele semantiek drie stijlen Operationele semantiek: de semantiek van een programma wordt gegeven via de formalisering van de executie van het programma op een abstracte machine; Denotationele semantiek: de semantiek van een programma wordt direct gegeven als een element van een wiskundig domein; Axiomatische semantiek: de semantiek van een programma wordt indirect gegeven, als de collectie van formele eigenschappen waaraan het programma (bewijsbaar) voldoet. Hoorcollege 1 (29 maart 2007) 9/21
14 IMP syntactische categorieën 1. Numbers (m, n N): gehele getallen 2. Truth values (T = {true, false}): waarheidswaarden 3. Locations (X, Y, Z Loc): programmavariabelen 4. Arithmetic expressions (a Aexp) 5. Boolean expressions (b Bexp) 6. Commands (c Com) Hoorcollege 1 (29 maart 2007) 10/21
15 IMP syntax in Backus-Naur Form Arithmetic expressions (a Aexp): a ::= n X a 0 + a 1 a 0 a 1 a 0 a 1. Boolean expressions (b Bexp): b ::= true false a 0 =a 1 a 0 a 1 b b 0 b 1 b 0 b 1. Commands (c Com): c ::= skip X := a c 0 ; c 1 if b then c 0 else c 1 while b do c. Hoorcollege 1 (29 maart 2007) 11/21
16 Informele semantiek Informele semantiek van de while-loop (while b do c): The boolean expression is evaluated, and if it is true, the body is executed repeatedly until the boolean expression evaluates to false. Hoorcollege 1 (29 maart 2007) 12/21
17 Informele semantiek Informele semantiek van de while-loop (while b do c): The boolean expression is evaluated, and if it is true, the body is executed repeatedly until the boolean expression evaluates to false. Wat doet het volgende programma? Z := 0; while Y X do X := X Y ; Z := Z + 1 Hoorcollege 1 (29 maart 2007) 12/21
18 Informele semantiek Informele semantiek van de while-loop (while b do c): The boolean expression is evaluated, and if it is true, the body is executed repeatedly until the boolean expression evaluates to false. Wat doet het volgende programma? Z := 0; sla 0 op in Z while Y X do X := X Y ; Z := Z + 1 verhoog getal in Z met 1 herhaal zolang getal in Y getal in X sla verschil van de getallen in X en Y op in X Hoorcollege 1 (29 maart 2007) 12/21
19 Toestand De totale geheugeninhoud noemen we de toestand (Eng: Formeel is een toestand σ een functie state). σ : Loc N. Dus: een toestand σ geeft bij elke locatie X een getal σ(x ), de inhoud van X. De verzameling van alle toestanden duiden we aan met Σ. Hoorcollege 1 (29 maart 2007) 13/21
20 Evaluatie van arithmetic expressions (1) Een arithmetic-expression configuratie is een paar a, σ bestaande uit een arithmetic expression a en een toestand σ. De evaluatie van een arithmetic expression a in een toestand σ gaan we formaliseren als een relatie tussen arithmetic-expression configuraties en getallen. Dus: a, σ n betekent in toestand σ evalueert a naar n. Hoorcollege 1 (29 maart 2007) 14/21
21 Evaluatie van arithmetic expressions (2) (A1) n, σ n (A2) X, σ σ(x ) (A3) (A4) (A5) a 0, σ n 0 a 1, σ n 1 a 0 + a 1, σ n a 0, σ n 0 a 1, σ n 1 a 0 a 1, σ n a 0, σ n 0 a 1, σ n 1 a 0 a 1, σ n n = n 0 + n 1 n = n 0 n 1 n = n 0 n 1 Hoorcollege 1 (29 maart 2007) 15/21
22 Evaluatie van boolean expressions (1) Een boolean-expression configuratie is een paar b, σ bestaande uit een boolean expression b en een toestand σ. De evaluatie van een boolean expression b in een toestand σ gaan we formaliseren als een relatie tussen boolean-expression configuraties en waarheidswaarden. Dus: b, σ t betekent in toestand σ evalueert b naar t. Hoorcollege 1 (29 maart 2007) 16/21
23 Evaluatie van boolean expressions (2) (B1) true, σ true (B2) false, σ false (B3) (B4) (B5) (B6) a 0, σ n a 1, σ m a 0 = a 1, σ true a 0, σ n a 1, σ m a 0 = a 1, σ false a 0, σ n a 1, σ m a 0 a 1, σ true a 0, σ n a 1, σ m a 0 a 1, σ false n = m n m n m n > m Hoorcollege 1 (29 maart 2007) 17/21
24 Evaluatie van boolean expressions (3) (B7) b, σ true b, σ false (B8) b, σ false b, σ true (B9) b 0, σ t 0 b 1, σ t 1 b 0 b 1, σ t t = t 0 t 1 (B10) b 0, σ t 0 b 1, σ t 1 b 0 b 1, σ t t = t 0 t 1 Hoorcollege 1 (29 maart 2007) 18/21
25 Executie van commands (1) Een (command) configuratie is een paar c, σ bestaande uit een command c en een toestand σ. De evaluatie van een command c in een toestand σ wordt geformaliseerd als een relatie tussen command configuraties en toestanden. Dus: c, σ σ betekent de executie van c in σ termineert in state σ. Hoorcollege 1 (29 maart 2007) 19/21
26 Executie van commands (2) (C1) skip, σ σ (C2) a, σ n X := a, σ σ[n/x ] waarbij σ[n/x ](Y ) = { n if Y = X σ(y ) if Y X Hoorcollege 1 (29 maart 2007) 20/21
27 Executie van commands (3) (C3) c 0, σ σ c 1, σ σ c 0 ; c 1, σ σ (C4) b, σ true c 0, σ σ if b then c 0 else c 1, σ σ (C5) b, σ false c 1, σ σ if b then c 0 else c 1, σ σ Hoorcollege 1 (29 maart 2007) 21/21
28 Executie van commands (4) (C6) b, σ false while b do c, σ σ (C7) b, σ true c, σ σ while b do c, σ σ while b do c, σ σ Hoorcollege 1 (29 maart 2007) 22/21
29 Opgaven voor volgende keer: Uit dictaat: 2.3, 2.4 Aanvullende opgaven: A.1, A.2 Hoorcollege 1 (29 maart 2007) 23/21
30 Equivalentie Arithmetic expressions: a 0 a 1 desda σ Σ, n N. a 0, σ n a 1, σ n. Boolean expressions: b 0 b 1 desda σ Σ, t T. b 0, σ t b 1, σ t. Commands: c 0 c 1 desda σ, σ Σ. c 0, σ σ c 1, σ σ. Hoorcollege 1 (29 maart 2007) 24/21
31 Executie van commands (C1) skip, σ σ (C2) (C3) (C4) (C6) (C7) c 0, σ σ c 1, σ σ c 0 ; c 1, σ σ b, σ true c 0, σ σ if b then c 0 else c 1, σ σ b, σ false while b do c, σ σ (C5) a, σ n X := a, σ σ[n/x ] b, σ true c, σ σ while b do c, σ σ while b do c, σ σ b, σ false c 1, σ σ if b then c 0 else c 1, σ σ Hoorcollege 1 (29 maart 2007) 25/21
32 Opgaven voor de komende twee colstructies Uit handout: A.1, A.2, A.3, A.4, A.5, A.6, A.7 Uit dictaat: 2.3, 2.4, 2.7, 3.4, 3.5, 3.6, 3.13, 4.8, 4.9, 4.10 Hoorcollege 1 (29 maart 2007) 26/21
Semantiek (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 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 informatieUitgebreide uitwerking Tentamen Complexiteit, juni 2017
Uitgebreide uitwerking Tentamen Complexiteit, juni 017 Opgave 1. a. Een pad van de wortel naar een blad stelt de serie achtereenvolgende arrayvergelijkingen voor die het algoritme doet op zekere invoer.
Nadere informatieProbleem met dobbelspel. 2IP05: Programmeren Blok A. 5 spelers,2 dobbelstenen. wstomv/edu/2ip05/ Per ronde werpt elke speler 1
2IP05: Programmeren Blok A http://www.win.tue.nl/ wstomv/edu/2ip05/ College 1 5 spelers,2 dobbelstenen Probleem met dobbelspel Per ronde werpt elke speler 1 Tom Verhoeff Technische Universiteit Eindhoven
Nadere informatieOpmerkingen en vragen aan Ultieme vraag: Hoe beïnvloedt dit de winstkansen?
2IP05: Programmeren Blok A http://www.win.tue.nl/ wstomv/edu/2ip05/ 5 spelers, 2 dobbelstenen Probleem met dobbelspel College 1 Per ronde werpt elke speler 1 Kees Hemerik Tom Verhoeff Technische Universiteit
Nadere informatieTI1300: Redeneren en Logica. TI1300 Redeneren en Logica College 1: Inleiding en Bewijstechnieken. Blackboard: enroll!
TI1300: Redeneren en Logica TI1300 Redeneren en Logica College 1: Inleiding en Bewijstechnieken Tomas Klos TI1300 bestaat uit 2 delen: Th: Theorie, Tomas Klos Pr: Practicum, Tomas Klos plus student-assistenten
Nadere informatieBeslisbare talen (1) IN2505-II Berekenbaarheidstheorie. Beslisbare talen (2) Beslisbare talen (3) De talen: College 7
Beslisbare talen (1) College 7 Algoritmiekgroep Faculteit EWI TU Delft 10 mei 2009 De talen: A DFA = { M, w M is een DFA die w accepteert} A NFA = { M, w M is een NFA die w accepteert} E DFA = { M M is
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 informatieTegenvoorbeeld. TI1300: Redeneren en Logica. De truc van Gauss. Carl Friedrich Gauss, 7 jaar oud (omstreeks 1785)
Tegenvoorbeeld TI1300: Redeneren en Logica College 3: Bewijstechnieken & Propositielogica Tomas Klos Definitie (Tegenvoorbeeld) Een situatie waarin alle premissen waar zijn, maar de conclusie niet Algoritmiek
Nadere informatieTake-home Tentamen Protocolvericatie. Universiteit van Amsterdam. 27 Maart 1994
Take-home Tentamen Protocolvericatie Vakgroep Programmatuur Universiteit van Amsterdam 27 Maart 1994 Algemene Opmerkingen Dit tentamen omvat zes reguliere opgaven plus een bonusopgave. Opgaves 1, 2, 5
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 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 informatieWiskundige beweringen en hun bewijzen
Wiskundige beweringen en hun bewijzen Analyse (en feitelijk de gehele wiskunde) gaat over het bewijzen van beweringen (proposities), d.w.z. uitspraken waaraan de karakterisering waar of onwaar toegekend
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 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 informatieMededelingen. TI1300: Redeneren en Logica. Waarheidstafels. Waarheidsfunctionele Connectieven
Mededelingen TI1300: Redeneren en Logica College 4: Waarheidstafels, Redeneringen, Syntaxis van PROP Tomas Klos Algoritmiek Groep Voor de Fibonacci getallen geldt f 0 = f 1 = 1 (niet 0) Practicum 1 Practicum
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 informatieTentamen in2505-ii Berekenbaarheidstheorie
TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Tentamen in2505-ii Berekenbaarheidstheorie 16 juni 2008, 14.00 17.00 uur Dit tentamen bestaat uit 5 open vragen. Totaal
Nadere informatieExamen G0U13 Bewijzen en Redeneren Bachelor of Science Fysica en Wiskunde. vrijdag 3 februari 2012, 8:30 12:30
Examen G0U13 Bewijzen en Redeneren Bachelor of Science Fysica en Wiskunde vrijdag 3 februari 2012, 8:30 12:30 Naam: Geef uw antwoorden in volledige, goed lopende zinnen. Het examen bestaat uit 5 vragen.
Nadere informatieUitleg van de Hough transformatie
Uitleg van de Hough transformatie Maarten M. Fokkinga, Joeri van Ruth Database groep, Fac. EWI, Universiteit Twente Versie van 17 mei 2005, 10:59 De Hough transformatie is een wiskundige techniek om een
Nadere informatie{ auteur, toelichting }
Programmeren Blok A Trilogie van (programmeer)talen http://www.win.tue.nl/ wstomv/edu/ip0/ College Syntaxis (vormleer): Hoe ziet t eruit, hoe schrijf je t? Tom Verhoeff Technische Universiteit Eindhoven
Nadere informatieDe keuzestructuur. Versie DD
De keuzestructuur Versie DD Tot nu toe Programma in rechte lijn = sequentie of opeenvolging Nieuw Vertakking in parcours = selectie of keuzestructuur Controlestructuren Opeenvolging = sequentie Keuze =
Nadere informatieAlle opgaven tellen even zwaar, 10 punten per opgave.
WAT IS WISKUNDE (English version on the other side) Maandag 5 november 2012, 13.30 1.30 uur Gebruik voor iedere opgave een apart vel. Schrijf je naam en studentnummer op elk vel. Alle opgaven tellen even
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 informatieLogica voor Informatica. Propositielogica. Syntax & Semantiek. Mehdi Dastani Intelligent Systems Utrecht University
Logica voor Informatica Propositielogica Syntax & Semantiek Mehdi Dastani m.m.dastani@uu.nl Intelligent Systems Utrecht University Wat is Logica? Afleiden van conclusies uit aannames Jan Sara Petra Schuldig
Nadere informatie(b) Formuleer het verband tussen f en U(P, f), en tussen f en L(P, f). Bewijs de eerste. (c) Geef de definitie van Riemann integreerbaarheid van f.
Radboud Universiteit Nijmegen Tentamen Analyse 1 WP001B 2 juli 2015, 08:30 11:30 (12:30) Het gebruik van een rekenmachine, telefoon of tablet is niet toegestaan. U mag geen gebruik maken van het boek Analysis
Nadere informatieHoorcollege I: PGA en de talen PGLA en PGLB Alban Ponse
Hoorcollege I: PGA en de talen PGLA en PGLB Alban Ponse CSP Faculteit NWI Instituut voor Informatica Universiteit van Amsterdam http://www.science.uva.nl/~alban/ 26 september 2003, 1 Wie zijn wij? Inge
Nadere informatieHonours projecten BSc Informatica: twee voorstellen
Honours projecten BSc Informatica: twee voorstellen mogelijk ook geschikt voor BSc Kunstmatige Intelligentie Alban Ponse section Theory of Computer Science Informatics Institute, University of Amsterdam
Nadere informatieRuG-Informatica-cursus Discrete Structuren, versie 2009/2010
RuG-Informatica-cursus Discrete Structuren, versie 2009/2010 Handout 5A Jan Terlouw maandag 8 maart 2010 1 Algemeen over DS in deze week Nadere belichting van stof van week 4 (mede i.v.m. toets). Bij het
Nadere informatieHonours projecten BSc Informatica: twee voorstellen
Honours projecten BSc Informatica: twee voorstellen mogelijk ook geschikt voor BSc Kunstmatige Intelligentie Alban Ponse section Theory of Computer Science Informatics Institute, University of Amsterdam
Nadere informatieGödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3
Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3 Koen Rutten, Aris van Dijk 30 mei 2007 Inhoudsopgave 1 Verzamelingen 2 1.1 Definitie................................ 2 1.2 Eigenschappen............................
Nadere informatieVorig college. IN2505-II Berekenbaarheidstheorie. Voorbeeld NDTM. Aanbevolen opgaven. College 3
Vorig college College 3 Algoritmiekgroep Faculteit EWI TU Delft Multi-tape TM s Vergelijking rekenkracht 1-TM en k-tm (k >1) Niet-deterministische TM s Berekeningsboom 16 april 2009 1 2 Aanbevolen opgaven
Nadere informatieLineaire algebra I (wiskundigen)
Lineaire algebra I (wiskundigen) Voorbeelden van toetsopgaven, 011 en (1) (a) Bepaal de afstand van het punt Q = (1,, ) R 3 tot het vlak gegeven door x + y z = 1. (b) Bepaal de hoek tussen de vectoren
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 informatiemaplev 2010/12/22 15:57 page 413 #415
maplev 2010/12/22 15:57 page 413 #415 Module 27 Voorwaardelijke opdrachten en herhalingsopdrachten Onderwerp Voorkennis Expressies Zie ook Voorwaardelijke opdrachten en booleans, herhalingsopdrachten.
Nadere informatieProgrammeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 22 april 2014
Programmeren en Wetenschappelijk Rekenen in Python Wi1205AE, 22 april 2014 Inleiding Cursus coördinator e-mail Docent e-mail : Jacco Hoekstra : J.M.Hoekstra@TUDelft.nl : Ingeborg Goddijn : I.A.M.Goddijn@TUDelft.nl
Nadere informatieVerzamelingen 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 informatiemaplev 2012/5/1 15:47 page 469 #471 Procedures (vervolg)
maplev 2012/5/1 15:47 page 469 #471 Module 30 Procedures (vervolg) Onderwerp Voorkennis Expressies Procedures: Bereik van lokale variabelen, call by evaluated name, level-1-evaluatie van lokale variabelen,
Nadere informatieVorig college. IN2505-II Berekenbaarheidstheorie. Turingmachines. Turingmachine en Taal. College 2
Vorig college College 2 Algoritmiekgroep Faculteit EWI TU Delft Welke problemen zijn (niet) algoritmisch oplosbaar? Wat is een probleem? Wat is een algoritme? 13 april 2009 1 2 Turingmachines Turingmachine
Nadere informatieProgrammeermethoden NA. Week 3: Controlestructuren
Programmeermethoden NA Week 3: Controlestructuren Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Inleveren opdracht 1 Lever digitaal sxxxxxxx-syyyyyyy-opdr1.py
Nadere informatiePracticumopgave Mehmet Oktener
Practicumopgave Mehmet Oktener Alban Ponse Kruislaan 403, kr. 2.45 tel. 5257592 e-mail: alban@science.uva.nl Algemeen. In deze serie opgaven komt de specificatie van data typen aan de orde. Je wordt geacht
Nadere informatieUitwerkingen Tentamen Wat is Wiskunde (WISB101) Donderdag 10 november 2016, 9:00-12:00
Uitweringen Tentamen Wat is Wisunde (WISB101) Donderdag 10 november 2016, 9:00-12:00 Docenten: Barbara van den Berg & Carel Faber & Arjen Baarsma & Ralph Klaasse & Vitor Blåsjö & Guido Terra-Bleeer Opgave
Nadere informatieTALEN EN CORRECTHEID
TALEN EN CORRECTHEID Syllabus Februari 2004 Prof. dr. D. Janssens 1 Algemene Doelstellingen Formeel redeneren over programma s en specificaties: Wat betekent het te zeggen dat een programma correct is?
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 informatieAndere grote namen van wiskundigen en/of filosofen: Plato, Socrates, Descartes (Cartesius), Spinoza, Kant, Russell, Hilbert, Tarski en Brouwer
Formele Logica Grondlegger Aristoteles (384/322 voor Chr.), filosoof. Andere grote namen van wiskundigen en/of filosofen: Plato, Socrates, Descartes (Cartesius), Spinoza, Kant, Russell, Hilbert, Tarski
Nadere informatieFormeel 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 informatieVorig college. IN2505-II Berekenbaarheidstheorie College 4. Opsommers versus herkenners (Th. 3.21) Opsommers
Vorig college College 4 Algoritmiekgroep Faculteit EWI TU Delft Vervolg NDTM s Vergelijking rekenkracht TM s en NDTM s Voorbeelden NDTM s 20 april 2009 1 2 Opsommers Opsommers versus herkenners (Th. 3.21)
Nadere informatieDatastructuren en algoritmen voor CKI
Datastructuren en algoritmen voor CKI Jeroen Bransen 1 2 september 2015 1 met dank aan Hans Bodlaender en Gerard Tel Organisatie Website Vakwebsite: http://www.cs.uu.nl/docs/vakken/ki2v12009/ Bevat alle
Nadere informatieOpmerking. TI1300 Redeneren en Logica. Met voorbeelden kun je niks bewijzen. Directe en indirecte bewijzen
Opmerking TI1300 Redeneren en Logica College 2: Bewijstechnieken Tomas Klos Algoritmiek Groep Voor alle duidelijkheid: Het is verre van triviaal om definities te leren hanteren, beweringen op te lossen,
Nadere informatieEen natuurlijke semantiek voor prototype overerving en lexicaal bereik
Een natuurlijke semantiek voor prototype overerving en lexicaal bereik Tim Steenvoorden & Kelley van Evert juni Inhoudsopgave Inleiding Notatie en terminologie. Functies........................................
Nadere informatieNotatie van verzamelingen. Lidmaatschap. Opgave. Verzamelingen specificeren
Overzicht TI1300: Redeneren en Logica College 10: Verzamelingenleer Tomas Klos Algoritmiek Groep Colleges 1 2: Bewijstechnieken Colleges 3 9: Propositielogica Vandaag en morgen: Verzamelingenleer Colleges
Nadere informatieT3 in het wild While Juni 2004. Tom de Valk 0115665 Tom Evers 0115525 Sjors Meekels 0138630
T3 in het wild While Juni 2004 Tom de Valk 0115665 Tom Evers 0115525 Sjors Meekels 0138630 INHOUDSOPGAVE Inleiding... 2 1. WHILE OO... 3 1.1 Afbakening... 3 1.2 Uitbreidingen... 3 2. Syntax... 4 3. Semantiek...
Nadere informatieOPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet.
Les C-02: Werken met Programma Structuur Diagrammen 2.0 Inleiding In deze lesbrief bekijken we een methode om een algoritme zodanig structuur te geven dat er gemakkelijk programmacode bij te schrijven
Nadere informatieUitgebreide uitwerking Tentamen Complexiteit, juni 2018
Uitgebreide uitwerking Tentamen Complexiteit, juni 018 Opgave 1. a. Een pad van de wortel naar een blad stelt de serie achtereenvolgende arrayvergelijkingen voor die het algoritme doet op zekere invoer.
Nadere informatieLogica voor Informatica
Logica voor Informatica 10 Predikatenlogica Wouter Swierstra University of Utrecht 1 Vorige keer Syntax van predikatenlogica Alfabet Termen Welgevormde formulas (wff) 2 Alfabet van de predikatenlogica
Nadere informatieTEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR
TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2011-2012 Zaterdag 5 november 2011, 9u30 NAAM :... VRAAG 1: EVEN VEEL [5 PUNTEN] Schrijf een methode evenveel(), met twee argumenten,
Nadere informatie{ specificatie (contract) en toelichting }
Programmeren Blok A Drie aspecten van routines http://www.win.tue.nl/ wstomv/edu/2ip05/ College 5 Kees Hemerik Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software
Nadere informatieTAALFILOSOFIE. Overkoepelende vraag: WAT IS BETEKENIS?
TAALFILOSOFIE Overkoepelende vraag: WAT IS BETEKENIS? GOTTLOB FREGE (1848 1925) Uitvinder moderne logica Vader van de taalfilosofie BEGRIFFSCHRIFT (1879) Bevat moderne propositie en predicaten-logica Syllogistiek
Nadere informatie1. (a) Formuleer het Cauchy criterium voor de convergentie van een reeks
Radboud Universiteit Nijmegen Tentamen Analyse 1 WP001B 7 augustus 2015, 16:30 19:30 (20:30) Het gebruik van een rekenmachine, telefoon of tablet is niet toegestaan. U mag geen gebruik maken van het boek
Nadere informatieJavascript oefenblad 1
Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de
Nadere informatieZ.O.Z. Radboud Universiteit Nijmegen Tentamen Analyse 1 WP001B 16 juni 2016, 12:30 15:30 (16:30)
Radboud Universiteit Nijmegen Tentamen Analyse 1 WP001B 16 juni 016, 1:30 15:30 (16:30) Het gebruik van een rekenmachine, telefoon of tablet is niet toegestaan. U mag geen gebruik maken van aantekeningen
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 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 informatieVAN HET PROGRAMMEREN. Inleiding
OVERZICHT VAN HET PROGRAMMEREN Inleiding Als je leert programmeren lijkt het nogal overweldigend om die eerste stappen te doorworstelen. Er zijn dan ook heel wat programmeertalen (Java, Ruby, Python, Perl,
Nadere informatie4051CALC1Y Calculus 1
4051CALC1Y Calculus 1 College 1 2 september 2014 1 Even voorstellen Theresia van Essen Docent bij Technische Wiskunde Aanwezig op maandag en donderdag EWI 04.130 j.t.vanessen@tudelft.nl Slides op http://homepage.tudelft.nl/v9r7r/
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 informatieTAALFILOSOFIE. Overkoepelende vraag: WAT IS BETEKENIS?
TAALFILOSOFIE Overkoepelende vraag: WAT IS BETEKENIS? GOTTLOB (1848 1925) Uitvinder moderne logica Vader van de taalfilosofie BEGRIFFSCHRIFT (1879) Bevat moderne proposioe en predicaten- logica SyllogisOek
Nadere informatieREEKS I. Zaterdag 6 november 2010, 9u
TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2010-2011 REEKS I Zaterdag 6 november 2010, 9u NAAM :... VRAAG 1: MINSTENS [5 PUNTEN] Schrijf een methode minstens(), met twee
Nadere informatieGedistribueerd Programmeren - Samenvatting
Gedistribueerd Programmeren - Samenvatting Geertjan van Vliet Disclaimer: Aan deze teksten kunnen geen rechten ontleend worden. Bepaalde passages zijn de visie van de auteur en niet die van de docent.
Nadere informatieSemantiek & Correctheid Thread synchronisatie & communicatie
emantiek & Correctheid Thread ynchroniatie & communicatie Naam: Chritian Gilien (0342688) Maurice amulki (034239) Datum: 30 juni 2004 Verie: 2.5 Inhoudopgave Inhoudopgave...2 Inleiding...3 Thread ynchroniatie
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 informatieSTEEDS BETERE BENADERING VOOR HET GETAL π
STEEDS BETERE BENADERING VOOR HET GETAL KOEN DE NAEGHEL Samenvatting. We bespreken een oplossing voor de (veralgemeende) opgave Noot 4 uit Wiskunde & Onderwijs nr.139. Onze inspiratie halen we uit het
Nadere informatieVierde college complexiteit. 14 februari Beslissingsbomen
College 4 Vierde college complexiteit 14 februari 2017 Restant zoeken Beslissingsbomen 1 Binair zoeken Links := 1; Rechts := n; while Links Rechts do Midden := Links + Rechts 2 ; if X = A[Midden] then
Nadere informatieInhoud leereenheid 4. Inleiding JavaScript. Introductie 99. Leerkern 100. Zelftoets 108. Terugkoppeling 109
Inhoud leereenheid 4 Inleiding JavaScript Introductie 99 Leerkern 100 1 Leren programmeren in JavaScript 100 2 Chapter 1: Introduction 101 3 Chapter 2, paragrafen 1 t/m 5 102 4 Chapter 2, paragrafen 6
Nadere informatieHertentamen Topologie, Najaar 2009
Hertentamen Topologie, Najaar 2009 Toelichting: 06.05.2010 Je mag geen hulpmiddelen (zoals aantekeningen, rekenmachine etc.) gebruiken, behalve het boek van Runde en het aanvullende dictaat. Als je stellingen
Nadere informatieI.3 Functies. I.3.2 Voorbeeld. De afbeeldingen f: R R, x x 2 en g: R R, x x 2 zijn dus gelijk, ook al zijn ze gegeven door verschillende formules.
I.3 Functies Iedereen is ongetwijfeld in veel situaties het begrip functie tegengekomen; vaak als een voorschrift dat aan elk getal een ander getal toevoegt, bijvoorbeeld de functie fx = x die aan elk
Nadere informatieAutomaten 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 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 informatieGelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A.
Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 51-52, Appendix A1) Processes zijn meestal niet onafhankelijk Bijvoorbeeld: 2 processen
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 informatieInleiding programmeren
Inleiding programmeren Docent: José Lagerberg Assistenten: Robin de Vries, Jordy Perlee, Dimitri Belfor, Stephen Swatman, Erik Kooistra, Daan Kruis, Daniel Louwrink Cursusinformatie: https://staff.fnwi.uva.nl/j.m.lagerberg
Nadere informatieopgaven 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 informatieSamenvatting. TI1306 Redeneren & Logica Review Guide 2014 Door: David Alderliesten. Disclaimer
Samenvatting TI1306 Redeneren & Logica Review Guide 2014 Door: David Alderliesten Disclaimer De informatie in dit document is afkomstig van derden. W.I.S.V. Christiaan Huygens betracht de grootst mogelijke
Nadere informatieBij dit hoofdstukken horen geen opgaven.
6. Programmeertalen Een computer begrijpt eigenlijk alleen maar binaire code (bestaande uit 1 en 0). Om hem/haar makkelijk opdrachten te geven zijn programmeertalen ontwikkeld. Deze moeten een goed gedefinieerde
Nadere informatieDerde college complexiteit. 7 februari Zoeken
College 3 Derde college complexiteit 7 februari 2017 Recurrente Betrekkingen Zoeken 1 Recurrente betrekkingen -1- Rij van Fibonacci: 0,1,1,2,3,5,8,13,21,... Vanaf het derde element: som van de voorgaande
Nadere informatieUitgebreide uitwerking Tentamen Complexiteit, mei 2007
Uitgebreide uitwerking Tentamen Complexiteit, mei 007 Opgave. a. Een beslissingsboom beschrijft de werking van het betreffende algoritme (gebaseerd op arrayvergelijkingen) op elke mogelijke invoer. In
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 30 april 2007 INLEIDING Kennisrepresentatie & Redeneren Week1: Introductie
Nadere informatieTW2020 Optimalisering
TW2020 Optimalisering Hoorcollege 11 Leo van Iersel Technische Universiteit Delft 25 november 2015 Leo van Iersel (TUD) TW2020 Optimalisering 25 november 2015 1 / 28 Vandaag Vraag Voor welke problemen
Nadere informatieFunctievergelijkingen
Functievergelijkingen Trainingsweek juni 2008 Basistechnieken Je mag alle getallen in het domein invullen in je functievergelijking. Wat er precies handig is, hangt af van het domein en van de functievergelijking.
Nadere informatieProgrammeermethoden. Controle-structuren. Walter Kosters. week 3: september kosterswa/pm/
Programmeermethoden Controle-structuren Walter Kosters week 3: 17 21 september 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleveren opgave 1 Inleveren: digitaal clintonobama1.cc en print van mooi.pdf.
Nadere informatieHOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Informatie. Voorbeeld. Voorbeeld: toegangsprijs
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 informatie2E HUISWERKOPDRACHT CONTINUE WISKUNDE
2E HUISWERKOPDRACHT CONTINUE WISKUNDE Inleverdatum maandag 8 oktober 2017 voor het college Niet losse velletjes aan elkaar vast. Je moet de hele uitwerking opschrijven en niet alleen het antwoord geven.
Nadere informatieDe onvolledigheidsstelling van Gödel
De onvolledigheidsstelling van Gödel Wouter Zomervrucht, s0713317 26 maart 2009 Artikel voor het vak LPC Onderwerp: de eerste onvolledigheidsstelling van Gödel Inleiding In het begin van de twintigste
Nadere informatieFibonacci op de universiteit
Fibonacci op de universiteit Bart Zevenhek January 16, 2008 De rij van Fibonacci: een manier om mijlen om te rekenen naar kilometers. De rij van Fibonacci: een manier om mijlen om te rekenen naar kilometers.
Nadere informatieCollege Introductie
College 2016-2017 Introductie Doaitse Swierstra (Jeroen Bransen) Utrecht University September 13, 2016 Waarom is FP anders? in plaats van opdrachten die na elkaar moeten worden uitgevoerd, definiëren we
Nadere informatieGebruik 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 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 informatieParvulae Logicales INDUCTIE Extra materiaal bij het college Logica voor CKI 10/11. Albert Visser & Piet Lemmens & Vincent van Oostrom
Parvulae Logicales INDUCTIE Extra materiaal bij het college Logica voor CKI 10/11 Albert Visser & Piet Lemmens & Vincent van Oostrom 15 september 2010 Inhoudsopgave 1 Inleiding 2 2 Inductieve Definities
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 informatie