Inleiding Programmeren 2

Maat: px
Weergave met pagina beginnen:

Download "Inleiding Programmeren 2"

Transcriptie

1 Inleiding Programmeren 2 Gertjan van Noord en Leonie Bosveld December 19, 2016

2 Vandaag Naar aanleiding van de opdrachten Zelle hoofdstuk 11

3 Boolean variabelen: niet checken met == Fout: if clicked == True : gohome () Goed: if clicked : gohome ()

4 Boolean variabelen: niet checken met == Fout: if clicked == False : gowork () Goed: if not clicked : gowork ()

5 While loop en break Fout: clicked = False while not clicked : doit () if buttonclicked (): clicked = True Goed: while True : doit () if buttonclicked (): break

6 Simulatie als de kansen niet gelijk zijn: Goed p1 = # probability of event e1 p2 = # e2 p3 = # e3 r = random. random () if r < p1: return ("e1") if r < p1 + p2: return ("e2") else : return ("e3")

7 Simulatie als de kansen niet gelijk zijn: Fout p1 = # probability of event e1 p2 = # e2 p3 = # e3 if random. random () < p1: return ("e1") if random. random () < p1 + p2: return ("e2") else : return ("e3")

8 If statements Fout: if x < 0: print (" negative!") if x > 0: print (" positive!") if x == 0: print (" zero!") Goed: if x < 0: print (" negative!") elif x > 0: print (" positive!") else : print (" zero!")

9 Teveel variabelen Fout: def convert ( celsius ): fahrenheit = 9/5 * celsius + 32 return fahrenheit Goed: def convert ( celsius ): return 9/5 * celsius + 32

10 En verder het maken van een mooiere interface mag niet ten koste gaan van de overzichtelijkheid van je code random walk: netjes afsluiten

11 Hoofdstuk 11

12 Lijsten In andere talen: array Python lijsten zijn bijzonder: dynamisch: je hoeft niet te zeggen hoe lang een lijst is heterogeneous: je kunt verschillende soorten data in een lijst mixen mutable: je mag elementen veranderen

13 Wat kun je met lijsten concatenatie repetitie indexing lengte slicing iteratie lidmaatschaptest: if el in list:

14 Nog meer methoden voor lijsten lst.append(x) lst.sort() lst.sort(key=fun) lst.reverse() lst.index(x) lst.insert(i,x) lst.count(x) lst.remove(x) lst.pop() lst.pop(i)

15 >>> lst =[3,2,1,2,3,4] >>> lst. reverse () >>> lst [4, 3, 2, 1, 2, 3] >>> lst. sort () >>> lst [1, 2, 2, 3, 3, 4] >>> lst. index (3) 3 Nog meer methoden voor lijsten

16 >>> lst [1, 2, 2, 3, 3, 4] >>> lst. insert (5,0) >>> lst [1, 2, 2, 3, 3, 0, 4] >>> lst. count (2) 2 >>> lst. count (10) 0 >>> lst. remove (0) >>> lst [1, 2, 2, 3, 3, 4] Nog meer methoden voor lijsten

17 Sorteren lst = [( jan,3), ( piet,7),( anja,8)] >>> lst. sort () >>> lst [( anja, 8), ( jan, 3), ( piet, 7)]

18 Sorteren lst = [( jan,3), ( piet,7),( anja,8)] >>> lst. sort () >>> lst [( anja, 8), ( jan, 3), ( piet, 7)] >>> def arg2 ( pair ):... return pair [1]... >>> lst. sort ( key = arg2 ) >>> lst [( jan, 3), ( piet, 7), ( anja, 8)]

19 Sorteren >>> lst [( jan, 3), ( piet, 7), ( anja, 8)] >>> lst. sort ( key =arg2, reverse = True ) >>> lst [( anja, 8), ( piet, 7), ( jan, 3)]

20 Sorteren methode van lijsten: sort() alleen voor lijsten vervangt de huidige lijst door de gesorteerde built-in: sorted() voor elke data-structuur waar je over kunt itereren resultaat is een nieuwe lijst

21 Lijsten en dictionaries Lijsten zijn dus erg flexibel Erg handig om te gebruiken Maar: niet altijd de beste keus

