2IA05 Functioneel Programmeren

Maat: px
Weergave met pagina beginnen:

Download "2IA05 Functioneel Programmeren"

Transcriptie

1 2IA05 Functioneel Programmeren wk1: Introductie Rik van Geldrop, Jaap van der Woude

2 Declaratieve programmeerstijl 2/13 2 H C H = A A H I JE A 1 F A H = JEA B, A? = H = JEA B D A M = J. K? JE A A C EI? D J A I I L A A HE C A A? JEA BK? A BE EJEA I? A? JEA F E? = = A BE EJEA I

3 FP-wetenswaardigheden 3/13 Berust op wiskundige theorie (λ-calculus, herschrijfsysteem). Functies als argument/resultaat mogelijk (first class citizens). Functies met één argument: Currying. Type en Structuur zijn de leidraad bij ontwerp en analyse. Redeneren over programma s/functies d.m.v. equational reasoning: constructie/verificatie/transformatie/executie. Recursie i.p.v. repetitie. Compacte programma s/specificaties. (Haskell) Type-systeem ondersteunt Polymorfie/Overloading. (Haskell) Lazy evaluation.

4 Notatie en terminologie 4/13 Bij voorkeur de gebruikelijke wiskundige notatie voor functies (met applicatie en compositie als elementaire operaties), maar voor implementatie doeleinden Haskell (herkenbaar aan teletype font ). Applicatie-voorbeeld: een puntsgewijze definitie van kwadrateren wiskunde sqr.x = x x of sqr(x) = x 2 (twice.f).x = f.(f.x) haskell sqr x = x * x twice f x = f (f x) Compositie-voorbeeld: een puntvrije definitie van 4 e -machtsverheffing wiskunde quad = sqr sqr haskell quad = sqr.sqr

5 Notatie en terminologie 5/13 In dit vak gaan we rekenen met functies. Puntsgewijs, maar ook puntvrij. De belangrijkste operatie hierbij is functie-gelijkheid: Definitie [Extensionaliteit] Voor alle functies f en g met hetzelfde domein geldt f = g x :: f.x = g.x Een andere nuttige operatie heet λ-abstractie: Definitie[λ-abstractie] Als x een variabele is van type X and E een expressie van type Y, dan heet (λx E) een λ-abstratie. Verder geldt en (λx E) X Y (λx E).a = E(x := a) voor alle a X I.h.b. f = λx f.x (simplificatie)

6 puntsgewijs <-> puntvrij 6/13 Gebruik extensionaliteit en λ-abstractie. Van puntvrij naar puntsgewijs: extensionaliteit: Voor alle x quad.x = (sqr sqr).x = {def compositie } sqr.(sqr.x) Van puntsgewijs naar puntvrij: λ-abstractie en/of extensionaliteit: sqr = λ x x x en

7 puntsgewijs <-> puntvrij 7/13 (twice.f).x = = { abstractie } f.(f.x) twice.f = λx f.(f.x) = { compositie } twice.f = λx (f f).x = { simplificatie } twice.f = f f = { abstractie } twice = λf f f

8 Notationele conventies 8/13 Reduceer haakjes door het gebruik van de volgende conventies Applicatie heeft de hoogste prioriteit, dus f g.x = f (g.x) Applicatie associeert naar links, dus f.g.h = (f.g).h Abstractie associeert naar rechts, dus λx λy E = λx (λy E)

9 Secties: speciale λ-abstracties Zij X Y Z, x X en y Y, dan 9/13 x y Z Door λ-abstractie, bijvoorbeeld over y, ontstaat λy x y Y Z bij vaste x Bij applicaties van deze functie verandert alleen het 2 e argument, i.e (λy x y).a = x a Gebruikelijke afkorting is (x ) sectie van Idem voor ( y)

