Leeswijzer Functioneel Programmeren
|
|
- Matthias de Veen
- 6 jaren geleden
- Aantal bezoeken:
Transcriptie
1 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. Voor een aantal beslissingen wordt ook een motivatie gegeven. In deze beschrijving komen wiskundige begrippen voor die niet expliciet (maar wel impliciet!) in de stof voorkomen. Aan de andere kant wordt van de lezer van deze beschrijving geen voorkennis van functioneel programmeren of van de gebruikte programmeertaal verondersteld. Elke hoofdstuk in deze beschrijving komt overeen met een hoofdstuk in het diktaat. Aan het eind van elk hoofdstuk wordt verwezen naar een klein aantal paragrafen waarin een kenmerkend of belangrijk concept wordt behandeld. Hoewel deze selectie niet representatief is (inleidende voorbeelden en syntactische details zijn niet in de selectie opgenomen), geven ze een goed beeld van het soort onderwerpen dat mij belangrijk lijkt. 1 Functioneel programmeren Een programma in de functionele programmeerstijl wordt beschreven als de definitie van een aantal functies (verband tussen parameters en resultaat). Bij het uitvoeren van een programma wordt één functie van parameters voorzien en wordt het resultaat berekend, zonder dat de programmeur precies hoeft voor te schrijven in welke volgorde dat gebeurt. In dit hoofdstuk wordt voornamelijk verteld hoe de interpreter bediend moet worden, en wat de syntax van de taal Gofer is. Wat betreft de interpreter: die evalueert in principe expressies (die gebruik maken van zelf- of voorgedefinieerde functies). Daarnaast kan de opdracht gegeven worden om de functiedefinities te herzien, een andere file met definities toe te voegen, of een expressie te typeren. Wat betreft de syntax van de taal zijn vooral de volgende notatie-conventies van belang: Bij aanroep van een functie mogen de haakjes worden weggelaten, omdat ze overbodig zijn, dus f x in plaats van f(x) Namen van functies bestaan voornamelijk uit letters; daarnaast zijn er infix-operatoren waarvan de naam uit symbolen bestaat. Operatoren kunnen ook zelf gedefinieerd worden. 1
2 Een functiedefinitie heeft de vorm f x = e, met f de naam van de functie, x een of meer formele parameters, en e een definiërende expressie. Een definitie met gevalsonderscheid heeft de vorm f x c 1 = e 1... c n = e n, waarbij c i een conditie is. De formele parameter mag behalve een naam ook een patroon zijn. Informeel kun je een patroon beschouwen als expressie waarin meerdere parameters voorkomen, waarvan de waarde eenduiding vastligt na unificatie met een actuele parameter. In de sectie Typering wordt beschreven dat elke expressie een type heeft, hetgeen wordt genoteerd als e :: t. Er zijn basis-typen (Bool, Char, Int en Float) en lijst-typen (als t een type is, dan is [t] het type van lijsten met elementen van type t). Ook functies hebben een type: een functie met parametertype a en resultaattype b heeft type a->b. Bij functies met meerdere parameters worden de parametertypen onderling ook gescheiden door een pijltje. Deze notatie wordt hier zonder motivatie gegeven; de uitleg ervan (Currying) volgt in sectie 2.2. paragraaf op blz 18 over recursie, en hoe dit vooral in combinatie met patronen als formele parameters mogelijkheid biedt voor elegante definities. paragraaf op blz 25 over polymorfie. 2 Getallen en functies Dit hoofdstuk lijkt gewijd te zijn aan voorbeelden (van functies op resp. functies en getallen). Deze voorbeelden zijn echter zo gekozen, dat belangrijke ideeën er steeds in naar voren gebracht worden: generalisatie door invoeren van een extra parameter, partiële parametrizering, en hogere-orde functies. Eerst worden echter enkele conventies over operatoren behandeld: operatoren hebben een prioriteit (9 nivo s) en een associatievolgorde (links of rechts). Dat spaart in de praktijk een boel haakjes. Functies mogen functies als resultaat hebben, en mogen daarom partiëel geparametrizeerd worden. Zo kan de opvolger-functie gedefinieerd worden door opv = plus 1, in plaats van opv x = plus 1 x. De Curry-Howard connectie uit de verzamelingentheorie ((A B) C A (B C)) wordt in paragraaf op intuïtieve wijze uitgelegd. Dit verklaart ook de notatie voor functies met meerdere parameters, door af te spreken dat de het symbool -> in typen naar rechts associëert. Om ook operatoren partieel te kunnen parametrizeren wordt de zgn. sectie - notatie ingevoerd: (2*) is de verdubbelfunctie, (^2) de kwadraat-functie, enz. Als voorbeeld van hogere-orde functies worden behandeld: map en filter als eenvoudig voorbeeld van een functie met een functieparameter foldr om te demonstreren dat concrete functies waarvan de definities 2
3 sterk op elkaar lijken (sum en product) gegeneraliseerd kunnen worden door extra parameters in te voeren until als nog een voorbeeld van abstractie, maar ook omdat deze functie later in het hoofdstuk nodig is functiecompositie, omdat je daarmee zo mooi op functie-nivo definities kunt doen (f = g h). Omdat lijsten nauwelijks en andere datastructuren nog helemaal niet zijn behandeld, kunnen we naast functies op functies alleen functies op getallen als voorbeeld geven. Van zowel Int als Float is er een typisch voorbeeld: De functies voor deling met rest worden geïntroduceerd, en als toepassingen worden behandeld: genereren van een lijst priemgetallen (brute-force, maar wel elegant dankzij filter) en bepalen van de weekdag bij gegeven datum. Numeriek differentiëren door benadering met een differentiequotiënt (tevens voorbeeld van een hogere-orde functie, en bovendien kandidaat voor generalisatie met een nauwkeurigheid -parameter); bepaling van vierkantswortel door iteratie van Newton s formule; generalisatie: inverse van een willekeurige functie (met afleiding van Newton s formule). paragraaf op blz 35 over Currying, en eventueel over associatievolgorde van functie-applicatie paragraaf op blz 49 over generalisatie van wortel tot inverse. 3 Datastructuren In dit hoofdstuk wordt wat gedetailleerdere informatie gegeven over lijsten en andere datastructuren. Een aantal standaardfuncties op lijsten wordt behandeld: steeds in de vorm van een informele beschrijving en/of voorbeeld, en de formele definitie van de functie. Omdat deze definitie in de taal zelf gegeven kan worden, is er geen misverstand mogelijk over het gebruikte formalisme. Als toepassing van deze standaardfuncties behandelen we sorteren: insertion sort en merge sort. Strings zijn gedefinieerd als lijsten van characters, en van de gelegenheid wordt gebruik gemaakt om het noodzakelijke over characters te vertellen. Interessanter als theoretisch concept zijn oneindige lijsten, die mogelijk zijn dankzij lazy evaluatie. Als voorbeeld hiervan wordt o.a. de priemgetallen-zeef besproken, die dankzij oneindige lijsten zeer elegant geformuleerd kan worden. Naast lijsten (onbeperkt aantal elementen, één type) kent de taal tupels (vast aantal, verschillende typen). Als toepassing hiervan worden functies voor de manipulatie van rationale getallen besproken. Met een data-definitie kan een signatuur worden gedefinieerd. Het door zo n definitie gecreëerde type is het termmodel behorend bij deze signatuur. Dit mechanisme wordt ingevoerd als generalisatie van lijsten, waarbij de analogie tussen recursie over een lijst en recursie over de opbouw van een term gede- 3
4 monstreerd wordt. Als toepassing bekijken we zoekbomen (als analogon van gesorteerde lijsten) met insert, delete en enumerate en een daarop gebaseerd sorteeralgoritme. paragraaf op blz 63 over sorteeralgoritmen paragraaf 3.2.6, tweede voorbeeld onderaan blz 73 over de priemzeef m.b.v. oneindige lijsten paragraaf op blz. 83 over data-definities 4 Algoritmen op lijsten In dit hoofdstuk worden geen nieuwe theoretische concepten behandeld, maar worden drie meer ingewikkelde voorbeelden gegeven van functies op lijsten: combinatorische functies, matrixrekening, en polynoom-manipulatie. Kennis over deze drie toepassingsgebieden die wordt behandeld is mooi meegenomen. De redenen dat juist voor deze toepassingen is gekozen zijn: Combinatorische functies zijn een leuk voorbeeld van functies met lijsten van lijsten als resultaat. De definities bieden een herhaling van zowel gebruik van standaardfuncties als van inductie. Bij de functie die combinaties uitrekent een aardig geval van dubbele inductie (zie blz 102). De operaties op vectoren en matrices worden in wiskundeboeken vaak gedefinieerd met veel indices; het is leuk om te zien dat dit ook kan met gebruikmaking van standaardfuncties op lijsten. De functie transpose blijkt zelfs een speciaal geval te zijn van foldr (zie blz 110), en het ingewikkelde algoritme voor de bepaling van de determinant kan zeer nauwkeurig worden opgeschreven (zie blz 115). Polynoom-manipulatie is een goed voorbeeld van symbolische expressiemanipulatie. In dit voorbeeld komt tevens ter sprake dat je sorteerfuncties kunt parametriseren met een vergelijkings-functie. In hoofdstuk 6 wordt gesproken over geparametriseerde typen; dankzij dit voorbeeld kunnen we dan spreken van polynomen met rationale getallen als coëfficiënt. 5 Programmatransformatie In dit hoofdstuk wordt gesproken over de (asymptotische) efficiëntie van functies. Het verbeteren van de efficiëntie wordt als aanleiding gebruikt om programmatransformatie te bestuderen, en meer in het bijzonder wetten te bewijzen. Wetten en hun bewijs blijken daarna ook om andere redenen dan efficiëntie-verhoging nuttig te zijn. Voor de efficiëntie wordt de O-notatie informeel geïntroduceerd Aan de hand hiervan worden recursieve functies in 8 soorten verdeeld: één of twee recursieve aanroepen, parameter van de recursieve aanroep 1 kleiner of half zo groot, vervolgwerk na de recursieve aanroepen constant of lineair. In bijna alle gevallen wordt een voorbeeld uit eerdere hoofdstukken opgerakeld en wordt de 4
5 complexiteit bepaald. Aan de hand van deze classificatie worden heuristieken besproken om de efficiëntie te verbeteren: één in plaats van twee recursieve aanroepen, parameter halveren i.p.v. verminderen, constant i.p.v. lineair vervolgwerk. Dit alles steeds toegelicht met een voorbeeld ( mergesort in plaats van insertion sort ). Over efficiëntie met betrekking tot geheugen wordt kort iets gezegd over stackgebruik bij recursie en lazy evaluatie: deels om de foutmelding stackoverflow te verklaren, en deels om het nut van de tweede dualiteitswet uit de volgende paragraaf te motiveren. Het nut van wetten wordt gemotiveerd door de analogie met de rekenkunde en de logica op te merken. Alle wetten in het diktaat hebben de vorm van een gelijkheid, en worden bewezen met een equationeel bewijs. Deze bewijzen verlopen in de meeste gevallen met inductie. Voor zo n inductiebewijs wordt een speciaal stramien gebruikt (zie blz ; representatief voorbeeld blz 141). In de kolommen van dit stramien worden de linker- en rechterkant van de vergelijking apart uitgewerkt en aan elkaar gelijk gepraat. Dit heeft als voordeel dat je in de praktijk ook in deze volgorde een bewijs bedenkt; zou je dit in één kolom opschrijven dan heeft de tweede helft van het bewijs onnodige eureka -stappen. De rijen van het stramien vertegenwoordigen de volgende onderdelen: formulering van de wet op functie nivo; overeenkomstige formulering op object-nivo (door toepassing van extensionaliteit); bewijs van de inductiebasis; bewijs van de inductiestap, waarbij op de laatste regel de inductiehypothese te herkennen is. De reden dat dit stramien gebruikt wordt is dat studenten in de praktijk grote moeite hebben met het formuleren van een free-format inductiebewijs. Valkuilen zoals geval n = n + 1 liggen daarbij dan ook overal op de loer. Dankzij dit stramien kunnen ook ingewikkelde dubbele inducties overzichtelijk worden weergegeven (zie blz 151). Nadat de stramien-methode is ingevoerd (overigens zonder die te expliciteren zoals hierboven) worden wetten achtereenvolgens voor drie doeleinden gebruikt: Verbetering van efficiëntie (reverse lineair ipv kwadratisch; fibon logaritmisch ipv lineair). Voor het beschrijven van eigenschappen van functies, met het doel daar meer inzicht in te krijgen. Vooral over hoe de lengte van een lijst verandert onder map, concat en onder combinatorische functies. Om nieuwe begrippen in te voeren: een functie heet combinatorisch als hij voldoet aan de wet.... Zelfs het begrip polymorf kan op deze manier gedefinieerd worden. Als slot wordt de bewijsmethode gebruikt om allerlei wetten te bewijzen over de natuurlijke getallen. De natuurlijke getallen en functies voor optellen, vermenigvuldigen en machtsverheffen worden voor dit doel eerst inductief gedefinieerd. paragraaf op blz 140, waarin de stramien-methode informeel wordt geïntroduceerd het bewijs op blz 151, waarin de stramien-methode in een niet-triviaal 5
6 geval wordt gebruikt het eind van paragraaf op blz 154, waarin wordt voorbereid op het catagorie-theoretische begrip natuurlijke transformatie paragraaf op blz 155; ik heb het idee dat het probleem constructie van getalsystemen in deze benadering eerder aanspreekt dan in een klassieke behandeling met Peano-axioma s e.d. 6 Klassen en hun instances Eén van de aardige eigenschappen van de taal Gofer is de mogelijkheid om overloaded functies te definiëren. Dat zijn functies die op verschillende typen kunnen werken, waarbij de definitie (anders dan bij polymorfe functies) niet uniform hoeft te zijn. Voor deze mogelijkheid is het concept klasse geschapen. Zo is er bijvoorbeeld de klasse Num, bestaande uit alle types waarop de numerieke operatoren +, * enz gedefinieerd zijn. In de prelude wordt gespecificeerd dat Int en Float tot deze klasse behoren, maar het is ook mogelijk (met een instance-declaratie ) om zelf nieuwe typen aan een klasse toe te voegen (bijvoorbeeld rationale getallen, complexe getallen, of polynomen). Bovendien is het mogelijk om zelf nieuwe klassen te definiëren. In dit hoofdstuk worden al deze mogelijkheden besproken. Daarbij worden als voorbeeld drie in de prelude gedefinieerde klassen gebruikt: Num (numerieke typen), Eq (typen waarop een gelijkheid is gedefinieerd) en Ord (typen waarop een ordening is gedefinieerd). Aan de hand van deze voorbeelden worden defaultdefinities ( ongelijkheid is voor alle Eq-typen de ontkenning van gelijkheid ) en voorwaardelijke instances ( lijsten kunnen geordend worden mits de elementen geordend kunnen worden ) besproken. Een beperking van het klasse-systeem is, dat je niet kunt specificeren dat de operatoren die op alle typen in een klasse zijn gedefinieerd, ook aan bepaalde wetten moeten voldoen. Als voorbeeld hiervan worden de wetten genoemd waaraan een equivalentierelatie en een partiële ordening moet voldoen. Ik denk dat het, zeker voor informatici, de duidelijkheid ten goede komt om deze abstracte begrippen op deze manier in te voeren. Om dit nog eens te demonstreren wordt in paragraaf de klassieke hierarchie van algebraïsche structuren ingevoerd: Monoid, Groep, Ring, Euclid en Lichaam. Het definiëren van die klassen is niet het interessantste, leuk wordt het pas door instances ervan te definiëren. Dit culmineert in de programmatekst die aantoont: polynomen vormen een Euclidische ring, mits de coëfficiënten een lichaam vormen. Dergelijke abstracte formuleringen zijn in slechts weinig programmeertalen mogelijk. paragraaf op blz 169, waarin een formele definitie van lexicografische ordening wordt gegeven paragraaf op blz 174, waarin equivalentierelaties en partiële ordeningen worden geaxiomatiseerd 6
7 het voorbeeld op blz , waarin deling van polynomen over een willekeurig lichaam wordt geformuleerd opgave 6.4 en 6.7 en 6.12 op blz 188, die nog twee voorbeelden geven van hoe matematische noties gepresenteerd kunnen worden als programmeerprobleem. 7 Programmeertechnieken In dit hoofdstuk wordt een drietal programmeertechnieken behandeld, die typisch zijn voor het functionele programmeerparadigma: expressiebomen, functionele I/O, en ontleding. Dit jaar zijn overigens alleen de expressiebomen behandeld. Rekenkundige expressies kunnen ontleed worden tot een ontleedboom. Zo n ontleedboom kan eenvoudig worden gerepresenteerd met een boom-datatype (zie blz 191). Een als ontleedboom gerepresenteerde expressie kan symbolisch gemanipuleerd worden (iets wat, als je het computer-algebra noemt tegenwoordig erg in de mode is). Typisch voorbeeld is symbolisch differentiëren (blz 193). Dit vormt trouwens een leuk contrast met numeriek differentiëren uit hoofdstuk 1. Een tweede voorbeeld van expressiebomen vormen de proposities, waarvan de taal beschreven wordt door de declaratie op blz 193. Symbolische manipulaties op proposities (zoals het schrijven van en met behulp van en ) laten zich nu eenvoudig formuleren. Eén van de praktikumopgaven van dit jaar sloot aan op dit voorbeeld. Gegeven een declaratie die de taal van de predicatenlogica beschrijft, moesten de studenten algorimten formuleren voor diverse symbolische manipulaties, waaronder het bepalen van de disjunctieve normaalvorm en de prenex-normaalvorm. De sectie over I/O is voornamelijk toegevoegd om het argument te ontkrachten dat functionele talen niet gebruikt kunnen worden voor echte programma s. De daarvoor benodigde techniek ( continuatie-parameters ) wordt echter ook gebruikt in de mathematische semantiek van programmeertalen, zodat dit onderwerp goed voorbereidt op bestudering daarvan. De sectie over ontleden is een mooi voorbeeld van (zeer-)hogere orde functies. Een ontleder is voor te stellen als functie die een string omzet in een ontleedboom (en een reststring). Uit een paar elementaire ontleders (bijvoorbeeld getal, en keyword ) kunnen nu grotere ontleders worden samengesteld door middel van ontleder-combinators voor sequentiële en alternatieve compositie. Als voorbeeld wordt gegeven hoe een ontleder voor rekenkundige expressies kan worden gemaakt, en hoe je zelf nieuwe ontleder-combinators kunt maken om in de toekomst nog eenvoudiger ontleders te maken. 7
College Notatie, Recursie, Lijsten
College 2016-2017 2. Notatie, Recursie, Lijsten Doaitse Swierstra (Jeroen Bransen) Utrecht University September 13, 2016 Functieapplicatie functieapplicatie associeert naar links: als x in f x y moet kiezen
Nadere informatie1 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 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 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 informatieHoofdstuk 1. Inleiding. Lichamen
Hoofdstuk 1 Lichamen Inleiding In Lineaire Algebra 1 en 2 heb je al kennis gemaakt met de twee belangrijkste begrippen uit de lineaire algebra: vectorruimte en lineaire afbeelding. In dit hoofdstuk gaan
Nadere informatieFunctioneel 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 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 informatieFunctioneel 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 informatieCombinatoriek groep 1
Combinatoriek groep 1 Recursie Trainingsdag 3, 2 april 2009 Getallenrijen We kunnen een rij getallen a 0, a 1, a 2,... op twee manieren definiëren: direct of recursief. Een directe formule geeft a n in
Nadere informatie1 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 informatieEigenschap (Principe van welordening) Elke niet-lege deelverzameling V N bevat een kleinste element.
Hoofdstuk 2 De regels van het spel 2.1 De gehele getallen Grof gezegd kunnen we de (elementaire) getaltheorie omschrijven als de wiskunde van de getallen 1, 2, 3, 4,... die we ook de natuurlijke getallen
Nadere informatie2IA05 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 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 informatieAanvullingen bij Hoofdstuk 8
Aanvullingen bij Hoofdstuk 8 8.5 Definities voor matrices De begrippen eigenwaarde eigenvector eigenruimte karakteristieke veelterm en diagonaliseerbaar worden ook gebruikt voor vierkante matrices los
Nadere informatieinleiding 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 informatie2IA05 Functioneel Programmeren
2IA05 Functioneel Programmeren wk1: Introductie Rik van Geldrop, Jaap van der Woude 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?
Nadere informatieLaw 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 informatieInleiding 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 informatieVolledige inductie. Hoofdstuk 7. Van een deelverzameling V van de verzameling N van alle natuurlijke getallen veronderstellen.
Hoofdstuk 7 Volledige inductie Van een deelverzameling V van de verzameling N van alle natuurlijke getallen veronderstellen we het volgende: (i) 0 V (ii) k N k V k + 1 V Dan is V = N. Men ziet dit als
Nadere informatieBasiskennis lineaire algebra
Basiskennis lineaire algebra Lineaire algebra is belangrijk als achtergrond voor lineaire programmering, omdat we het probleem kunnen tekenen in de n-dimensionale ruimte, waarbij n gelijk is aan het aantal
Nadere informatieGetallensystemen, verzamelingen en relaties
Hoofdstuk 1 Getallensystemen, verzamelingen en relaties 1.1 Getallensystemen 1.1.1 De natuurlijke getallen N = {0, 1, 2, 3,...} N 0 = {1, 2, 3,...} 1.1.2 De gehele getallen Z = {..., 4, 3, 2, 1, 0, 1,
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 informatieII.3 Equivalentierelaties en quotiënten
II.3 Equivalentierelaties en quotiënten Een belangrijk begrip in de wiskunde is het begrip relatie. Een relatie op een verzameling is een verband tussen twee elementen uit die verzameling waarbij de volgorde
Nadere informatie10 Meer over functies
10 Meer over functies In hoofdstuk 5 hebben we functies uitgebreid bestudeerd. In dit hoofdstuk bekijken we drie andere aspecten van functies: recursieve functies dat wil zeggen, functies die zichzelf
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 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 informatieTer Leering ende Vermaeck
Ter Leering ende Vermaeck 15 december 2011 1 Caleidoscoop 1. Geef een relatie op Z die niet reflexief of symmetrisch is, maar wel transitief. 2. Geef een relatie op Z die niet symmetrisch is, maar wel
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 informatieCombinatorische Algoritmen: Binary Decision Diagrams, Deel III
Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Sjoerd van Egmond LIACS, Leiden University, The Netherlands svegmond@liacs.nl 2 juni 2010 Samenvatting Deze notitie beschrijft een nederlandse
Nadere informatieDiscrete Wiskunde 2WC15, Lente Jan Draisma
Discrete Wiskunde 2WC15, Lente 2010 Jan Draisma Voorwoord Dit zijn aantekeningen voor het vak Discrete Wiskunde (2WC15), gegeven in het lentesemester van 2010. Dit vak bestaat uit twee delen: algoritmische
Nadere informatieHelden 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 informatieLinalg.nb 1. Werk het notebook aandachtig door en maak de (genummerde) oefeningen aan het einde van elke sectie. Succes!
Linalg.nb Lineaire Algebra Andr Heck AMSTEL Instituut, Universiteit van Amsterdam Werk het notebook aandachtig door en maak de (genummerde) oefeningen aan het einde van elke sectie. Succes! Å Introductie
Nadere informatieRekenen aan wortels Werkblad =
Rekenen aan wortels Werkblad 546121 = Vooraf De vragen en opdrachten in dit werkblad die vooraf gegaan worden door, moeten schriftelijk worden beantwoord. Daarbij moet altijd duidelijk zijn hoe de antwoorden
Nadere informatieBijzondere kettingbreuken
Hoofdstuk 15 Bijzondere kettingbreuken 15.1 Kwadratische getallen In het vorige hoofdstuk hebben we gezien dat 2 = 1, 2, 2, 2, 2, 2, 2,.... Men kan zich afvragen waarom we vanaf zeker moment alleen maar
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 informatieGetal en Ruimte wi 1 havo/vwo deel 1 hoofdstuk 4 Didactische analyse door Lennaert van den Brink (1310429)
Getal en Ruimte wi 1 havo/vwo deel 1 hoofdstuk 4 Didactische analyse door Lennaert van den Brink (1310429) - een lijst met operationele en concrete doelen van de lessenserie, indien mogelijk gerelateerd
Nadere informatieVerzamelingen, Lijsten, Functioneel Programmeren
Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck jve@cwi.nl Lezing 4e Gymnasium, 19 november 2015 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen
Nadere informatieMaak automatisch een geschikte configuratie van een softwaresysteem;
Joost Vennekens joost.vennekens@kuleuven.be Technologiecampus De Nayer We zijn geïnteresseerd in het oplossen van combinatorische problemen, zoals bijvoorbeeld: Bereken een lessenrooster die aan een aantal
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 informatieDatastructuren 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 informatie2. Syntaxis en semantiek
2. Syntaxis en semantiek In dit hoofdstuk worden de begrippen syntaxis en semantiek behandeld. Verder gaan we in op de fouten die hierin gemaakt kunnen worden en waarom dit in de algoritmiek zo desastreus
Nadere informatie1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12
Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal
Nadere informatieHoofdstuk 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 informatieIII.2 De ordening op R en ongelijkheden
III.2 De ordening op R en ongelijkheden In de vorige paragraaf hebben we axioma s gegeven voor de optelling en vermenigvuldiging in R, maar om R vast te leggen moeten we ook ongelijkheden in R beschouwen.
Nadere informatieDe partitieformule van Euler
De partitieformule van Euler Een kennismaking met zuivere wiskunde J.H. Aalberts-Bakker 29 augustus 2008 Doctoraalscriptie wiskunde, variant Communicatie en Educatie Afstudeerdocent: Dr. H. Finkelnberg
Nadere informatieUniversiteit Gent. Academiejaar Discrete Wiskunde. 1ste kandidatuur Informatica. Collegenota s. Prof. Dr.
Universiteit Gent Academiejaar 2001 2002 Discrete Wiskunde 1ste kandidatuur Informatica Collegenota s Prof. Dr. Frank De Clerck Herhalingsoefeningen 1. Bepaal het quotiënt en de rest van de deling van
Nadere informatie2. Syntaxis en semantiek
2. Syntaxis en semantiek In dit hoofdstuk worden de begrippen syntaxis en semantiek behandeld. Verder gaan we in op de fouten die hierin gemaakt kunnen worden en waarom dit in de algoritmiek zo desastreus
Nadere 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 informatieVerzamelingen, Lijsten, Functioneel Programmeren
Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck jve@cwi.nl Stage Ignatiuscollege, 17 mei 2010 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen
Nadere informatieVakgroep CW KAHO Sint-Lieven
Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be
Nadere informatieCombinatoriek groep 2
Combinatoriek groep 2 Recursie Trainingsdag 3, 2 april 2009 Homogene lineaire recurrente betrekkingen We kunnen een rij getallen a 0, a 1, a 2,... op twee manieren definiëren: direct of recursief. Een
Nadere informatieVerzamelingen, Lijsten, Functioneel Programmeren
Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck jve@cwi.nl Stage Ignatiuscollege, 20 mei 2008 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen
Nadere informatieZomercursus Wiskunde. Module 1 Algebraïsch rekenen (versie 22 augustus 2011)
Katholieke Universiteit Leuven September 011 Module 1 Algebraïsch rekenen (versie augustus 011) Inhoudsopgave 1 Rekenen met haakjes 1.1 Uitwerken van haakjes en ontbinden in factoren............. 1. De
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 informatieCover Page. The handle holds various files of this Leiden University dissertation
Cover Page The handle http://hdl.handle.net/887/25833 holds various files of this Leiden University dissertation Author: Palenstijn, Willem Jan Title: Radicals in Arithmetic Issue Date: 204-05-22 Samenvatting
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 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 informatieOpgaven Analyse van Algoritmen 10 mei 2019, Datastructuren, Werkgroep.
Opgaven Analyse van Algoritmen 10 mei 019, Datastructuren, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot
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 informatieEnkele valkuilen om te vermijden
Enkele valkuilen om te vermijden Dit document is bedoeld om per onderwerp enkele nuttige strategieën voor opgaven te geven. Ook wordt er op een aantal veelgemaakte fouten gewezen. Het is géén volledige
Nadere informatieVerzamelingen. 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 informatieSamenvatting hst. 3 sec. 1-3
Samenvatting hst. 3 sec. 1-3 infixr 4 (< >) :: Parser a b! Parser a b! Parser a b (p < > q) xs = p xs ++ q xs infixl 6 () :: Parser a (b!c)! Parser a b! Parser a c (p q) xs = [(f b,zs) (f,ys)"p
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 28, 2016 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te
Nadere informatieWiskunde voor relativiteitstheorie
Wiskunde voor relativiteitstheorie HOVO Utrecht Les 3: Integraalrekening en lineaire vormen Dr. Harm van der Lek vdlek@vdlek.nl Natuurkunde hobbyist Programma 3.1.1 Goniometrie Matrixen Integraal rekening
Nadere informatieAnalyse rekenalgebraïsche. vaardigheden in de onderbouw van het havo/vwo. ReAL Leerlijnen van rekenen naar algebra
Analyse rekenalgebraïsche vaardigheden in de onderbouw van het havo/vwo. ReAL Leerlijnen van rekenen naar algebra SLO nationaal expertisecentrum voor leerplanontwikkeling Wiskunde in de onderbouw van het
Nadere informatieTentamen 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 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 informatieSupplement Verzamelingenleer. A.J.M. van Engelen en K. P. Hart
Supplement Verzamelingenleer A.J.M. van Engelen en K. P. Hart 1 Hoofdstuk 1 Het Keuzeaxioma Het fundament van de hedendaagse verzamelingenleer werd in de vorige eeuw gelegd door Georg Cantor. Cantor gebruikte
Nadere informatieTentamen Lineaire Algebra 1 (Wiskundigen)
Tentamen Lineaire Algebra Wiskundigen Donderdag, 23 januari 24,.-3. Geen rekenmachines. Motiveer elk antwoord.. Voor alle reële getallen a definiëren we de matrix C a als a C a = a 2. a Verder definiëren
Nadere informatieGetaltheorie I. c = c 1 = 1 c (1)
Lesbrief 1 Getaltheorie I De getaltheorie houdt zich bezig met het onderzoek van eigenschappen van gehele getallen, en meer in het bijzonder, van natuurlijke getallen. In de getaltheorie is het gebruikelijk
Nadere informatieHaskell: programmeren in een luie, puur functionele taal
Haskell: programmeren in een luie, puur functionele taal Jan van Eijck jve@cwi.nl 5 Talen Symposium, 12 juli 2010 Samenvatting In deze mini-cursus laten we zien hoe je met eindige en oneindige lijsten
Nadere informatie3 Wat is een stelsel lineaire vergelijkingen?
In deze les bekijken we de situatie waarin er mogelijk meerdere vergelijkingen zijn ( stelsels ) en meerdere variabelen, maar waarin elke vergelijking er relatief eenvoudig uitziet, namelijk lineair is.
Nadere informatieWorteltrekken modulo een priemgetal: van klok tot cutting edge. Roland van der Veen
Worteltrekken modulo een priemgetal: van klok tot cutting edge Roland van der Veen Modulorekenen Twee getallen a en b zijn gelijk modulo p als ze een veelvoud van p verschillen. Notatie: a = b mod p Bijvoorbeeld:
Nadere informatieDiscrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie
Discrete Structuren Piter Dykstra Opleidingsinstituut Informatica en Cognitie www.math.rug.nl/~piter piter@math.rug.nl 22 februari 2009 INDUCTIE & RECURSIE Paragrafen 4.3-4.6 Discrete Structuren Week 3:
Nadere informatieTENTAMEN WISKUNDIGE BEELDVERWERKINGSTECHNIEKEN
TENTAMEN WISKUNDIGE BEELDVERWERKINGSTECHNIEKEN Vakcode: 8D2. Datum: dinsdag 29 april 28. Tijd: 14: 17:. Lees dit vóórdat je begint! Maak iedere opgave op een apart vel. Schrijf je naam en studentnummer
Nadere informatieZevende college Algoritmiek. 6 april Verdeel en Heers
Zevende college Algoritmiek 6 april 2018 Verdeel en Heers 1 Algoritmiek 2018/Backtracking Programmeeropdracht 2 Puzzel 2: D O N A L D G E R A L D + R O B E R T Elke letter stelt een cijfer voor (0,1,...,9)
Nadere informatieWe beginnen met de eigenschappen van de gehele getallen.
II.2 Gehele getallen We beginnen met de eigenschappen van de gehele getallen. Axioma s voor Z De gegevens zijn: (a) een verzameling Z; (b) elementen 0 en 1 in Z; (c) een afbeelding +: Z Z Z, de optelling;
Nadere informatieNumerieke benadering van vierkantwortels
HP Prime Grafische Rekenmachine Numerieke benadering van vierkantwortels Doel: De waarde van een vierkantswortel met een recursieve rij benaderen, het schrijven van een klein programma. Sleutelwoorden:
Nadere informatieMin maal min is plus
Min maal min is plus Als ik een verontruste wiskundeleraar moet geloven, is de rekenregel voor het product van twee negatieve getallen nog steeds een probleem. Hessel Pot schreef me: waarom willen we dat
Nadere informatieSchoolagenda 5e jaar, 8 wekelijkse lestijden
Leerkracht: Koen De Naeghel Schooljaar: 2012-2013 Klas: 5aLWi8, 5aWWi8 Aantal taken: 19 Aantal repetities: 14 Schoolagenda 5e jaar, 8 wekelijkse lestijden Taken Eerste trimester: 11 taken indienen op taak
Nadere informatieDossier 1 SYMBOLENTAAL
Dossier 1 SYMBOLENTAAL basis voor wiskundige communicatie Dr. Luc Gheysens Wiskundigen hebben een eigen symbolentaal waarmee ze onderling communiceren, redeneringen en bewijzen neerschrijven, mathematische
Nadere informatieCombinatoriek groep 1 & 2: Recursie
Combinatoriek groep 1 & : Recursie Trainingsweek juni 008 Inleiding Bij een recursieve definitie van een rij wordt elke volgende term berekend uit de vorige. Een voorbeeld van zo n recursieve definitie
Nadere informatieZomercursus Wiskunde. Katholieke Universiteit Leuven Groep Wetenschap & Technologie. September 2008
Katholieke Universiteit Leuven September 008 Algebraïsch rekenen (versie 7 juni 008) Inleiding In deze module worden een aantal basisrekentechnieken herhaald. De nadruk ligt vooral op het symbolisch rekenen.
Nadere informatieStudiehandleiding Basiswiskunde cursus
Studiehandleiding Basiswiskunde cursus 2008 2009 Materiaal Bij dit college heb je nodig: Het boek Basisboek wiskunde van Jan van de Craats en Rob Bosch Isbn: 90 430 1156 8 De syllabus Aanvulling basiscursus
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 informatieVERZAMELINGEN EN AFBEELDINGEN
I VERZAMELINGEN EN AFBEELDINGEN Het begrip verzameling kennen we uit het dagelijks leven: een bibliotheek bevat een verzameling van boeken, een museum een verzameling van kunstvoorwerpen. We kennen verzamelingen
Nadere informatierecursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie
Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk
Nadere informatieSchooljaar: Leerkracht: M. Smet Leervak: Wiskunde Leerplan: D/2002/0279/048
Blz: 1/5 04 09 09 1.1 STELLING VAN PYTHAGORAS ouwregel tot Pythagoras: formulering. 07 09 09 11 09 09 14 09 09 18 09 09 21 09 09 22 09 09 25 09 09 29 09 09 01 10 09 02 10 09 06 10 09 08 10 09 09 10 09
Nadere informatieLogic for Computer Science
Logic for Computer Science 06 Normaalvormen en semantische tableaux Wouter Swierstra University of Utrecht 1 Vorige keer Oneindige verzamelingen 2 Vandaag Wanneer zijn twee formules hetzelfde? Zijn er
Nadere informatieDatastructuren Programmeeropdracht 2: Expressies. 1 Expressies. Deadlines. Woensdag 12 oktober 23:59, resp. woensdag 2 november 23:59.
Datastructuren 2016 Programmeeropdracht 2: Expressies Deadlines. Woensdag 12 oktober 23:59, resp. woensdag 2 november 23:59. Inleiding. Deze opdracht is losjes gebaseerd op Opdracht 5.13.2 in het boek
Nadere informatieOpdracht 1 Topics on Parsing and Formal Languages - fall 2010
Opdracht 1 Topics on Parsing and Formal Languages - fall 2010 Rick van der Zwet 8 december 2010 Samenvatting Dit schrijven zal uitwerkingen van opgaven behandelen uit het boek [JS2009]
Nadere informatieII. ZELFGEDEFINIEERDE FUNCTIES
II. ZELFGEDEFINIEERDE FUNCTIES In Excel bestaat reeds een uitgebreide reeks van functies zoals SOM, GEMIDDELDE, AFRONDEN, NU enz. Het is de bedoeling om functies aan deze lijst toe te voegen door in Visual
Nadere informatieDiscrete Wiskunde 2WC15, Lente Jan Draisma
Discrete Wiskunde 2WC15, Lente 2010 Jan Draisma HOOFDSTUK 2 Gröbnerbases 1. Vragen We hebben gezien dat de studie van stelsels polynoomvergelijkingen in meerdere variabelen op natuurlijke manier leidt
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 informatieInhoud college 4 Basiswiskunde. 2.6 Hogere afgeleiden 2.8 Middelwaardestelling 2.9 Impliciet differentiëren 4.9 Linearisatie
Inhoud college 4 Basiswiskunde 2.6 Hogere afgeleiden 2.8 Middelwaardestelling 2.9 Impliciet differentiëren 4.9 Linearisatie 2 Basiswiskunde_College_4.nb 2.6 Hogere afgeleiden De afgeleide f beschrijft
Nadere informatie3. Structuren in de taal
3. Structuren in de taal In dit hoofdstuk behandelen we de belangrijkst econtrolestructuren die in de algoritmiek gebruikt worden. Dit zijn o.a. de opeenvolging, selectie en lussen (herhaling). Vóór we
Nadere informatie1.1 Rekenen met letters [1]
1.1 Rekenen met letters [1] Voorbeeld 1: Een kaars heeft een lengte van 30 centimeter. Per uur brand er 6 centimeter van de kaars op. Hieruit volgt de volgende woordformule: Lengte in cm = -6 aantal branduren
Nadere informatie6 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 informatieRecursie: definitie. De som van de kwadraten van de getallen tussen m en n kan als volgt gedefinieerd worden:
Recursie: definitie Een object wordt recursief genoemd wanneer het partieel bestaat uit of partieel gedefinieerd is in termen van zichzelf. Recursie wordt gebruikt bij wiskundige definities, bijvoorbeeld:
Nadere informatie2. Een eerste kennismaking met Maxima
. Een eerste kennismaking met Maxima Als u nog niet eerder kennis heeft gemaakt met CAS (Computer Algebra System) software, dan lijkt Maxima misschien erg gecompliceerd en moeilijk, zelfs voor het oplossen
Nadere informatie