22 Lijsten en dictionaries Lijsten zijn dus erg flexibel Erg handig om te gebruiken Maar: niet altijd de beste keus def lookup_word (w): """ for a given word w, find its part - of - speech """ words = [( de, det ),( het, det ), ( ik, pron ),( boek, noun )] for (word, tag ) in words : if w == word : return tag Python moet hier de hele lijst doorlopen om te controleren of het woord in de lijst voor komt. Dictionaries: een data-structuur waarbij je in 1 stap antwoord krijgt!

23 Dictionaries Belangrijk! Datastructuur waarmee je een waarde opzoekt voor een gegeven key. In andere talen wordt dit soms een hash of associatief array genoemd Opzoeken van een key is efficient

24 Dictionaries >>> mydict = { slaapt : ww, ik : pron, gisteren : bijwoord } >>> mydict [ ik ] pron >>> mydict [ jij ] = pron >>> mydict { ik : pron, gisteren : bijwoord, slaapt : ww, jij : pron } >>> mydict [ ik ] = pron1 >>> mydict { ik : pron1, gisteren : bijwoord, slaapt : ww, jij : pron }

25 Dictionaries Vaak gemaakt door 1 voor 1 de elementen toe te voegen Bijvoorbeeld: passwd = {} for line in sys. stdin : line = line. rstrip () user, pass = line. split () passwd [ user ] = pass

26 Dictionaries if mykey in mydict: mydict.keys() mydict.values() mydict.get(key,default) del mydict[key] mydict.clear() for el in mydict:

27 Dictionaries >>> mydict { ik : pron1, gisteren : bijwoord, slaapt : ww, jij : pron } >>> for key in mydict. keys ():... print ( key )... ik gisteren slaapt jij >>> for key in mydict. keys ():... print ( mydict [ key ])... pron1 bijwoord ww pron

28 Dictionaries: woordenteller mydict = {} for line in sys. stdin : words = line. split () for word in words : if word in mydict : mydict [ word ]= mydict [ word ]+1 else : mydict [ word ]=1

29 Dictionaries: woordenteller mydict = {} for line in sys. stdin : words = line. split () for word in words : mydict [ word ]= mydict. get (word,0)+1

30 Opdracht 1 deadline 8 januari Zelle hoofdstuk 11, opdracht 6. Er zijn betere manieren om dit te doen, maar voor deze opdracht volstaat de volgende aanpak. Deleer steeds een random element uit de bestaande lijst, en voeg die toe aan een nieuwe lijst, net zo lang tot de bestaande lijst leeg is. Zorg voor een main functie die als test een random shuffle van een lijst van afwisselend nullen en enen naar standard output schrijft, waarbij de lengte van de lijst gegeven wordt door het eerste command-line argument. Als n bijvoorbeeld 5 is, dan moet je een random shuffle van de lijst [0,1,0,1,0] genereren. Als n 2 is, moet je een random shuffle maken van de lijst [0,1]../random_shuffle 5 [0, 1, 0, 0, 1]./random_shuffle 2 [1,0]

31 Opdracht 2 deadline 8 januari Schrijf een programma dat een tekst van standard input leest en vervolgens de frequentie bijhoudt van alle trigrammen (sequenties van drie woorden) in de tekst. Alle trigrammen met hun frequentie moeten naar standard output worden geschreven, in volgorde van frequentie. Besteed geen aandacht aan punctuation. De dictionary die je nodig hebt, heeft als keys steeds een trigram, wat je in Python het beste als tuple van de drie woorden kan representeren. Een trigram telt alleen mee als de woorden op dezelfde regel staan. We gaan er bij deze opdracht van uit dat de tekst al getokenizeerd is: de leestekens zijn al gescheiden door spaties van de woorden. We beschouwen die leestekens zelf ook als woorden. Een voorbeeldbestand is: /net/corpora/eindhoven/cdb/cdb.zinnen. cat /net/corpora/eindhoven/cdb/cdb.zinnen./ex2.py head -n 5, dat de 74, die in 44 een van de 42, die de 40, dat het 39