10 Type, polymorfie, overloading 10/13 basis 1 unit type (singleton set) samengesteld: Voor typen A en B A B functieruimte A B cartesisch product met projecties π 1 en π 2 A + B disjuncte som met injecties/constructoren in 1 en in 2 Polymorfie Een polymorfe functie is één functie die op verschillende typen kan worden toegepast.voorbeeld: swap.(x, y) = (y, x) Overloading Er is sprake van overloading als er aan verschillende functies dezelfde naam gegeven wordt. De keuze van de juiste definitie wordt gemaakt op grond van beschikbare environment-informatie. Voorbeeld: =

11 Curry en uncurry 11/13 Currying is een functietransformatie die de isomorfie X Y Z = X (Y Z) aangeeft. De constructie 1. Bepaal (uit de typering!) een functie, genaamd curry curry : (X Y Z) (X (Y Z)) 2. Bepaal (uit de typering!) een functie, genaamd uncurry uncurry : (X (Y Z)) (X Y Z) 3. Ga na dat curry uncurry = id en uncurry curry = id

12 Curry en uncurry 12/13 Vanwege de isomorfie is het onbelangrijk welke view op functietypering gekozen wordt. In de wiskunde is een ongecurriede versie gebruikelijk. Bijvoorbeeld + Z Z Z en +.(2, 3) Functionele talen prefereren een gecurriede versie omdat daarbij slechts een argument nodig is om voortgang van evaluatie/programmaexecutie te bewerkstelligen. In Haskell: (+) :: Int -> Int -> Int en (+) 2 3 met verband (+) = curry.+

13 Haskell classes 13/13 Eq Show Read Ord Num Bounded Enum Real Fractional Integral RealFrac Floating RealFloat Monad Functor

2IA05 Functioneel Programmeren

2IA05 Functioneel Programmeren 2IA05 Functioneel Programmeren wk1: Introductie Rik van Geldrop, Jaap van der Woude Declaratieve programmeerstijl 2/20 2 H C H = A A H I JE A 1 F A H = JEA B, A? = H = JEA B D A M = J. K? JE A A C EI?

Nadere informatie

Wat 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. 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 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

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

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

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

Leeswijzer Functioneel Programmeren

Leeswijzer Functioneel Programmeren Leeswijzer Functioneel Programmeren Jeroen Fokker 23 oktober 2000 Dit artikel beschrijft in het kort welke onderwerpen behandeld worden in het kollege Functioneel Programmeren en het gelijknamige diktaat.

Nadere informatie

Functies (een korte inleiding)

Functies (een korte inleiding) Hoofdstuk 3 Functies (een korte inleiding) 3.1 Definitie van een functie: domein en mapping 3.1.1 Functies in Funmath Functies kent u waarschijnlijk al uit de context van wiskundige analyse, waar gewerkt

Nadere informatie

Verzamelingen, Lijsten, Functioneel Programmeren

Verzamelingen, Lijsten, Functioneel Programmeren Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck [email protected] Lezing 4e Gymnasium, 19 november 2015 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen

Nadere informatie

Verzamelingen, Lijsten, Functioneel Programmeren

Verzamelingen, Lijsten, Functioneel Programmeren Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck [email protected] Stage Ignatiuscollege, 20 mei 2008 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen

Nadere informatie

Haskell: programmeren in een luie, puur functionele taal

Haskell: programmeren in een luie, puur functionele taal Haskell: programmeren in een luie, puur functionele taal Jan van Eijck [email protected] 5 Talen Symposium, 12 juli 2010 Samenvatting In deze mini-cursus laten we zien hoe je met eindige en oneindige lijsten

Nadere informatie

Inleiding tot Func.oneel Programmeren les 3

Inleiding tot Func.oneel Programmeren les 3 Inleiding tot Func.oneel Programmeren les 3 Kris Luyten, Jo Vermeulen {kris.luyten,jo.vermeulen}@uhasselt.be Exper.secentrum voor Digitale Media Universiteit Hasselt Currying Currying: een func.e met meerdere

Nadere informatie

Verzamelingen, Lijsten, Functioneel Programmeren

Verzamelingen, Lijsten, Functioneel Programmeren Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck [email protected] Stage Ignatiuscollege, 17 mei 2010 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen

Nadere informatie

1 Inleiding in Functioneel Programmeren

1 Inleiding in Functioneel Programmeren 1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp

Nadere informatie

Vergelijkingen van cirkels en lijnen

Vergelijkingen van cirkels en lijnen Vergelijkingen van cirkels en lijnen Rechthoekig coördinatenstelsel! Cartesisch coördinatenstelsel! René Descartes (1596-1650) Van hem is de uitspraak: Ik denk, dus ik besta! September 12, 2009 1 Vergelijkingen

Nadere informatie

Modelleren en Programmeren

Modelleren 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 informatie

Automaten en Berekenbaarheid

Automaten en Berekenbaarheid Automaten en Berekenbaarheid Bart Demoen KU Leuven 2016-2017 Les 8: 118-125 orakels en reducties met orakels Turing-berekenbare functies de bezige bever Orakelmachines I 2/14 we kennen al: een TM die een

Nadere informatie

Semantiek (2IT40) Bas Luttik. HG 7.14 tel.: Hoorcollege 8 (7 juni 2007)

Semantiek (2IT40) Bas Luttik.  HG 7.14 tel.: Hoorcollege 8 (7 juni 2007) Bas Luttik [email protected] 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 informatie

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.

Constanten. 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 informatie

Introductie tot de cursus

Introductie tot de cursus Introductie tot de cursus In deze introductie willen wij u informeren over de bedoeling van de cursus, de opzet van het cursusmateriaal en over de manier waarop u de cursus kunt bestuderen. U vindt in

Nadere informatie

Law and Order in Algorithmics

Law and Order in Algorithmics Law and Order in Algorithmics Maarten Fokkinga Vakgroep SETI, fac INF, Universiteit Twente Versie van May 25, 1993 Algoritmiek (engels: algorithmics) is de theorie en praktijk van het algebraïsch redeneren

Nadere informatie

Calculus TI1 106M. I.A.M. Goddijn, Faculteit EWI 1 september 2014

Calculus TI1 106M. I.A.M. Goddijn, Faculteit EWI 1 september 2014 Calculus TI1 106M, 1 september 2014 Inleiding Studiemateriaal Onderwerpen Calculus 1 september 2014 1 Inleiding Mekelweg 4, kamer 4.240 tel : (015 27)86408 e-mail : [email protected] homepage :

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

Imperatief programmeren. Introductie 9. Leerkern 10. Zelftoets 15. Terugkoppeling 16. Inhoud leereenheid 16

Imperatief programmeren. Introductie 9. Leerkern 10. Zelftoets 15. Terugkoppeling 16. Inhoud leereenheid 16 Inhoud leereenheid 16 Imperatief programmeren Introductie 9 Leerkern 10 1 Sleutelbegrippen 10 2 Pragmatisme 10 3 Case study: C 10 4 Case study: Ada 11 5 Overzicht van concepten in C en Ada 14 Zelftoets

