Samenvatting hst. 3 sec. 1-3
|
|
|
- Oscar Meijer
- 10 jaren geleden
- Aantal bezoeken:
Transcriptie
1 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 xs, (b,zs)"q ys] infixl 7 (<$>) :: (b!c)! Parser a b! Parser a c (f <$> p) xs = [(f b,ys) (b,ys) " p xs] Toepassing: geneste haakjes!!grammatica { H! #$, H! ( H ) H }!!Abstracte syntax data H = Leeg Paar H H!!Parser haakjes :: Parser Char H haakjes = (\x! Leeg) <$> epsilon < > (\a b c d! Paar b d) <$> open <*> haakjes <*> sluit <*> haakjes Where open = symbol ( sluit = symbol )
2 Samenvatting hst. 3 sec. 4!!Parser combinators voor EBNF many :: Parser a b! Parser a [b] many1 :: Parser a b! Parser a [b] option :: Parser a b! b! Parser a b!!nog wat extra utilities pack :: Parser a o! Parser a b! Parser a s! Parser a b sequence :: [ Parser a b ]! Parser a [b] Choice :: [ Parser a b ]! Parser a b listof :: Parser a b! Parser a s! Parser a [b] Chainr :: Parser a b! Parser a (b!b!b)! Parser a b Abstracte syntax voor Expressies data Expr = Con Int Var String Fun String [Expr] Expr :+: Expr Expr : : Expr Expr :*: Expr Expr :/: Expr
3 Parser voor Expressies (met prioriteiten) expr = chainr term ( (\o!(:+:)) <$> (symbol + ) < > (\o!(: :)) <$> (symbol ) chainl is nu beter ) term = chainr fact ( (\o!(:*:)) <$> (symbol * ) < > (\o!(:/:)) <$> (symbol / ) chainl is nu beter ) fact = Con <$> getal < > gehaakt expr < > Var <$> naam < > Fun <$> naam <*> gehaakt (listof expr (symbol, ) ) Parser voor Expressies (principe) expr = chainr term ( (:+:) + < > (: :) ) term = chainr fact ( (:*:) * < > (:/:) / ) gen ops next = chainr next ( choice ops ) fact = basis < > gehaakt expr
4 Parser voor Expressies (veel prioriteiten) expr = gen ops1 term1 term1= gen ops2 term2 term2= gen ops3 term3 term3= gen ops4 term4 term4= gen ops5 fact fact = basis < > gehaakt expr expr = foldr gen fact [ops1,ops2,ops3,ops4,ops5] gen ops next = chainr next ( choice ops ) Gebruik van parsers!!type van parsers type Parser a b = [a]! [ (b, [a]) ]!!Parser voor expressies expr :: Parser Char Expr expr :: String! [ (Expr, String) ]!!Opstarten van de parser geefexpr :: String! Expr geefexpr = fst. head. filter (null.snd). expr
5 Gebruik van parsers geefexpr :: String! Expr geefexpr = fst. head. filter (null.snd). expr!!generalisatie start :: Parser a b! [a]! b start p = fst. head. filter (null.snd). p Ontwerp van een parser!!observeer de taal!!bedenk een grammatica "!evt. transformeren!!maak datatype voor de ontleedboom!!maak parse-functie "!evt. met preprocessor!!voeg semantiek toe "!of: als functie op ontleedboom "!of: direct tijdens het parsen
6 Parser-ontwerp (1/5) Observeer de taal!!voorbeeld: reisschema s vertrek aankomst Utrecht 9:17 9:42 Amsterdam Groningen 8:37 9:44 Zwolle 9:49 10:15 Utrecht 10:21 11:05 Rotterdam Almelo Parser-ontwerp (2a/5) Bedenk een grammatica Groningen 8:37 9:44 Zwolle 9:49 10:15 Utrecht 10:21 11:05 Rotterdam Schema! Schema Tijd Tijd Schema Stad Tijd! Getal : Getal$ Getal! Cijfer + Stad! Letter +
7 Parser-ontwerp (2b/5) Bedenk een grammatica Groningen 8:37 9:44 Zwolle 9:49 10:15 Utrecht 10:21 11:05 Rotterdam Schema! Stad Tijd Overstap* Tijd Stad Stad Overstap! Tijd Stad Tijd$ Parser-ontwerp (2c/5) Bedenk een grammatica Groningen 8:37 9:44 Zwolle 9:49 10:15 Utrecht 10:21 11:05 Rotterdam Schema! Stad Rit* Rit! Tijd Tijd Stad$
8 Parser-ontwerp (2d/5) Bedenk een grammatica Groningen 8:37 9:44 Zwolle 9:49 10:15 Utrecht 10:21 11:05 Rotterdam Schema! Rit * Stad Rit! Stad Tijd Tijd Parser-ontwerp (3b/5) Maak datatype ontleedboom Schema! Stad Tijd Overstap* Tijd Stad Stad Overstap! Tijd Stad Tijd$ data Schema = Met Stad Tijd [Overstap] Tijd Stad Zonder Stad type Overstap = ( Tijd, Stad, Tijd )
9 Parser-ontwerp (3d/5) Maak datatype ontleedboom Schema! Rit* Stad Rit! Stad Tijd Tijd type Schema = ( [Rit], Stad) type Rit = ( Stad, Tijd, Tijd ) type Tijd = ( Int, Int ) type Stad = String Parser-ontwerp (4b/5) Maak parse-functie Schema! Stad Tijd Overstap* Tijd Stad Stad Overstap! Tijd Stad Tijd$ schema = Met <$> stad <*> tijd <*> many overstap <*> tijd <*> stad < > Zonder <$> stad overstap = (\t1 s t2! (t1,s,t2)) <$> tijd <*> stad <*> tijd tijd = (\n1 d n2! (n1,n2)) <$> getal <*> symbol : <*> getal
10 Parser-ontwerp (4d/5) Maak parse-functie Schema! Rit* Stad Rit! Stad Tijd Tijd schema = rit = (\rs s! (rs,s)) <$> many rit <*> stad (\s t1 t2! (s,t1,t2)) <$> stad <*> tijd <*> tijd Parser-ontwerp (5/5) Voeg semantiek toe!!bijvoorbeeld: "!Wachttijd "!Totale reistijd "!Lijst van stations min :: Tijd! Int min (u,m) = 60*u + m wachttijd, reistijd :: Schema! Int stations :: Schema! [String]
11 Semantische functies data Schema = Met Stad Tijd [Overstap] Tijd Stad Zonder Stad type Overstap = ( Tijd, Stad, Tijd ) wacht (Zonder _) = 0 wacht (Met os ) = sum (map f os) where f (t1,_,t2) = min t2 min t1 stats (Zonder s) = [s] stats (Met s1 _ os _ s2) = s1 : map f os ++ [s2] where f (_,s,_) = s reis = Oei lastig! Alternatieve Semantische functies type Schema = ( [Rit], Stad) type Rit = ( Stad, Tijd, Tijd ) reis (rs,_) = sum (map f rs) where f (s,t1,t2) = min t2 min t1 stats (rs,s) = map f rs ++ [s] where f (s,_,_) = s wacht = Oei lastig!
12 Ontleedboom bepalen tijdens het ontleden schema schema = rit rit = :: Parser String Schema (\rs s! (rs,s)) <$> many rit <*> stad :: Parser String Rit (\s t1 t2! (s,t1,t2)) <$> stad <*> tijd <*> tijd Semantiek bepalen tijdens het ontleden schemareis :: Parser String Int schemareis = (\ns s! sum ns) <$> many ritreis <*> stad ritreis ritreis = :: Parser String Int (\s t1 t2! min t2 min t1) <$> stad <*> tijd <*> tijd
13 Ontwerp van een parser!!observeer de taal!!bedenk een grammatica "!evt. transformeren!!maak datatype voor de ontleedboom!!maak parse-functie "!evt. met preprocessor!!voeg semantiek toe "!of: als functie op ontleedboom "!of: direct tijdes het parsen De basis-parsers many1 :: Parser a b! Parser a [b] naam :: Parser Char String naam = many1 (satisfy isalpha) getal :: Parser Char Int getal = foldl f 0 <$> many (satisfy isdigit) where f n c = 10*n + ord c ord 0
14 Publieksvraag!!Observeer de taal van floating-point getallen in standaard programmeertalen e6-5F E23 float :: Parser Char Float float = Uitwerking cijfer :: Parser Char Int cijfer = (\c!ord c ord 0 ) <$> satisfy isdigit natuurlijk :: Parser Char Int natuurlijk = (foldl (\n d!10*n+d) 0) <$> many cijfer geheel :: Parser Char Int geheel = apply <$> option ((\c!neg) <$> symbol ) id <*> natuurlijk fractie :: Parser Char Float fractie = (foldr (\d n!(n+d)/10) 0) <$> eigenlijk moet fromintegral :: Int! Float nog worden gebruikt many cijfer
15 Uitwerking (vervolg) fixed :: Parser Char Float fixed = (+) <$> geheel <*> option( (\p x! x) <$> fromintegral symbol. <*> fractie ) 0 float :: Parser Char Float float = f <$> fixed <*> option( (\p x! x) <$> symbol E <*> geheel ) 0 where f gr ex = gr * pow 10 ex
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
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,
compileren & interpreteren - compileren: vertalen (omzetten) - interpreteren: vertolken
compileren & interpreteren - compileren: vertalen (omzetten) - interpreteren: vertolken - belangrijkste punten: - ontleden van de programmatekst - bijhouden van de datastructuren Data Structuren en Algoritmen
Het omzetten van reguliere expressies naar eindige automaten, zie de vakken Fundamentele Informatica 1 en 2.
Datastructuren 2016 Programmeeropdracht 3: Patroonherkenning Deadlines. Woensdag 23 november 23:59, resp. vrijdag 9 december 23:59. Inleiding. Deze opdracht is gebaseerd op Hoofdstuk 13.1.7 in het boek
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
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
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
HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren
HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet
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
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
Reguliere Expressies
Reguliere Expressies Een reguliere expressie (regexp, regex, regxp) is een string (een woord) die, volgens bepaalde syntaxregels, een verzameling strings (een taal) beschrijft Reguliere expressies worden
Automaten & Complexiteit (X )
Automaten & Complexiteit (X 401049) Beschrijven van reguliere talen Jeroen Keiren [email protected] VU University Amsterdam 5 Februari 2015 Talen Vorig college: Talen als verzamelingen Eindige automaten:
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.
SQL datadefinitietaal
SQL datadefinitietaal We kunnen er het schema van de database mee bepalen: metadata toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: CREATE : toevoegen van metagegevens DROP : verwijderen
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
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
OEFENINGEN PYTHON REEKS 1
Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren
Arduino Cursus, Deel 2 Programmeren. Simon Pauw, ZB45, Amsterdam
Arduino Cursus, Deel 2 Programmeren Simon Pauw, ZB45, Amsterdam Programmeren Geen zorgen als je niet alles begrijpt. Doel: Het snappen van bestaande code. Meeste kennis ook toepasbaar buiten de Arduino
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
PYTHON REEKS 1: BASICS. Mathias Polfliet
PYTHON REEKS 1: BASICS Mathias Polfliet [email protected] EENVOUDIGE REKENMACHINE 2 soorten getallen Getallen Z -> integers (gehele getallen) Getallen R -> floating points (reële getallen) Door beperkte
Flippos de nieuwe rage
Flippos de nieuwe rage Maarten Fokkinga Versie van 2 april 1996 Inleiding. In iedere zak chips (van het juiste merk) zitten één of meer flippos: kleine ronde kunststof schijfjes. Je kunt ermee bouwen (de
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
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
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
6 a naam. 1 Vul de tabel in. 2 Maak vast aan de getallenlijn
6 a naam Hulp blad 1 1 Vul de tabel in a 709 ligt tussen 700 en 800 en ligt het dichtst bij 700 497 ligt tussen en en ligt het dichtst bij 211 ligt tussen en en ligt het dichtst bij 885 ligt tussen en
Logica 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
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
Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.
Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort
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
Logisch en Functioneel Programmeren voor Wiskunde D
Logisch en Functioneel Programmeren voor Wiskunde D Wouter Swierstra Doaitse Swierstra Jurriën Stutterheim Technical Report UU-CS-2011-033 Sept 2011 Department of Information and Computing Sciences Utrecht
8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde
8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde Optellen: 5a + 3b + 2a + 6b = 7a + 9b 1) Alleen gelijksoortige
Variabelen en statements in ActionScript
Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer
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
Aspects of Feedback in Intelligent Tutoring Systems for Modeling Education. Harrie Passier 23 november 2013
Aspects of Feedback in Intelligent Tutoring Systems for Modeling Education Harrie Passier 23 november 2013 Agenda Voor 2002 2004 2006 2006 2011 2012 2012 2013 13 september 2013 Voor 2002 Voltijd Mavo-4
MMI. The Digital World 4. Peter van Kranenburg
MMI The Digital World 4 Peter van Kranenburg Intro Vandaag: Terugblik vorige week Leren programmeren Algoritmes Terugblik Hogere-orde programmeertalen maken het schrijven van code eenvoudiger. Je hoeft
OEFENINGEN PYTHON REEKS 1
Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren
HOE TEKEN IK EEN OMGEVINGSMODEL
HOE TEKEN IK EEN OMGEVINGSMODEL MATTIAS DE WAEL 1. Inleiding Om de allereenvoudigste Scheme expressies te begrijpen volstaat het substitutiemodel. Het substitutiemodel verondersteld het bestaan van een
Gewijzigde dienstregeling
zaterdag 17 zondag 25 oktober 2009 Gewijzigde dienstregeling Rond Deventer omreizen of bus in plaats van trein in de herfstvakantie Groningen Leeuwarden Zwolle Wierden Almelo Wijhe Rijssen Olst Hengelo
Ruitjes vertellen de waarheid
Ruitjes vertellen de waarheid Opdracht 1 Van fouten kun je leren Van fouten kun je leren, jazeker. Vooral als je héél goed weet wat er fout ging. Vandaag leer je handige formules begrijpen door kijken
2. 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
7.1 De afgeleide van gebroken functies [1]
7.1 De afgeleide van gebroken functies [1] Regels voor het differentiëren: f() = a geeft f () = a f() = a geeft f () = a f() = a geeft f () = 0 Algemeen geldt: f() = a n geeft f () = na n-1 Voorbeeld 1:
Compilers.
Compilers [email protected] Job van een compiler Job van een compiler 68: newarray int int grens = min + (max - min) / 2; int[] kleiner = new int[n]; int[] groter = new int[n]; int k = 0;
DE INTERACTIEVE SHELL
Hoofdstuk2 De interactieve shell 6 Hoofdstuk 2 DE INTERACTIEVE SHELL In dit hoofdstuk behandelen we: Integers (gehele getallen) en getallen met drijvende komma Expressies Waarden Operatoren Het evalueren
8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde
8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde Optellen: 5a + 3b + 2a + 6b = 7a + 9b 1) Alleen gelijksoortige
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
Functioneel Programmeren met Clean
Functioneel Programmeren met Clean J.M. Jansen NLDA Oktober 2011 Functioneel Proggrammeren met Clean 2 1. EXPRESSIES... 5 1.1 EXPRESSIES EN HERSCHRIJVINGEN... 5 1.2 REGELS VOOR EXPRESSIES... 5 1.3 BEREKENEN
Vakgroep 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 [email protected] en [email protected]
Les 2 Eenvoudige queries
Les 2 Eenvoudige queries XAMP Apache server ( http ) mysql server PHP myadmin IAM SQL oefeningen Database phpmyadmin Import : sql_producten.sql, sql_winkel.sql, sql_festival.sql SAMS SQL in 10 minuten
HOOFDSTUK 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
INHOUDSOPGAVE. Over de auteur, de illustrator en de technische redacteuren 13
INHOUDSOPGAVE Over de auteur, de illustrator en de technische redacteuren 13 Dankwoord 14 Inleiding 15 Waarom Python?... 16 Hoe je code leert schrijven... 16 Voor wie is dit boek... 17 Wat staat er in
EE1400: Programmeren in C BSc. EE, 1e jaar, , 2e college
EE1400: Programmeren in C BSc. EE, 1e jaar, 2012-2013, 2e college Arjan van Genderen, Computer Engineering 20-11-2012 Delft University of Technology Challenge the future Agenda A.s. woensdagmiddag 14.00
Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren
Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int
VAN 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,
Talstelsels en getalnotaties (oplmodel)
Talstelsels en getalnotaties (oplmodel) herhalingsvragen 1. Waarom werken computers binair? Omdat binaire computers veel makkelijker te maken is. De kans op fouten is ook veel kleiner. het spanningsverschil
Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.
1 Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python. Voordat je leert programmeren, moet je jouw pc zo instellen dat
APPLICATIEBOUW 2E COLLEGE: ONTWERPEN, GEBRUIKERSINTERFACES, VARIABELEN & EXPRESSIES. Onderdeel van SmartProducts
APPLICATIEBOUW 2E COLLEGE: ONTWERPEN, GEBRUIKERSINTERFACES, VARIABELEN & EXPRESSIES Onderdeel van SmartProducts INHOUD COLLEGE 2 module4.io.utwente.nl/applicatiebouw Software ontwerpen Gebruikersinterfaces,
Arrays. Complexe datastructuren. Waarom arrays. Geen stijlvol programma:
Geen stijlvol programma: Complexe datastructuren Arrays vijf verschillende variabelen voor iets dat als één rij getallen bestempeld wordt; onbruikbaar wanneer het over meer getallen (bijvoorbeeld ) gaat.
Automaten. Informatica, UvA. Yde Venema
Automaten Informatica, UvA Yde Venema i Inhoud Inleiding 1 1 Formele talen en reguliere expressies 2 1.1 Formele talen.................................... 2 1.2 Reguliere expressies................................
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
Algoritmiek. 8 uur college, zelfwerkzaamheid. Doel. Hoe te realiseren
Algoritmiek Doel Gevoel en inzicht ontwikkelen voor het stapsgewijs, receptmatig oplossen van daartoe geëigende [biologische] probleemstellingen, en dat inzicht gebruiken in het vormgeven van een programmeerbare
Certificaat warmtepomp REG-premie 2015
Product ID : PUHZ-SHW112VHA + EHST20C-VM2(E) (B/C)* Gegevens warmtepompsysteem COP (gemeten volgens EN14511) : 4,04** : 1,7 kw 1. Actieve koeling 2. Bijlagen (toe te voegen door de installateur) Product
opstarthandleiding mysqlworkbench November 2012 Fons van Kesteren HVA- CMD- V1 Datamodelleren
opstarthandleiding mysqlworkbench November 2012 Fons van Kesteren HVA- CMD- V1 Datamodelleren Handleiding om te beginnen met mysql WorkBench. In twee stappen 0. WorkBench verbinden met mysql 1. een hallo
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
Programmeren met Arduino-software
Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en
Wiskunde voor bachelor en master Deel 1 Basiskennis en basisvaardigheden. c 2015, Syntax Media, Utrecht Uitwerkingen hoofdstuk 5
Wiskunde voor bachelor en master Deel Basiskennis en basisvaardigheden c 205, Synta Media, Utrecht www.syntamedia.nl Uitwerkingen hoofdstuk 5 5.3. a. 2 + = + 7 { naar links, naar rechts} 3 = 6 {deel door
Bij elkaar behorende instructies die een probleem oplossen of een taak uitvoeren.
Programma Structuur Diagram: Een gestructureerd programma is een programma dat we gemakkelijk kunnen begrijpen. Dit kunnen we bereiken door het programma op te bouwen uit drie programmacomponenten: Als
17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies
17 Operaties op bits In hoofdstuk 1 is gezegd dat C oorspronkelijk bedoeld was als systeemprogrammeertaal om het besturingssysteem UNIX te implementeren. Bij dit soort toepassingen komt het voor dat afzonderlijke
Een typisch programma in C en C++ bestaat uit een aantal onderdelen:
Eerste stappen in C. Een typisch programma in C en C++ bestaat uit een aantal onderdelen: /* Alles wat op meerdere lijnen staat zoals hier is commentaar. */ // Dit is commentaar op 1 lijn. Geldig tot einde
3.1 Haakjes wegwerken [1]
3.1 Haakjes wegwerken [1] Oppervlakte rechthoek (Manier 1): Opp. = l b = (a + b) c = (a + b)c Oppervlakte rechthoek (Manier 2): Opp. = Opp. Groen + Opp. Rood = l b + l b = a c + b c = ac + bc We hebben
Automaten & Complexiteit (X )
Automaten & Complexiteit (X 401049) Inleiding Jeroen Keiren [email protected] VU University Amsterdam Materiaal Peter Linz An Introduction to Formal Languages and Automata (5th edition) Jones and Bartlett
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
Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010
Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2009-2010 16 juni, 2010 **BELANGRIJK** 1. Schrijf je naam onderaan op elk blad. 2.
Zelftest Inleiding Programmeren
Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze
profielvak mobiliteit en transport CSPE KB onderdeel D
Examen VMBO-KB 2017 gedurende 100 minuten profielvak mobiliteit en transport CSPE KB onderdeel D Naam kandidaat Kandidaatnummer Bij dit onderdeel hoort een digitaal bestand. Dit onderdeel bestaat uit 10
Arriva Openbaar Vervoer N.V. Afdeling trein noordelijke lijnen T.a.v. mevrouw Dubben Postbus 626 8440 AP Heerenveen. Beste mevrouw Dubben,
Pagina 1 van 5 Arriva Openbaar Vervoer N.V. Afdeling trein noordelijke lijnen T.a.v. mevrouw Dubben Postbus 626 8440 AP Heerenveen Plaats en datum: Leeuwarden 28-07-2014 Onderwerp: Advies dienstregeling
SQL Aantekeningen 3. Maarten de Rijke [email protected]. 22 mei 2003
SQL Aantekeningen 3 Maarten de Rijke [email protected] 22 mei 2003 Samenvatting In deze aflevering: het selecteren van tuples, operaties op strings, en aggregatie functies. Verder kijken we naar iets
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
Programmeren in Java 3
26 september 2007 Deze les korte herhaling vorige les Unified Modelling Language notatie van een class afleiding pointers abstracte classes polymorphisme dubieuze(?) constructies interfaces Meer over class