32 Opdracht 3 BONUS deadline 8 januari Maximaal 5 punten (extra) Schrijf een programma dat een tekst van standard input leest en dat vervolgens alle woorden die voorkomen in de tekst op een bepaalde manier in een data-structuur opslaat. Je moet een geschikte data-structuur kiezen op basis van het volgende. Na het inlezen van de tekst moet een grafische interface worden gestart waarbij de gebruiker steeds een woord intypt (in de interface), en waarbij je dan alle contexten laat zien waarin dat woord is gebruikt in de tekst. De context bestaat steeds uit de twee woorden links en twee woorden rechts. Indien een woord meerdere keren in dezelfde context voorkomt moet je die context maar n keer op het scherm tonen, maar daarbij geef je dan wel aan hoevaak deze context voorkwam. De interactie stopt nadat de gebruiken op een quit button heeft geklikt.

33 Opdracht 3 voorbeeld Met bestand /net/corpora/eindhoven/cdb/cdb.zinnen en als zoekterm Tweede moet je een overzicht zoals dit krijgen: in de Tweede Kamer, 2 In de Tweede Kamer is 2 aan de Tweede Kamer uitgebrachte 1 dat de Tweede Kamer in 1 hebben de Tweede Kamerleden Schuring 1 in de Tweede Kamer. 1 in de Tweede Kamer aanwezige 1 in de Tweede Kamer drs. 1 in de Tweede Kamer medegedeeld 1 in de Tweede Kamer niet 1 in de Tweede Kamer voorstellen 1 in de Tweede Kamer wordt 1 In de Tweede Wereldoorlog werden 1 naar de Tweede Kamer hebben 1 op het Tweede Vaticaanse Concilie 1 sinds de Tweede Wereldoorlog heeft 1 tot de Tweede Wereldoorlog, 1 uit de Tweede Wereldoorlog zijn 1 van de Tweede Helmerstraat en 1 van de Tweede Kamer, 1 van de Tweede Kamer. 1 van de Tweede Kamer nog 1

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord December 17, 2018 Vandaag Naar aanleiding van de opdrachten Zelle hoofdstuk 11 Boolean variabelen: niet checken met == Fout: if clicked == True : gohome () Goed:

Nadere informatie

Inleiding Programmeren 2

Inleiding 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 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

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord November 19, 2018 Overzicht Grafische programma s en tekstgebaseerde programma s Stijladviezen (Jeff Knupp, Writing Idiomatic Python) File Processing (Zelle 5.9.2)

Nadere informatie

Programmeermethoden NA