Nadere informatie

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Syntax- (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 informatie

I.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. 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 informatie

Korte handleiding Maple, bestemd voor gebruik bij de cursus Wiskunde

Korte handleiding Maple, bestemd voor gebruik bij de cursus Wiskunde Korte handleiding Maple, bestemd voor gebruik bij de cursus Wiskunde voor B. 1 Eenvoudige operaties en functies. 1. De bewerkingen optellen aftrekken, vermenigvuldigen, delen en machtsverheffen worden

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 13 december 2013 Terugblik Fibonacci public class Fibonacci { public static void main(string[] args) { // Print het vijfde Fibonaccigetal System.out.println(fib(5));

Nadere informatie

Lineaire afbeeldingen

Lineaire afbeeldingen Les 2 Lineaire afbeeldingen Als een robot bij de robocup (het voetbaltoernooi voor robots een doelpunt wil maken moet hij eerst in de goede positie komen, d.w.z. geschikt achter de bal staan. Hiervoor

Nadere informatie

Helden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief

Helden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief Helden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief Herman Geuvers Radboud Universiteit Nijmegen Technische Universiteit Eindhoven 1 Helden van de wiskunde:

Nadere informatie

Wiskundige Technieken 1 Uitwerkingen Tentamen 4 november 2013

Wiskundige Technieken 1 Uitwerkingen Tentamen 4 november 2013 Wiskundige Technieken Uitwerkingen Tentamen 4 november 0 Normering voor 4 pt vragen andere vragen naar rato): 4pt pt pt pt 0pt goed begrepen én goed uitgevoerd, eventueel met of onbelangrijke rekenfoutjes

Nadere informatie

Scala. Korte introductie. Sylvia Stuurman

Scala. Korte introductie. Sylvia Stuurman Korte introductie Sylvia Stuurman Wat is er zo bijzonder aan? Schaalbaar Objectgeoriënteerd (handiger dan Java!) Functioneel Scripts schrijven Gecompileerd: Java bytecode Pagina 2 voor scripts Pagina 3

Nadere informatie

FUNCTIONEEL PROGRAMMEREN WEEK 1

FUNCTIONEEL PROGRAMMEREN WEEK 1 FUNCTIONEEL PROGRAMMEREN WEEK 1 T. Busker Bron: Kris Luyten en Jo Vermeulen - Expertise Centrum voor Digitale Media - Universiteit Hasselt Functioneel programmeren? Alles via functies Alles via expressies

Nadere informatie

Overzicht Fourier-theorie

Overzicht Fourier-theorie B Overzicht Fourier-theorie In dit hoofdstuk geven we een overzicht van de belangrijkste resultaten van de Fourier-theorie. Dit kan als steun dienen ter voorbereiding op het tentamen. Fourier-reeksen van

Nadere informatie

Didactische wenken bij het onderdeel analyse

Didactische wenken bij het onderdeel analyse Didactische wenken bij het onderdeel analyse Didactische wenken bij het onderdeel analyse 1/21 1. Eindtermen analyse Eindtermen ASO tweede graad ET 22 3 (4) aspecten van een functie ET 23 Standaardfuncties

Nadere informatie

zijn er natuurlijke getallen x,y,z > 0 zodat 4xyz = n(xy + yz + zx)? (1)

zijn er natuurlijke getallen x,y,z > 0 zodat 4xyz = n(xy + yz + zx)? (1) Functioneel programmeren 1. Berekenbaarheid: twee modellen In de wiskunde definieer je begrippen (bijvoorbeeld getallen, meetkundige figuren), je rekent ermee (kwadrateren, bepaling van de oppervlakte

Nadere informatie

Lineaire algebra I (wiskundigen)

Lineaire 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 informatie

Topologie I - WPO Prof. Dr. E. Colebunders Dr. G. Sonck 24 september 2006

Topologie I - WPO Prof. Dr. E. Colebunders Dr. G. Sonck 24 september 2006 Topologie I - WPO Prof. Dr. E. Colebunders Dr. G. Sonck 24 september 2006 Inhoudsopgave 1 Topologische ruimten 2 2 Metriseerbaarheid en aftelbaarheid 7 3 Convergentie en continuïteit 8 4 Separatie-eigenschappen

Nadere informatie

Tuyaux 3de Bachelor Wiskunde WINAK

Tuyaux 3de Bachelor Wiskunde WINAK Tuyaux 3de Bachelor Wiskunde WINAK Eerste Semester 2011-2012 Inhoudsopgave 1 Inleiding 2 2 Maattheorie 3 2.1 Theorie....................................... 3 2.2 Oefeningen.....................................

Nadere informatie

Beheerste transformatie met behulp van Enterprise Architectuur

Beheerste transformatie met behulp van Enterprise Architectuur René van der Reijden Business Architect Pensioenfonds Horeca & Catering Beheerste transformatie met behulp van Enterprise Architectuur Voortdurend in verandering Economische Sociale Ontwikkelingen Politieke

Nadere informatie

Functioneel Programmeren

Functioneel Programmeren Functioneel Programmeren ii c Copyright 1992 2002 Informatica-instituut, Universiteit Utrecht Deze tekst mag voor educatieve doeleinden gereproduceerd worden op de volgende voorwaarden: de tekst wordt

Nadere informatie

(10 pnt) Bepaal alle punten waar deze functie een relatief extreem of een zadelpunt heeft. Opgave 3. Zij D het gebied gegeven door

(10 pnt) Bepaal alle punten waar deze functie een relatief extreem of een zadelpunt heeft. Opgave 3. Zij D het gebied gegeven door Calculus 3. Tentamen Calculus 3, 8 April 11 Opgave 1. Zij f(x, y, z) = xy z 3xz en g(x, y, z) = x 3 +z sin(y) y sin(z). i) (5 pnt) Laat zien dat p = (, 1, 1) op de oppervlakken {f(x, y, z)} = en {g(x,

Nadere informatie

Oefening 2.2. Welke van de volgende beweringen zijn waar?

Oefening 2.2. Welke van de volgende beweringen zijn waar? Oefeningen op hoofdstuk 2 Verzamelingenleer 2.1 Verzamelingen Oefening 2.1. Beschouw A = {1, {1}, {2}}. Welke van de volgende beweringen zijn waar? Beschouw nu A = {1, 2, {2}}, zelfde vraag. a. 1 A c.

Nadere informatie

TENTAMEN WISKUNDIGE BEELDVERWERKINGSTECHNIEKEN

TENTAMEN 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 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 [email protected] 30 april 2007 INLEIDING Kennisrepresentatie & Redeneren Week1: Introductie

Nadere informatie

Functioneel Programmeren

Functioneel Programmeren Functioneel Programmeren ii c Copyright 1992 2003 Informatica-instituut, Universiteit Utrecht Deze tekst mag voor educatieve doeleinden gereproduceerd worden op de volgende voorwaarden: de tekst wordt

Nadere informatie

Vrije Universiteit Faculteit der Economische Wetenschappen en Bedrijfskunde Afdeling Econometrie

Vrije Universiteit Faculteit der Economische Wetenschappen en Bedrijfskunde Afdeling Econometrie Vrije Universiteit Faculteit der Economische Wetenschappen en Bedrijfskunde Afdeling Econometrie Tentamen: Convexe Analyse en Optimalisering Opleiding: Bacheloropleiding Econometrie Vakcode: 611010 Datum:

Nadere informatie

CTB1002 deel 1 - Lineaire algebra 1

CTB1002 deel 1 - Lineaire algebra 1 CTB1002 deel 1 - Lineaire algebra 1 College 1 11 februari 2014 1 Even voorstellen Theresia van Essen Docent bij Technische Wiskunde Aanwezig op maandag en donderdag EWI 04.130 [email protected] Slides

Nadere informatie

Inleiding C++ Coding Conventions

Inleiding C++ Coding Conventions Inleiding C++ Coding Conventions Opleiding Bachelor of Science in Informatica, van de Faculteit Wetenschappen, Universiteit Antwerpen. Nota s bij de cursus voor academiejaar 2012-2013. Ruben Van den Bossche,

Nadere informatie

Programmeren in Java 3

Programmeren in Java 3 2 september 2007 voor deeltijdstudenten Kop van Zuid Rotterdam, 3 juni 2007 Even voorstellen Naam: Wessel Oele(31) Docent bij opleiding technische informatica Kamer: I210 (tweede verdieping, links de gang

Nadere informatie

De wortel uit min één, Cardano, Kepler en Newton

De wortel uit min één, Cardano, Kepler en Newton De wortel uit min één, Cardano, Kepler en Newton Van de middelbare school kent iedereen wel de a, b, c-formule (hier en daar ook wel het kanon genoemd) voor de oplossingen van de vierkantsvergelijking

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

4051CALC1Y Calculus 1

4051CALC1Y 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 [email protected] Slides op http://homepage.tudelft.nl/v9r7r/

Nadere informatie

Hoofdstuk 10: Partiële differentiaalvergelijkingen en Fourierreeksen

Hoofdstuk 10: Partiële differentiaalvergelijkingen en Fourierreeksen Hoofdstuk : Partiële differentiaalvergelijkingen en Fourierreeksen Partiële differentiaalvergelijkingen zijn vergelijkingen waarin een onbekende functie van twee of meer variabelen en z n partiële afgeleide(n)

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

Functioneel programmeren met Helium

Functioneel programmeren met Helium NIOC 2004 Functioneel programmeren met Helium Bastiaan Heeren en Daan Leijen {bastiaan,daan}@cs.uu.nl Universiteit Utrecht NIOC 2004, Groningen, 3 november. Overzicht Overzicht 1 Functioneel programmeren

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord 11 december 2017 Zelle hoofdstuk 10 Stof Overzicht - theorie 1. Zelle hoofdstuk 4 en 5 2. Zelle hoofdstuk 7 en 8, recursie, Brookshear hoofdstuk 5 3. Zelle hoofdstuk

Nadere informatie

Les 7 & 8: MSW Logo Mieke Depaemelaere

Les 7 & 8: MSW Logo Mieke Depaemelaere Faculteit Psychologische en Pedagogische Wetenschappen ACADEMISCHE INITIËLE LERARENOPLEIDING Academiejaar 2001-2002 Vakdidactiek informatica : praktijkgerichte seminaries Lesgevers : Prof. A. Hoogewijs

Nadere informatie

colleges recursieve datastructuren college 9 prioriteit van operatoren prioriteit in recursive descent parser

colleges 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 informatie

6 Complexe getallen. 6.1 Definitie WIS6 1

6 Complexe getallen. 6.1 Definitie WIS6 1 WIS6 1 6 Complexe getallen 6.1 Definitie Rekenen met paren De vergelijking x 2 + 1 = 0 heeft geen oplossing in de verzameling R der reële getallen (vierkantsvergelijking met negatieve discriminant). We

Nadere informatie

Datastructuren Programmeeropdracht 3: Expressies. 1 Expressies. Deadline. Dinsdag 8 december 23:59.

Datastructuren Programmeeropdracht 3: Expressies. 1 Expressies. Deadline. Dinsdag 8 december 23:59. Datastructuren 2015 Programmeeropdracht 3: Expressies Deadline. Dinsdag 8 december 23:59. Inleiding. Deze opdracht is losjes gebaseerd op Opdracht 5.13.2 in het boek van Drozdek. U wordt gevraagd expressies

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

Functioneel Programmeren met Helium

Functioneel Programmeren met Helium Functioneel Programmeren met Helium Bastiaan Heeren en Daan Leijen Instituut voor Informatica en Informatiekunde, Universiteit Utrecht {bastiaan, daan}@cs.uu.nl Moderne functionele talen zijn mathematisch

Nadere informatie

Ruimtewiskunde. college. De determinant en lineaire afbeeldingen. Vandaag. De determinant van een matrix. Toepassing: oppervlakte en inhoud

Ruimtewiskunde. college. De determinant en lineaire afbeeldingen. Vandaag. De determinant van een matrix. Toepassing: oppervlakte en inhoud college 6 en lineaire collegejaar college build slides Vandaag : : : : 6-7 6 9 juni 27 3 2 3 van een matrix Toepassing: oppervlakte en inhoud.6-7[6] vandaag van de 2 2-matrix a b c d is gelijk aan ad bc.

Nadere informatie

Reeksnr.: Naam: t 2. arcsin x f(t) = 2 dx. 1 x

Reeksnr.: Naam: t 2. arcsin x f(t) = 2 dx. 1 x Calculus, 4//4. Gegeven de reële functie ft) met als voorschrift t arcsin x ft) = dx x a) Geef het domein van de functie ft). Op dit domein, bespreek waar de functie stijgt, daalt en bepaal de lokale extrema.

Nadere informatie

Datastructuren: stapels, rijen en binaire bomen

Datastructuren: stapels, rijen en binaire bomen Programmeermethoden Datastructuren: stapels, rijen en binaire bomen week 12: 23 27 november 2015 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleiding In de informatica worden Abstracte DataTypen (ADT s)

Nadere informatie

Mathematical Modelling

Mathematical Modelling 1 / 94 Mathematical Modelling Ruud van Damme Creation date: 15-09-09 2 / 94 Overzicht 1 Herhaling 2 Deels oud, deels nieuw integreren 3 Lijnintegralen 3 / 94 Waarschuwing vooraf! Dit college heeft een

Nadere informatie

Wiskunde. Verzamelingen, functies en relaties. College 2. Donderdag 3 November

Wiskunde. Verzamelingen, functies en relaties. College 2. Donderdag 3 November Wiskunde Verzamelingen, functies en relaties College 2 Donderdag 3 November 1 / 17 Equivalentierelaties Def. Een relatie R heet reflexief als x xrx. R heet transitief als x y z (xry yrz xrz). R heet symmetrisch

Nadere informatie

Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2

Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2 Modelleren Werkelijkheid Modelleren Modeleren Waarvan maken we een model?!analyse " Maak een model van de te automatiseren werkelijkheid of van het op te lossen probleem! Domeinkennis = structuur! Functionele

Nadere informatie

Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking

Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking Tentamen Grondslagen van de Wiskunde A Met beknopte uitwerking 10 december 2013, 09:30 12:30 Dit tentamen bevat 5 opgaven; zie ook de ommezijde. Alle opgaven tellen even zwaar (10 punten); je cijfer is

Nadere informatie

18.I.2010 Wiskundige Analyse I, theorie (= 60% van de punten)

18.I.2010 Wiskundige Analyse I, theorie (= 60% van de punten) 8.I.00 Wiskundige Analyse I, theorie 60% van de punten) Beantwoord elk van de vragen I,II,III en IV op één van de dubbele geruite bladen. Schrijf op elk van die dubbele geruite bladen, bovenaan de eerste

Nadere informatie

De volgorde bij samengestelde reken-wiskunde bewerkingen

De volgorde bij samengestelde reken-wiskunde bewerkingen Ministerie van Onderwijs, Wetenschap en Cultuur (MinOWC) Lesbrief Basis-, VOJ- en VOS onderwijs De volgorde bij samengestelde reken-wiskunde bewerkingen juli 2015, MinOWC, Paramaribo Niets uit deze folder

Nadere informatie

NHibernate als ORM oplossing

NHibernate als ORM oplossing NHibernate als ORM oplossing Weg met de SQL Queries Wat is ORM? ORM staat in dit geval voor Object Relational Mapping, niet te verwarren met Object Role Modeling. ORM vertaalt een objectmodel naar een

Nadere informatie

Object Oriented Programming

Object Oriented Programming Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming

Nadere informatie

Inhoudsopgave. Relaties geordend paar, cartesisch product, binaire relatie, inverse, functie, domein, bereik, karakteristieke functies

Inhoudsopgave. Relaties geordend paar, cartesisch product, binaire relatie, inverse, functie, domein, bereik, karakteristieke functies Inhoudsopgave Verzamelingen element, Venn-diagram, singleton, lege verzameling, gelijkheid, deelverzameling, machtsverzameling, vereniging, doorsnede, verschilverzameling Relaties geordend paar, cartesisch

Nadere informatie

Paragraaf 5.1 : Machten en wortels

Paragraaf 5.1 : Machten en wortels Hoofdstuk 5 Machten, exponenten en logaritmen (H Wis B) Pagina 1 van 1 Paragraaf 5.1 : Machten en wortels Machtsregels SPECIAAL GEVAL MACHTREGEL 1 : MACHTREGEL 2 : MACHTREGEL : a p a q = a p+q a p aq =

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord, Leonie Bosveld 12 december 2016 Zelle hoofdstuk 10 Stof Overzicht - theorie 1. Zelle hoofdstuk 4 en 5 2. Zelle hoofdstuk 7 en 8, recursie, Brookshear hoofdstuk

Nadere informatie

Ontwikkeling van het functiebegrip in: Wiskunde als Wetenschap

Ontwikkeling van het functiebegrip in: Wiskunde als Wetenschap Ontwikkeling van het functiebegrip in: Wiskunde als Wetenschap Tom Koornwinder [email protected] Korteweg-de Vries Instituut, UvA Ontwikkeling van het functiebegrip p.1/13 Moderne definitie van een functie

Nadere informatie

Verzamelingen. Hoofdstuk 5

Verzamelingen. Hoofdstuk 5 Hoofdstuk 5 Verzamelingen In de meest uiteenlopende omstandigheden kan het handig zijn om een stel objecten, elementen, of wat dan ook, samen een naam te geven. Het resultaat noemen we dan een verzameling.

Nadere informatie

Optelling en scalaire vermenigvuldiging zijn weer plaatsgewijs gedefinieerd, bijvoorbeeld: 7 (x 1, x 2, x 3,...)

Optelling en scalaire vermenigvuldiging zijn weer plaatsgewijs gedefinieerd, bijvoorbeeld: 7 (x 1, x 2, x 3,...) 5. Lineaire ruimten Tot nu toe hebben we ons uitsluitend met de R n bezig gehouden. We gaan de behandelde theorie nu uitbreiden tot verzamelingen die een sterke overeenkomst met een R n vertonen. Een dergelijke

Nadere informatie

ANALYSEQUIZ Ga naar new.shakeq.com en log in met de code uvaanalyse2a

ANALYSEQUIZ Ga naar new.shakeq.com en log in met de code uvaanalyse2a ANALYSEQUIZ 2016 Ga naar new.shakeq.com en log in met de code uvaanalyse2a WAAR OF ONWAAR: EEN SOM CONVERGEERT ALS DE TERMEN NAAR NUL GAAN. A. Waar B. Onwaar De vraag gaat open zodra u een sessie en diavoorstelling

Nadere informatie

1 Recurrente betrekkingen

1 Recurrente betrekkingen WIS1 1 1 Recurrente betrekkingen 1.1 De torens van Hanoi De torens van Hanoi Edouard Lucas, 1884: Gegeven 3 pinnen en 64 schijven van verschillende grootte. Startsituatie: 64 op linkerpin, geordend naar

Nadere informatie

Geef niet alleen antwoorden, maar bewijs al je beweringen.

Geef niet alleen antwoorden, maar bewijs al je beweringen. Tentamen Lineaire Algebra donderdag 29 januari 205, 9.00-2.00 uur Het is niet toegestaan telefoons, computers, grafische rekenmachines (wel een gewone), dictaten, boeken of aantekeningen te gebruiken.

Nadere informatie

6. Lineaire operatoren

6. Lineaire operatoren 6. Lineaire operatoren Dit hoofdstukje is een generalisatie van hoofdstuk 2. De meeste dingen die we in hoofdstuk 2 met de R n deden, gaan we nu uitbreiden tot andere lineaire ruimten Definitie. Een lineaire

Nadere informatie

Hoofdstuk 9. Vectorruimten. 9.1 Scalairen

Hoofdstuk 9. Vectorruimten. 9.1 Scalairen Hoofdstuk 9 Vectorruimten 9.1 Scalairen In de lineaire algebra tot nu toe, hebben we steeds met reële getallen als coëfficienten gewerkt. Niets houdt ons tegen om ook matrices, lineaire vergelijkingen

Nadere informatie

Programmeren in Java

Programmeren in Java 4 september 2015 Even voorstellen Naam: Wessel Oele(39) Email: [email protected] Website: http://med.hro.nl/oelew Kop van Zuid Rotterdam, 3 juni 2007 Overzicht van modules programmeren in Java In totaal 4 modules

Nadere informatie