Programmeermethoden NA Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Getal opbouwen Stel je leest losse karakters (waaronder

Nadere informatie

Programmeermethoden NA. Week 6: Lijsten

Programmeermethoden NA. Week 6: Lijsten Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Getal opbouwen Stel je leest losse karakters (waaronder cijfers) en je moet daar een getal

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord en Leonie Bosveld December 2, 2016 Simulatie Uitrekenen of simpelweg heel vaak uitproberen... Wissel je van garagebox? Simulatie: als benadering van niet of moeilijk

Nadere informatie

[13] Rondjes draaien (loops)

[13] Rondjes draaien (loops) [13] Rondjes draaien (loops) Met de if else uit de leerfiche [11] hebben we leren werken met één van de belangrijkste programmeerstructuren in Python. Bijna even belangrijk zijn de verschillende mogelijkheden

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

Code Voorbeeld Resultaat. print(6, end="") print(7) print(type(6)) <class 'int'> + optelling - aftrekking * vermenigvuldiging / deling 8 16 % modulo

Code Voorbeeld Resultaat. print(6, end=) print(7) print(type(6)) <class 'int'> + optelling - aftrekking * vermenigvuldiging / deling 8 16 % modulo Code overzicht Python Code Voorbeeld Resultaat print() print(6) print(6, end="") print(7) print(type(6)) 6 67 + optelling - aftrekking * vermenigvuldiging / deling // deling afgerond naar

Nadere informatie

Uitwerkingen. Python Assessment

Uitwerkingen. Python Assessment Uitwerkingen Python Assessment Nijmegen - Utrecht www.atcomputing.nl Copyright 2015,2016 Versie: 1a Uitwer king 1: Elementairedatatypes 1.a Een string bevat tekst in de vorm van Unicode characters, terwijl

Nadere informatie

Niet-numerieke data-types

Niet-numerieke data-types Intern wordt een karakter voorgesteld als een rij van acht bits, Niet-numerieke data-types string de letter a 01100001 0110 0001 0x61 97 Bij interpretatie van de inhoud van een byte als een geheel getal,

Nadere informatie

OEFENINGEN PYTHON REEKS 1

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

Nadere informatie

Programmeren PYTHON OEFENTENTAMEN 2. Schrijf jouw antwoorden op dit tentamen. Tijd: 2 uur. Maximaal aantal punten: 32. Naam: Studentnummer:

Programmeren PYTHON OEFENTENTAMEN 2. Schrijf jouw antwoorden op dit tentamen. Tijd: 2 uur. Maximaal aantal punten: 32. Naam: Studentnummer: Programmeren PYTHON OEFENTENTAMEN 2 Naam: Studentnummer: Schrijf jouw antwoorden op dit tentamen Tijd: 2 uur Maximaal aantal punten: 32 Menselijke interpreter (6 punten) 0. (1 punt) Wat is de uitkomst

Nadere informatie

OEFENINGEN PYTHON REEKS 1

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

Nadere informatie

Javascript oefenblad 1

Javascript oefenblad 1 Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de

Nadere informatie

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010

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.

Nadere informatie

Programmeermethoden NA. Week 5: Functies (vervolg)

Programmeermethoden NA. Week 5: Functies (vervolg) Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Functies Vorige week bekeken we functies: def

Nadere informatie

Programmeren. a. 0, 0, 0 b. 0, 0, 27 c. 15, 12, 0 d. 15, 12, 27

Programmeren. a. 0, 0, 0 b. 0, 0, 27 c. 15, 12, 0 d. 15, 12, 27 Programmeren 0. (1 punt.) Stel, een "afhankelijk kind" is een persoon is die jonger is dan 18 jaar, en hooguit 8.000 euro verdient. Welke van de onderstaande expressies definieert een afhankelijk kind?

Nadere informatie

Voorbeelden. Sorteren. Voorbeeld: n = 5. # intsort.py: sorteren van een rij getallen

Voorbeelden. Sorteren. Voorbeeld: n = 5. # intsort.py: sorteren van een rij getallen Voorbeelden Sorteren Schrijf een programma dat een rij gehele getallen sorteert een eerste functie leest de rij gehele getallen; een tweede functie sorteert deze getallenrij van klein naar groot; een derde

Nadere informatie

Programmeermethoden NA. Week 5: Functies (vervolg)

Programmeermethoden NA. Week 5: Functies (vervolg) Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Functies Vorige week bekeken we functies: def bereken(a, x): return a * (x

Nadere informatie

Toetsvoorbereiding Informatica HAVO/VWO 5 (T51) Programmeren met Python II. Duur: 70 minuten Datum: sept 2018

Toetsvoorbereiding Informatica HAVO/VWO 5 (T51) Programmeren met Python II. Duur: 70 minuten Datum: sept 2018 Toetsvoorbereiding Informatica HAVO/VWO 5 (T51) Programmeren met Python II Duur: 70 minuten Datum: sept 2018 Stof: Basiskennis van vorig jaar, (Eigen) Functies & parameters, Loops (for en while), Turtle

Nadere informatie

Programmeermethoden NA. Week 3: Controlestructuren

Programmeermethoden NA. Week 3: Controlestructuren Programmeermethoden NA Week 3: Controlestructuren Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Inleveren opdracht 1 Lever digitaal sxxxxxxx-syyyyyyy-opdr1.py

Nadere informatie

Opgaven. Python Assessment

Opgaven. Python Assessment Opgaven Python Assessment Nijmegen - Utrecht www.atcomputing.nl Copyright 2015,2016 Versie: 1a Inleiding Met dit assessment kun je controleren of je voldoende parate kennis over Python hebt om te beginnen

Nadere informatie

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

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

Nadere informatie

BEGINNER JAVA Inhoudsopgave

BEGINNER JAVA Inhoudsopgave Inhoudsopgave 6 Configuratie Hallo wereld! Praten met de gebruiker Munt opgooien Voorwaarden Lussen......6 Configuratie Met deze Sushi kaarten ga je een simpel spel maken met één van de meest populaire

Nadere informatie

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2 Controle structuren De algemene vorm: 1 bloks door middel van indentatie Keuze Herhaling if expressie :...... In de volgende vorm is het else gedeelte weggelaten: if expressie :... Het if keuze- of conditioneel

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in

Nadere informatie

Zelftest Inleiding Programmeren

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

Nadere informatie

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

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

Nadere informatie

Python voor Natuur- en Sterrenkundigen Week 2

Python voor Natuur- en Sterrenkundigen Week 2 Python voor Natuur- en Sterrenkundigen Week 2 Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/pmpy2015/ Vorige week range() voor karakters: import string for c in string.lowercase: print

Nadere informatie

Programmeren met Grafische Objecten. Inleiding Programmeren II Hoorcollege 1 prof. dr. van Noord en dr. L.M. Bosveld-de Smet

Programmeren met Grafische Objecten. Inleiding Programmeren II Hoorcollege 1 prof. dr. van Noord en dr. L.M. Bosveld-de Smet Programmeren met Grafische Objecten Inleiding Programmeren II Hoorcollege 1 prof. dr. van Noord en dr. L.M. Bosveld-de Smet Onderwerpen van vandaag Programming Paradigms Imperatief programmeren Object-georiënteerd

Nadere informatie

Geeft de lengte van een object (string, lijst, tupel) terug als integer

Geeft de lengte van een object (string, lijst, tupel) terug als integer Python cheat sheet: Operatoren: De standaard operatoren voor wiskundige bewerkingen (+,-,*,/,**) worden als vanzelfsprekend ondersteld. Voor integers en floating point getallen doen deze functies wat je

Nadere informatie

Stroomschema s maken op papier

Stroomschema s maken op papier 1 Stroomschema s maken op papier Een programma direct maken in Python, gaat vaak wel goed als het een klein programma is. Als het programma groter en moeilijker is, is het lastig om goed te zien welk commando

Nadere informatie

Gebruik van command-line operating systems

Gebruik van command-line operating systems Gebruik van command-line operating systems Mattias Holm & Kristian Rietveld Overzicht - Waarom hier meer over leren? - Wat is een shell? - Hoe werkt een shell? - Pipes en redirectie - Handige utilities

Nadere informatie

Tentamen Programmeren in C (EE1400)

Tentamen Programmeren in C (EE1400) TU Delft Tentamen Programmeren in C (EE1400) 5 april 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code

Nadere informatie

Inhoudsopgave Voorwoord 5 Voordat je begint 6 Wat heb je nodig? 7 De website bij het boek 7 Voor ouders, verzorgers en leraren

Inhoudsopgave Voorwoord 5 Voordat je begint 6 Wat heb je nodig? 7 De website bij het boek 7 Voor ouders, verzorgers en leraren Inhoudsopgave Voorwoord... 5 Voordat je begint... 6 Wat heb je nodig?... 7 De website bij het boek... 7 Voor ouders, verzorgers en leraren... 8 Vervolgboeken over programmeren... 8 1. Aan de slag met Python

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde

Nadere informatie

http://www.liacs.nl/home/kosters/java/

http://www.liacs.nl/home/kosters/java/ sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/

Nadere informatie

Tentamen Programmeren in C (EE1400)

Tentamen Programmeren in C (EE1400) TU Delft Faculteit EWI Tentamen Programmeren in C (EE1400) 28 jan 2011, 9.00 12.00 - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code gevraagd

Nadere informatie

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 ) OI 2010 Finale 12 Mei 2010 Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub VOORNAAM :....................................................... NAAM :..............................................................

Nadere informatie

PYTHON REEKS 2: FUNCTIES. Mathias Polfliet

PYTHON REEKS 2: FUNCTIES. Mathias Polfliet PYTHON REEKS 2: FUNCTIES Mathias Polfliet [email protected] TERUG NAAR PYTHON BASICS VRAAG 1: VOLUME BOL Het volume van een bol met straal r is 4 3 πr3 π Wat is het volume in cm³ van een bol met straal

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 9 december 2015 Foreach String arrays Boomstructuren Interfaces Ingebouwde datastructuren Quiz Foreach Foreach Speciale versie van for om iets voor alle elementen

Nadere informatie

Programmeren in C++ Efficiënte zoekfunctie in een boek

Programmeren in C++ Efficiënte zoekfunctie in een boek Examen Software Ontwikkeling I 2e Bachelor Informatica Faculteit Wetenschappen Academiejaar 2010-2011 21 januari, 2011 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief de hints/opmerkingen)!

Nadere informatie

Waarden persistent (blijvend) opslaan gaat in bestanden (files). Lege tekst: eof

Waarden persistent (blijvend) opslaan gaat in bestanden (files). Lege tekst: eof Programmeren Blok A Persistente opslag van waarden http://www.win.tue.nl/ wstomv/edu/2ip05/ College 4 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering

Nadere informatie

Practicumopgave 3: SAT-solver

Practicumopgave 3: SAT-solver Practicumopgave 3: SAT-solver Modelleren en Programmeren 2015/2016 Deadline: donderdag 7 januari 2016, 23:59 Introductie In het vak Inleiding Logica is onder andere de propositielogica behandeld. Veel

Nadere informatie

Oefententamen 2. Tijd: 2 uur. Maximaal aantal punten: 30. Naam: Studentnummer:

Oefententamen 2. Tijd: 2 uur. Maximaal aantal punten: 30. Naam: Studentnummer: Oefententamen 2 C Naam: Studentnummer: Tijd: 2 uur Maximaal aantal punten: 30 Menselijke compiler (10 punten) 0. (1 punt) Stel, je haalt het tentamen als je tenminste een 5.5 gemiddeld hebt gehaald voor

Nadere informatie

Programmeren met Python

Programmeren met Python Programmeren met Python Deze instructies zijn online te vinden op https://codingkids.nl/python-lessen.html Python is voor kinderen een leuke programmeertaal om mee te beginnen. Het is leuk om te beginnen

Nadere informatie

Informatica: C# WPO 7

Informatica: C# WPO 7 Informatica: C# WPO 7 1. Inhoud 1D-arrays, Lijsten 2. Oefeningen Demo 1: Vul de 1D-array Demo 2: Stringreplace Demo 3: Vul de lijst Demo 4: Debug oplossingen demo s 1, 2 en 3 A: Array reversal A: Gemiddelde

Nadere informatie

Stel dat u 15 tellers nodig heeft. Dat kunt u een array van tellers als volgt declareren:

Stel dat u 15 tellers nodig heeft. Dat kunt u een array van tellers als volgt declareren: V. Arrays A. Wat zijn arrays? Een array is een verzameling van variabelen. Ze hebben allen dezelfde naam en hetzelfde type. Men kan ze van elkaar onderscheiden door een volgnummer, index genoemd. Enkele

Nadere informatie

Arrays. Complexe datastructuren. Waarom arrays. Geen stijlvol programma:

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.

Nadere informatie

Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld

Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag u gebruik maken van: Barnes, Object-Oriented Programming with Java en de Notitie Algoritmiek

Nadere informatie

Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen

Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen dat er zowel typografische als inhoudelijke onvolkomenheden

Nadere informatie

Informatica: C# WPO 11

Informatica: C# WPO 11 Informatica: C# WPO 11 1. Inhoud Pass by reference (ref, out), recursie, code opdelen in verschillende codebestanden 2. Oefeningen Demo 1: Swapfunctie Demo 2: TryParse(int) Demo 3: Recursion Tree Demo

Nadere informatie

algoritmiek - antwoorden

algoritmiek - antwoorden 2016 algoritmiek - antwoorden F. Vonk versie 1 28-8-2016 inhoudsopgave eenvoudige algoritmes... - 3 - complexe algoritmes... - 7 - zoeken (vwo)... - 10 - sorteren (vwo)... - 12 - Dit werk is gelicenseerd

Nadere informatie

Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft

Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Digitale

Nadere informatie

Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, uur

Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, uur Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, 11.00-13.00 uur 1. Deze opgave bestaat uit een aantal deelvragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan

Nadere informatie

[14] Functies. Volg mee via 14_Functies-1.py. We beginnen met een eenvoudig voorbeeldje:

[14] Functies. Volg mee via 14_Functies-1.py. We beginnen met een eenvoudig voorbeeldje: [14] Functies Een goede programmeur doet altijd zijn best om zoveel mogelijk aan hergebruik van code te doen. Je probeert in je programma code te gebruiken die iemand anders heeft gemaakt, of code die

Nadere informatie

Een korte samenvatting van enkele FORTRAN opdrachten

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

NAAM: Programmeren 1 Examen 29/08/2012

NAAM: Programmeren 1 Examen 29/08/2012 Programmeren 29 augustus 202 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet je

Nadere informatie

Les 9: formulier controle met javascript.

Les 9: formulier controle met javascript. Les 9: formulier controle met javascript. Javascript is erg veel gebruikt bij internet toepassingen. In tegenstelling tot PHP, wat een server side scripting is, is java client side scripting. Dwz, niet

Nadere informatie

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin: Java Les 2 Theorie Beslissingen Algemeen Net als in het dagelijks leven worden in software programma s beslissingen genomen, naast het toekennen van waarden aan variabelen zijn beslissingen één van de

Nadere informatie

A Python Crash Course

A Python Crash Course A Python Crash Course Dr. A.A.N. Ridder 12 september 2016 Samenvatting In dit document staan puntsgewijs een aantal kenmerken van de syntaxis van Python 2 (en veranderingen in Python 3) voor de cursus

Nadere informatie

Programmeren. Cursus Python

Programmeren. Cursus Python Programmeren Cursus Python Cursus Python Omschrijving In deze cursus leren de deelnemers te programmeren in de objectgeoriënteerde programmeertaal Python. Python is een taal die vaak wordt gebruikt voor

Nadere informatie

SPOJ oplossingen Gilles Callebaut 7 augustus 2015

SPOJ oplossingen Gilles Callebaut 7 augustus 2015 SPOJ oplossingen 2012-2013 Gilles Callebaut 7 augustus 2015 DISCLAIMER Oefeningen zijn niet altijd correct of optimaal. Gelieve de oefeningen enkel te gebruiken ter ondersteuning. Van kopiëren leer je

Nadere informatie

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, 14.00-15.30, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Dit tentamen bestaat uit twee delen. Deel 1 (14.00-14.45, gesloten

Nadere informatie

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

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

Nadere informatie

Een spoedcursus python

Een spoedcursus python Een spoedcursus python Zoals je in de titel misschien al gezien hebt, geven wij een spoedcursus Python. Door deze cursus leer je alle basics, zoals het rekenen met Python en het gebruik van strings. Het

Nadere informatie

Small Basic Programmeren Text Console 2

Small Basic Programmeren Text Console 2 Oefening 1: Hoogste getal Je leest een reeks positieve gehele getallen in totdat je het getal 0 (nul) invoert. Daarna stopt de invoer en druk je een regel af met het hoogste getal uit de reeks. Voorbeeld:

Nadere informatie

Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur

Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, 11.00-13.00 uur 1. (2 punten per deelvraag) Deze opgave bestaat uit een aantal tekstvragen. Houd het antwoord kort: een

Nadere informatie

Online c++ leren programmeren:

Online c++ leren programmeren: Online c++ leren programmeren: Inhoud 1)Waar vind ik een c++ compiler?... 2 2)Hoe start ik een programma in c++?... 2 3)Een eerste c++ programma:... 3 Een eerste programma schrijven:... 3 Mijn eerste programma

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

Programmeermethoden NA

Programmeermethoden NA Programmeermethoden NA Week 4: Files & Functies Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Vorige week: Controlestructuren # gegeven # 0

Nadere informatie

Informatica: C# WPO 6

Informatica: C# WPO 6 Informatica: C# WPO 6 1. Inhoud Timers, switch cases, combobox 2. Oefeningen Demo 1: Bounce Demo 2: Hex to decimal converter Demo 3: Debug oplossing demo 1 A: Count to 10 A: Biljarttafel A: To reverse

Nadere informatie

Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 22 april 2014

Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 22 april 2014 Programmeren en Wetenschappelijk Rekenen in Python Wi1205AE, 22 april 2014 Inleiding Cursus coördinator e-mail Docent e-mail : Jacco Hoekstra : [email protected] : Ingeborg Goddijn : [email protected]

Nadere informatie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie Leren Programmeren met Visual Basic 6.0 Les 3+4 Hoofdstuk 4 : De Selectie Visual Basic 6.0 1 Basisstructuren (herhaling) Sequentie (HK2) : Alle opdrachten gewoon na mekaar uitvoeren. Hier worden geen keuzes

Nadere informatie

extra oefening algoritmiek - antwoorden

extra oefening algoritmiek - antwoorden extra oefening algoritmiek - antwoorden opgave "Formule 1" Maak een programma dat de gebruiker drie getal A, B en C in laat voeren. De gebruiker zorgt ervoor dat er positieve gehele getallen worden ingevoerd.

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 2 oktober 2015 1 met dank aan Hans Bodlaender en Gerard Tel Priority queue Priority queue ADT insert(q, x): voeg element x toe aan de queue maximum(q):

Nadere informatie

Elementary Data Structures 3

Elementary Data Structures 3 Elementary Data Structures 3 Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 29 september 2014 ODE/FHTBM Elementary Data Structures 3 29 september 2014 1/14 Meer

Nadere informatie

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur

Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur Uitwerking Aanvullend tentamen Imperatief programmeren Woensdag 24 december 2014, 13.30 15.30 uur 1. deze opgave telt voor 30% van het totaal. Schrijf een compleet programma, dat door de gebruiker vanaf

Nadere informatie

Tussentoets Programmeren en genomics, 8CA10, versie A 17 maart 2017, u.

Tussentoets Programmeren en genomics, 8CA10, versie A 17 maart 2017, u. Tussentoets Programmeren en genomics, 8CA10, versie A 17 maart 2017, 15.45-16.45u. Er zijn 2 opgaven. Per opgave is er een bestand (respectievelijk opgave1.py en opgave2.py) beschikbaar waarin je verzocht

Nadere informatie

Informatica: C# WPO 6

Informatica: C# WPO 6 Informatica: C# WPO 6 1. Inhoud Timers, switch cases, combobox 2. Oefeningen Demo 1: Bounce Demo 2: Hex to decimal converter Demo 3: Debug oplossing demo 1 A: Count to 10 A: Biljarttafel A: Azerty to qwerty

Nadere informatie

Zoemzinnen. Algemene info. Functies met een variabel aantal argumenten

Zoemzinnen. Algemene info. Functies met een variabel aantal argumenten Zoemzinnen Functies met een variabel aantal argumenten Bij het definiëren van een functie leg je in principe vast hoeveel argumenten er aan de functie moeten doorgegeven worden. Dit aantal correspondeert

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

Hoofdstuk 7: Werken met arrays

Hoofdstuk 7: Werken met arrays Programmeren in Microsoft Visual Basic 6.0, lessenserie voor het voortgezet onderwijs HAVO/VWO David Lans, Emmauscollege, Marnix Gymnasium Rotterdam, januari 2004 Hoofdstuk 7: Werken met arrays 7.0 Leerdoel

Nadere informatie

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding: Programmeren A Genetisch Programma voor het Partitie Probleem begeleiding: Inleiding Het Partitie Probleem luidt als volgt: Gegeven een verzameling van n positieve integers, vindt twee disjuncte deelverzamelingen

Nadere informatie

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction Informatica Deel II: les 1 Java versus Python Jan Lemeire Informatica deel II februari mei 2014 Parallel Systems: Introduction Arabidopsis (zandraket) Arabidopsis (zandraket) MMIQQA Multimodal Microscopic

Nadere informatie

DE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO

DE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO DE ASTRO PI PROGRAMMEREN DOCENTENHANDLEIDING 1 Deze handleiding is bedoeld om leerlingen te ondersteunen bij de Astro Pi Challenge, waarbij leerlingen een programma voor de Astro Pi-computer in het ISS

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

Programmeerstructuren met App Inventor

Programmeerstructuren met App Inventor Programmeerstructuren met App Inventor Kevin Krul, Universiteit Utrecht Roncalli, Bergen op Zoom Inhoud: Les 1: Introductie tot App Inventor, when statement en variabelen. Les 2: Introductie if-statement

Nadere informatie

Persistentie via bestanden. Bestanden

Persistentie via bestanden. Bestanden programma is transient Persistentie via bestanden Administratieve gegevens zijn verzameld in het file-object: o.a. waar ergens op de disk de data van het bestand te vinden is. invoer van de gebruiker programma

Nadere informatie

DOBBELSTEEN 2.0. Stap-voor-stap instructie

DOBBELSTEEN 2.0. Stap-voor-stap instructie DOBBELSTEEN 2.0 Stap-voor-stap instructie 1. Project Een dobbelsteen met LED-jes en gesproken tekst, aangestuurd door de Raspberry Pi, geprogrammeerd met Python 2.7. 2. Benodigdheden Raspberry Pi (2 model

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