Programmeerimine. 12. loeng

Maat: px
Weergave met pagina beginnen:

Download "Programmeerimine. 12. loeng"

Transcriptie

1 Programmeerimine 12. loeng

2 Tana loengus Sabarekursioon vs. iteratsioon Erinevad rekursiooniskeemid Naiteid: { Hanoi tornide ulesanne { Puu joonistamine { Sierpinski kolmnurk

3 Sabarekursioon Kui k~oik tegevused toimuvad enne rekursiivset valjakutset, nimetatakse rekursiooni sabarekursiooniks. Sabarekursiooni on vaga lihtne teisendada tavaliseks tsukliks (ja ka vastupidi). Rekursiivne faktoriaal def factorial (n): if n == 0: return 1 else: return n factorial (n 1) 3 / 19

4 Sabarekursioon Kui k~oik tegevused toimuvad enne rekursiivset valjakutset, nimetatakse rekursiooni sabarekursiooniks. Sabarekursiooni on vaga lihtne teisendada tavaliseks tsukliks (ja ka vastupidi). Rekursiivne faktoriaal def factorial (n): if n == 0: return 1 else: return n factorial (n 1) 3 / 19

5 Sabarekursioon Kui k~oik tegevused toimuvad enne rekursiivset valjakutset, nimetatakse rekursiooni sabarekursiooniks. Sabarekursiooni on vaga lihtne teisendada tavaliseks tsukliks (ja ka vastupidi). Sabarekursiivne faktoriaal def factorialtailrec (n, f ): if n == 0: return f else: return factorialtailrec(n 1, f n) def factorial (n): return factorialtailrec(n,1) 4 / 19

6 Faktoriaal factorial(5) 5 / 19

7 Faktoriaal factorial(5) factorialtailrec(5, 1) 5 / 19

8 Faktoriaal factorial(5) factorialtailrec(5, 1) factorialtailrec(4, 5) 5 / 19

9 Faktoriaal factorial(5) factorialtailrec(5, 1) factorialtailrec(4, 5) factorialtailrec(3, 20) 5 / 19

10 Faktoriaal factorial(5) factorialtailrec(5, 1) factorialtailrec(4, 5) factorialtailrec(3, 20) factorialtailrec(2, 60) 5 / 19

11 Faktoriaal factorial(5) factorialtailrec(5, 1) factorialtailrec(4, 5) factorialtailrec(3, 20) factorialtailrec(2, 60) factorialtailrec(1, ) 5 / 19

12 Faktoriaal factorial(5) factorialtailrec(5, 1) factorialtailrec(4, 5) factorialtailrec(3, 20) factorialtailrec(2, 60) factorialtailrec(1, ) factorialtailrec(0, ) 5 / 19

13 Faktoriaal factorial(5) factorialtailrec(5, 1) factorialtailrec(4, 5) factorialtailrec(3, 20) factorialtailrec(2, 60) factorialtailrec(1, ) factorialtailrec(0, ) 5 / 19

14 Faktoriaal factorial(5) factorialtailrec(5, 1) factorialtailrec(4, 5) factorialtailrec(3, 20) factorialtailrec(2, 60) factorialtailrec(1, ) factorialtailrec(0, ) 5 / 19

15 Faktoriaal factorial(5) factorialtailrec(5, 1) factorialtailrec(4, 5) factorialtailrec(3, 20) factorialtailrec(2, 60) factorialtailrec(1, ) factorialtailrec(0, ) 5 / 19

16 Faktoriaal factorial(5) factorialtailrec(5, 1) factorialtailrec(4, 5) factorialtailrec(3, 20) factorialtailrec(2, 60) factorialtailrec(1, ) factorialtailrec(0, ) 5 / 19

17 Faktoriaal factorial(5) factorialtailrec(5, 1) factorialtailrec(4, 5) factorialtailrec(3, 20) factorialtailrec(2, 60) factorialtailrec(1, ) factorialtailrec(0, ) 5 / 19

18 Faktoriaal factorial(5) factorialtailrec(5, 1) factorialtailrec(4, 5) factorialtailrec(3, 20) factorialtailrec(2, 60) factorialtailrec(1, ) factorialtailrec(0, ) 5 / 19

19 Faktoriaal factorial(5) factorialtailrec(5, 1) factorialtailrec(4, 5) factorialtailrec(3, 20) factorialtailrec(2, 60) factorialtailrec(1, ) factorialtailrec(0, ) 5 / 19

20 Faktoriaal factorial(5) factorialtailrec(5, 1) factorialtailrec(4, 5) factorialtailrec(3, 20) factorialtailrec(2, 60) factorialtailrec(1, ) factorialtailrec(0, ) 5 / 19

21 Faktoriaal factorial(5) factorialtailrec(5, 1) factorialtailrec(4, 5) factorialtailrec(3, 20) factorialtailrec(2, 60) factorialtailrec(1, ) factorialtailrec(0, ) 5 / 19

22 Sabarekursioon Kui k~oik tegevused toimuvad enne rekursiivset valjakutset, nimetatakse rekursiooni sabarekursiooniks. Sabarekursiooni on vaga lihtne teisendada tavaliseks tsukliks (ja ka vastupidi). Sabarekursiivne faktoriaal def factorialtailrec (n, f ): if n == 0: return f else: return factorialtailrec(n 1, f n) def factorial (n): return factorialtailrec(n,1) 6 / 19

23 Sabarekursioon Kui k~oik tegevused toimuvad enne rekursiivset valjakutset, nimetatakse rekursiooni sabarekursiooniks. Sabarekursiooni on vaga lihtne teisendada tavaliseks tsukliks (ja ka vastupidi). Sabarekursiivne faktoriaal (ver. 2) def factorial (n, f=1): if n == 0: return f else: return factorial(n 1, f n) 6 / 19

24 Sabarekursioon Kui k~oik tegevused toimuvad enne rekursiivset valjakutset, nimetatakse rekursiooni sabarekursiooniks. Sabarekursiooni on vaga lihtne teisendada tavaliseks tsukliks (ja ka vastupidi). Sabarekursiivne faktoriaal (ver. 3) def factorial (n, f=1): if n!= 0: return factorial(n 1, f n) else: return f 6 / 19

25 Sabarekursioon Kui k~oik tegevused toimuvad enne rekursiivset valjakutset, nimetatakse rekursiooni sabarekursiooniks. Sabarekursiooni on vaga lihtne teisendada tavaliseks tsukliks (ja ka vastupidi). Ekvivalentne iteratiivne faktoriaal def factorial (n): f = 1 while n!= 0: f = f n n = n 1 return f 6 / 19

26 Rekursiooniskeemid K~oigis seni vaadeldud naidetes kutsuti funktsiooni kehas funktsiooni ennast valja ulimalt uks kord. Sellist rekursiooni nimetatakse lineaarseks, kuna rekursiivsete valjakutsete kontrollvoog on lineaarne ahel. Keerukamad rekursiooniskeemid kasutavad erinevaid rekursiivse valjakutse mustreid: { Puurekursiooni korral kutsutakse funktsiooni rekursiivselt "samal tasemel" valja kaks v~oi enam korda. { Vastastikuse rekursiooni korral kutsub uks funktsioon teist ja teine esimest. {... 7 / 19

27 Puurekursioon Fibonacci arvud def bonacci(n): if n == 0: return 0 elif n == 1: return 1 else: return bonacci(n 1) + bonacci(n 2) Naide print(bonacci(2)) # Trukib: 1 print(bonacci(3)) # Trukib: 2 print(bonacci(4)) # Trukib: 3 print(bonacci(5)) # Trukib 5 print(bonacci(6)) # Trukib 8 8 / 19

28 Puurekursioon fibo(4) fibo(3) fibo(2) fibo(2) fibo(1) fibo(1) fibo(0) fibo(1) fibo(0) 9 / 19

29 Arvu paarsuse leidmine Vastastikune rekursioon def even(n): if n == 0: return True else: return odd(n 1) def odd(n): if n == 0: return False else: return even(n 1) Naide print(even(2)) print(even(3)) print(odd(2)) print(odd(3)) # Trukib: True # Trukib: False # Trukib: False # Trukib: True 10 / 19

30 Ackermanni funktsioon Sisestatud rekursioon def ackermann(m, n): if m == 0: return n+1 elif n == 0: return ackermann(m 1, 1) else: return ackermann(m 1, ackermann(m, n 1)) Naide print(ackermann(3,4)) # Trukib: 125 print(ackermann(3,5)) # Trukib: 253 print(ackermann(3,6)) # Trukib: 509 print(ackermann(3,7)) # Trukib:... print(ackermann(4,1)) # Trukib: / 19

31 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

32 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

33 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

34 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

35 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

36 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

37 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

38 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

39 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

40 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

41 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

42 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

43 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

44 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

45 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

46 Naide: Hanoi tornid A B C Algseis: Tornis A on n erineva suurusega ketast. Kettad on suuruse jarjekorras (vaiksem k~oige peal). Eesmark: Viia k~oik kettad tornist A torni B. Kaigud: Mingi torni ulemise ketta v~oib t~osta teise torni. Suuremat ketast ei tohi vaiksema peale panna. 12 / 19

47 Naide: Hanoi tornid A B C A B C teisaldada n ketast A B C A B C teisalda n 1 ketast A B C t~osta ketas A B C teisalda n 1 ketast 13 / 19

48 Lahendprogramm Pythonis Naide: Hanoi tornid def movetower(n,src,tgt,aux): if n == 1: movedisk(src,tgt) else: movetower(n 1,src,aux,tgt) movedisk(src,tgt) movetower(n 1,aux,tgt,src) def movedisk(src,tgt): print(src, " >", tgt) n = int(input(' Sisesta ketaste arv: ' )) movetower(n,'a','b','c') 14 / 19

49 Naide: puu joonistamine 15 / 19

50 Naide: puu joonistamine import turtle def tree(length, level ): if level <= 0: return turtle.forward(length) turtle. left (45) tree (0.6 length, level 1) turtle. right(90) tree (0.6 length, level 1) turtle. left (45) turtle.backward(length) return turtle. left (90) tree (100,6) 16 / 19

51 Naide: Sierpinski kolmnurk 17 / 19

52 Naide: Sierpinski kolmnurk def sierpinski (length, level ): if level > 1: turtle.dot() if level == 0: turtle.stamp() else: turtle.forward(length) sierpinski (length/2, level 1) turtle.backward(length) turtle. left () turtle.forward(length) sierpinski (length/2, level 1) turtle.backward(length) turtle. left () turtle.forward(length) sierpinski (length/2, level 1) turtle.backward(length) turtle. left () 18 / 19

53 Suur tanu osalemast ja kohtumiseni!

Programmeerimine. 15. loeng

Programmeerimine. 15. loeng Programmeerimine 15. loeng Tana loengus Sabarekursioon vs. iteratsioon Erinevad rekursiooniskeemid Naiteid: { Hanoi tornide ulesanne { Puu joonistamine { Sierpinski kolmnurk Sabarekursioon Kui k~oik tegevused

Nadere informatie

Programmeerimine. 14. loeng

Programmeerimine. 14. loeng Programmeerimine 4. loeng Tana loengus Rekursiooni m~oiste Rekursiooni baas ja samm Rekursiivsete funktsioonide naiteid Rekursioon Rekursioon on funktsioonide deneerimise meetod, kus deneeritav funktsioon

Nadere informatie

Programmeerimine. 8. loeng

Programmeerimine. 8. loeng Programmeerimine 8. loeng Tana loengus Tekstifailist lugemine Eeldeneeritud operatsioonid jarjenditel Jarjendi koostamine elementhaaval Tekstifailist lugemine 3 / 20 Tekstifailist lugemine Faili valjatrukk

Nadere informatie

Programmeerimine. 7. loeng 1 / 31

Programmeerimine. 7. loeng 1 / 31 Programmeerimine 7. loeng 1 / 31 Tana loengus Listi m~oiste Jarjendid ja massiivid Listid, ennikud ja s~oned Massiivide tootlemine Jadaiterator ja maaratud tsuklid Eeldeneeritud operatsioonid jarjenditel

Nadere informatie

Programmeerimine. 6.loeng 1 / 1

Programmeerimine. 6.loeng 1 / 1 Programmeerimine 6.loeng 1 / 1 Tana loengus Algoritmidest Plokkskeemidest 2 / 1 Algoritm I 9. sajandi araabia matemaatiku Muhammad ibn M^us^a al-khw^arizm^ huudnimi tema sunnilinna tolleaegse nime jargi

Nadere informatie

Programmeerimine. 7. loeng

Programmeerimine. 7. loeng Programmeerimine 7. loeng Tana loengus Jadaiterator ja maaratud tsuklid Jarjendid ja massiivid Listid, ennikud ja s~oned Massiivide tootlemine Eeldeneeritud operatsioonid jarjenditel Jadaiteraator Pythonis

Nadere informatie

Measurement form LymphScanner: arm 1 Meetformulier LymphScanner: gehele arm 1

Measurement form LymphScanner: arm 1 Meetformulier LymphScanner: gehele arm 1 Measurement form LymphScanner: arm 1 Meetformulier LymphScanner: gehele arm 1 Patient name / Patiëntnaam: Date / Datum: Date / Datum: length / lengte Left Right length / lengte length / lengte Left Right

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

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

Project Embedded Linux Domaza. Elektronica-ICT. Dimitri Kozakiewiez Jonas Govaerts. Academiejaar 2014-2015

Project Embedded Linux Domaza. Elektronica-ICT. Dimitri Kozakiewiez Jonas Govaerts. Academiejaar 2014-2015 Project Embedded Linux Domaza Elektronica-ICT Dimitri Kozakiewiez Jonas Govaerts Academiejaar 2014-2015 Campus Geel, Kleinhoefstraat 4, BE-2440 Geel 5 2 INHOUDSTAFEL INHOUDSTAFEL... 2 1 DOMAZA... 3 1.1

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

64 voor de BBC micro:bit

64 voor de BBC micro:bit Bordindeling: De: GAME 64 is een programmeerbare gamepad voor de BBC micro:bit. Het beschikt over 64 adresseerbare LED's in een 8 x 8 display, een piezo-zoemer voor audiofeedback, een vibratiemotor 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

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

Tentamen Programmeren in C (EE1400)

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

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

Programmeermethoden. Recursie. week 11: november kosterswa/pm/

Programmeermethoden. Recursie. week 11: november kosterswa/pm/ Programmeermethoden Recursie week 11: 21 25 november 2016 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Derde programmeeropgave 1 Het spel Gomoku programmeren we als volgt: week 1: pointerpracticum,

Nadere informatie

Tree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011

Tree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011 15 november 2011 Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree

Nadere informatie

Programmeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/

Programmeermethoden. Recursie. Walter Kosters. week 11: november kosterswa/pm/ Programmeermethoden Recursie Walter Kosters week 11: 20 24 november 2017 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Vierde programmeeropgave 1 De Grote getallen programmeren we als volgt: week 1: pointerpracticum,

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

Java Programma structuur

Java Programma structuur Java Programma structuur public class Bla // div. statements public static void main(string argv[]) // meer spul Voortgezet Prog. voor KI, week 4:11 november 2002 1 Lijsten Voorbeelden 2, 3, 5, 7, 13 Jan,

Nadere informatie

Seven segments of Pi

Seven segments of Pi Seven segments of Pi Seven segments of pi Aan de slag met seven segments of Pi! Seven segments is een klein add-on boardje voor de raspberry pi. Deze add-on bestaat uit een display en een knopje. Meer

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

Programmeerimine. 2. loeng

Programmeerimine. 2. loeng Programmeerimine 2. loeng Tana loengus Nimed Muutujad Baastuubid Litaraalkonstandid Omistamine Aritmeetilised avaldised Taisarvude esitamine arvutis Ujukomaarvude esitamine arvutis Muutujad Imperatiivses

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 9 oktober 2015 1 met dank aan Hans Bodlaender en Gerard Tel Zoekbomen Binaire boom Bestaat uit knopen Beginknoop is de wortel (root) Elke knoop heeft

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

Tree traversal. Ferd van Odenhoven. 15 november Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering. Doorlopen van bomen

Tree traversal. Ferd van Odenhoven. 15 november Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering. Doorlopen van bomen Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree traversal 15 november

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 25 november 2015 Herhaling Meer herhaling Recursie Mutuele recursie Objecten Herhaling Fibonacci class Fibonacci { public static void fibonaccitot(int bovengrens)

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

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

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

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

Semantiek (2IT40) Jos Baeten. HG 7.19 tel.: Hoorcollege 3 (12 april 2007)

Semantiek (2IT40) Jos Baeten.  HG 7.19 tel.: Hoorcollege 3 (12 april 2007) Jos Baeten josb@wintuenl http://wwwwintuenl/~josb/ HG 719 tel: 040 247 5155 Hoorcollege 3 (12 april 2007) Voorbeeld [Bewijstechniek 2 niet altijd succesvol] Executie van commands is deterministisch: c

Nadere informatie

Vaak wil je een code schrijven, waar je verschillende acties uitvoeren voor verschillende beslissingen. Je kan daarbij keuzestructuren gebruiken.

Vaak wil je een code schrijven, waar je verschillende acties uitvoeren voor verschillende beslissingen. Je kan daarbij keuzestructuren gebruiken. PHP Les 5 : Interessante links: o http://www.dbzweb.be/moermant/ o http://www.ivobrugge.be/cursusweb/html4/formulieren.asp Vaak wil je een code schrijven, waar je verschillende acties uitvoeren voor verschillende

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

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

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord en Leonie Bosveld December 19, 2016 Vandaag Naar aanleiding van de opdrachten Zelle hoofdstuk 11 Boolean variabelen: niet checken met == Fout: if clicked == True

Nadere informatie

Overerving & Polymorfisme

Overerving & Polymorfisme Overerving & Polymorfisme Overerving Sommige klassen zijn speciaal geval van andere klasse Docent is een speciaal geval van werknemer, dwz. elke docent is ook werknemer Functionaliteit van docent = functionaliteit

Nadere informatie

Derde college algoritmiek. 23 februari Complexiteit Toestand-actie-ruimte

Derde college algoritmiek. 23 februari Complexiteit Toestand-actie-ruimte Algoritmiek 2018/Complexiteit Derde college algoritmiek 2 februari 2018 Complexiteit Toestand-actie-ruimte 1 Algoritmiek 2018/Complexiteit Tijdcomplexiteit Complexiteit (= tijdcomplexiteit) van een algoritme:

Nadere informatie

Coderingen per project

Coderingen per project 198 ALLES OP EEN RIJ Coderingen per project Hier vind je de complete Python-codering voor elk project in dit boek, behalve voor de hacks en tweaks. Werken je projecten niet goed, controleer je scripts

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

Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search

Vierde college algoritmiek. 2 maart Toestand-actie-ruimte Exhaustive Search Algoritmiek 2018/Toestand-actie-ruimte Vierde college algoritmiek 2 maart 2018 Toestand-actie-ruimte Exhaustive Search 1 Algoritmiek 2018/Toestand-actie-ruimte Kannen Voorbeeld 4: Kannenprobleem We hebben

Nadere informatie

Vierde college algoritmiek. 23/24 februari Complexiteit en Brute Force

Vierde college algoritmiek. 23/24 februari Complexiteit en Brute Force Algoritmiek 2017/Complexiteit Vierde college algoritmiek 23/24 februari 2017 Complexiteit en Brute Force 1 Algoritmiek 2017/Complexiteit Tijdcomplexiteit Complexiteit (= tijdcomplexiteit) van een algoritme:

Nadere informatie

Achtste college algoritmiek. 12 april Verdeel en Heers. Dynamisch Programmeren

Achtste college algoritmiek. 12 april Verdeel en Heers. Dynamisch Programmeren Achtste college algoritmiek 12 april 2019 Verdeel en Heers Dynamisch Programmeren 1 Uit college 7: Partitie Partitie Partitie(A[l r]) :: // partitioneert een (sub)array, met A[l] als spil (pivot) p :=

Nadere informatie

(On)Doenlijke problemen

(On)Doenlijke problemen Fundamentele Informatica In3 005 Deel 2 College 1 Cees Witteveen Parallelle en Gedistribueerde Systemen Faculteit Informatie Technologie en Systemen Overzicht Inleiding - Relatie Deel 1 en Deel 2 - Doenlijke

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

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

Achtste college algoritmiek. 8 april Dynamisch Programmeren

Achtste college algoritmiek. 8 april Dynamisch Programmeren Achtste college algoritmiek 8 april 2016 Dynamisch Programmeren 1 Werkcollege-opgave Dutch Flag Problem Gegeven een array gevuld met R, W, en B. Reorganiseer dit array zo dat van links naar rechts eerst

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

DIA Opdracht 4 (Arjan Dekker)

DIA Opdracht 4 (Arjan Dekker) DIA Opdracht 4 (Arjan Dekker) Place klasse: #Deze klasse wordt gebruikt in zowel de client als de server #Daarom deze klasse in apart bestand gezet, die geinclude wordt #door zowel de server als client

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

Derde college algoritmiek. 22 februari Complexiteit Toestand-actie-ruimte

Derde college algoritmiek. 22 februari Complexiteit Toestand-actie-ruimte Algoritmiek 2019/Complexiteit Derde college algoritmiek 22 februari 2019 Complexiteit Toestand-actie-ruimte 1 Algoritmiek 2019/Complexiteit Opgave 1 bomenpracticum Niet de bedoeling: globale (member-)variabele

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

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax, Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt

Nadere informatie

REEKS I. Zaterdag 6 november 2010, 9u

REEKS I. Zaterdag 6 november 2010, 9u TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2010-2011 REEKS I Zaterdag 6 november 2010, 9u NAAM :... VRAAG 1: MINSTENS [5 PUNTEN] Schrijf een methode minstens(), met twee

Nadere informatie

Derde college algoritmiek. 16/17 februari Toestand-actie-ruimte

Derde college algoritmiek. 16/17 februari Toestand-actie-ruimte Derde college algoritmiek 16/17 februari 2017 Toestand-actie-ruimte 1 Toestand-actie-ruimte Probleem Toestand-actie-ruimte Een toestand-actie-ruimte (toestand-actie-diagram, state transition diagram, toestandsruimte,

Nadere informatie

UtlGefOpen Documentation

UtlGefOpen Documentation UtlGefOpen Documentation Release 1 waterbug February 01, 2016 Contents 1 Downloads 3 2 Inhoudsopgave 5 2.1 Gebruik Gef2Open.py.......................................... 5 2.2 Functies..................................................

Nadere informatie

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

Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 8 mei 2014 Programmeren en Wetenschappelijk Rekenen in Python Wi1205AE, 8 mei 2014 Bijeenkomst 6 Onderwerp Tips met betrekking tot debuggen Animaties, simulaties en spellen Pygame: de basis 8 mei 2014 1 Algemene

Nadere informatie

Algoritmen, Datastructuren en Complexiteit ( en ) Uitwerkingen

Algoritmen, Datastructuren en Complexiteit ( en ) Uitwerkingen Universiteit Twente 2009-2010/2 Afdeling Informatica, Faculteit EWI Tentamen dinsdag 19 januari 2010, 8.45-12.15 Algoritmen, Datastructuren en Complexiteit (214020 en 214025) Uitwerkingen Bij dit tentamen

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 : J.M.Hoekstra@TUDelft.nl : Ingeborg Goddijn : I.A.M.Goddijn@TUDelft.nl

Nadere informatie

8C080 deel BioModeling en bioinformatica

8C080 deel BioModeling en bioinformatica Vijf algemene opmerkingen Tentamen Algoritmen voor BIOMIM, 8C080, 13 maart 2009, 09.00-12.00u. Het tentamen bestaat uit 2 delen, een deel van BioModeling & bioinformatics en een deel van BioMedische Beeldanalyse.

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

Datastructuren en Algoritmen

Datastructuren en Algoritmen Datastructuren en Algoritmen Tentamen Vrijdag 6 november 2015 13.30-16.30 Toelichting Bij dit tentamen mag je gebruik maken van een spiekbriefje van maximaal 2 kantjes. Verder mogen er geen hulpmiddelen

Nadere informatie

Recursie. public static int faculteit( int n ){ // Deze functie berekent n! // pre: n = N en n >= 0 // post: faculteit = N!

Recursie. public static int faculteit( int n ){ // Deze functie berekent n! // pre: n = N en n >= 0 // post: faculteit = N! Recursie Faculteit: in de wiskunde: n! is gedefiniëerd als: 0! = 1 n! = n (n 1)! in Java: public static int faculteit( int n ) // Deze functie berekent n! // pre: n = N en n >= 0 // post: faculteit = N!

Nadere informatie

Practicumopgave Mehmet Oktener

Practicumopgave Mehmet Oktener Practicumopgave Mehmet Oktener Alban Ponse Kruislaan 403, kr. 2.45 tel. 5257592 e-mail: alban@science.uva.nl Algemeen. In deze serie opgaven komt de specificatie van data typen aan de orde. Je wordt geacht

Nadere 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

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

Derde college algoritmiek. 18 februari Toestand-actie-ruimte

Derde college algoritmiek. 18 februari Toestand-actie-ruimte Derde college algoritmiek 18 februari 2016 Toestand-actie-ruimte 1 BZboom: zoeken Na het bomenpracticum 60 20 80 10 40 70 100 1 15 30 75 5 25 35 2 BZboom: verwijderen 60 20 80 10 40 70 100 1 15 30 75 5

Nadere informatie

Ruwe uitwerkingen proeftentamen Bioinformatica deel B(8C078), 12 januari 2007, u.

Ruwe uitwerkingen proeftentamen Bioinformatica deel B(8C078), 12 januari 2007, u. Ruwe uitwerkingen proeftentamen Bioinformatica deel B(8C078), 12 januari 2007, 13.30-15.00u. Drie algemene opmerkingen Het tentamen bestaat uit 3 opgaven. Onderaan de pagina staat voor iedere opgave het

Nadere informatie

Ingebouwde klassen & methodes

Ingebouwde klassen & methodes Ingebouwde klassen & methodes Statische methodes Methodes die bij een klasse horen ipv. bij een object public class Docent { public static Docent departementshoofd() { return new Docent("Jan Ivens"); private

Nadere informatie

Derde college complexiteit. 7 februari Zoeken

Derde college complexiteit. 7 februari Zoeken College 3 Derde college complexiteit 7 februari 2017 Recurrente Betrekkingen Zoeken 1 Recurrente betrekkingen -1- Rij van Fibonacci: 0,1,1,2,3,5,8,13,21,... Vanaf het derde element: som van de voorgaande

Nadere informatie

Programmeermethoden NA. Week 4: Files & Functies

Programmeermethoden NA. Week 4: Files & Functies Programmeermethoden NA Week 4: Files & Functies Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Vorige week: Controlestructuren # gegeven # 0

Nadere informatie

Derde college algoritmiek. 23 februari Toestand-actie-ruimte

Derde college algoritmiek. 23 februari Toestand-actie-ruimte College 3 Derde college algoritmiek 23 februari 2012 Toestand-actie-ruimte 1 BZboom: verwijderen 60 20 80 10 40 70 100 1 15 30 75 5 25 35 100 verwijderen = 60 20 80 10 40 70 1 15 30 75 5 25 35 verwijderen

Nadere informatie

Handleiding: Gebruikersinterface met Python

Handleiding: Gebruikersinterface met Python Handleiding: Gebruikersinterface met Python Inhoudsopgave Gebruikershandleiding PyGame... 2 Algemene mal voor een PyGame venster... 2 Scherm coördinaten... 2 Algemene mal voor een PyGame spel... 2 Achtergrond

Nadere informatie

Vijfde college algoritmiek. 2/3 maart Exhaustive search

Vijfde college algoritmiek. 2/3 maart Exhaustive search Vijfde college algoritmiek 2/3 maart 2017 Exhaustive search 1 Voor- en nadelen Brute force: Voordelen: - algemeen toepasbaar - eenvoudig - levert voor een aantal belangrijke problemen (zoeken, patroonherkenning)

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

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

Tentamen Objectgeorienteerd Programmeren

Tentamen Objectgeorienteerd Programmeren Tentamen Objectgeorienteerd Programmeren 5082IMOP6Y maandag 16 november 2015 13:00 15:00 Schrijf je naam en studentnummer op de regel hieronder. Sla deze pagina niet om tot de surveillant vertelt dat het

Nadere informatie

Voorbeeld: Simulatie van bewegende deeltjes

Voorbeeld: Simulatie van bewegende deeltjes Voorbeeld: Simulatie van bewegende deeltjes Simulatie - object Ruimte - objecten Deeltje - objecten Button - objecten Simulatie Samenhang van objecten sim geërfd van Form stap zelf gedeclareerd auto r1

Nadere informatie

Om te kijken of x, y, z samen een driehoek specificeren hoeven we alleen nog maar de driehoeksongelijkheid te controleren: x, y, z moeten voldoen

Om te kijken of x, y, z samen een driehoek specificeren hoeven we alleen nog maar de driehoeksongelijkheid te controleren: x, y, z moeten voldoen Feedback Software Testing, Opdrachten Week 1 Driehoek-test Deze opdracht is in het algemeen zeer goed uitgevoerd. Algemeen valt in vergelijking met vorig jaar op dat de ingeleverde oplossingen veel minder

Nadere informatie

String Matching. Algoritmiek

String Matching. Algoritmiek String Matching Algoritmiek String Matching Gegeven string (haystack): aabaabbabaaba zoek patroon abba (needle) 4 algoritmen: Naïef Rabin-Karp Eindige Automaat Knuth-Morris-Pratt 2 String Matching (formeel)

Nadere informatie

[P5] Project: Bellenschieter

[P5] Project: Bellenschieter [P5] Project: Bellenschieter Vereiste voorkennis: fiches [7] [8] [9] [11] [12] [13] [14] [18] (dit programma is sterk geïnspireerd door het boek Programmeren voor kinderen van Carol Vorderman) Opdracht

Nadere informatie

HOE%LAAT%KOMT%MIJN%TRAM?-

HOE%LAAT%KOMT%MIJN%TRAM?- Profielwerkstuk Opensource,opendata&Hoelaatkomtmijntram? SvenBoor&ArjenKremers GymnasiumNovum OPEN%SOURCE,%OPEN%DATA%& HOE%LAAT%KOMT%MIJN%TRAM? SvenBoor&ArjenKremers GymnasiumNovum 12maart2013 1 Profielwerkstuk

Nadere informatie

Hoofdstuk 3. Week 5: Sorteren. 3.1 Inleiding

Hoofdstuk 3. Week 5: Sorteren. 3.1 Inleiding Hoofdstuk 3 Week 5: Sorteren 3.1 Inleiding Zoals al bleek in college 1 kunnen zoekalgoritmen veel sneller worden uitgevoerd, indien we weten dat de elementen in de lijst, waarin wordt gezocht, geordend

Nadere informatie

Kwis (3) class X { public void a() { System.out.println("x"); public static void main(string[] args) { X x = new X();

Kwis (3) class X { public void a() { System.out.println(x); public static void main(string[] args) { X x = new X(); Kwis (3) class X { public void a() { System.out.println("x"); class Y extends X { public void a() { System.out.println("y"); class Z extends Y { public void a() { System.out.println("z"); public static

Nadere informatie

Computationale Intelligentie Dirk Thierens

Computationale Intelligentie Dirk Thierens Computationale Intelligentie Dirk Thierens Organisatie Onderwijsvormen: Docent: Topic: Collegemateriaal: Boek: Beoordeling: hoorcollege, practicum, werkcollege Dirk Thierens Deel : Zoekalgoritmen Toets

Nadere informatie

Uitwerking tentamen Algoritmiek 9 juni :00 17:00

Uitwerking tentamen Algoritmiek 9 juni :00 17:00 Uitwerking tentamen Algoritmiek 9 juni 2015 14:00 17:00 1. Clobber a. Toestanden: m x n bord met in elk hokje een O, een X of een -. Hierbij is het aantal O gelijk aan het aantal X of er is hooguit één

Nadere informatie

Pythoncursus. week 2. cs.ru.nl/pythoncursus

Pythoncursus. week 2. cs.ru.nl/pythoncursus Pythoncursus week 2 Algoritmes Een algoritme is een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd doel leiden. - Wikipedia Een probleem stapsgewijs oplossen While-loops

Nadere informatie

Datastructuren en algoritmen voor CKI

Datastructuren en algoritmen voor CKI Datastructuren en algoritmen voor CKI Jeroen Bransen 1 14 oktober 2015 1 met dank aan Hans Bodlaender en Gerard Tel Willekeurig gebouwde zoekbomen Willekeurig gebouwde zoekbomen Hoogte van zoekboom met

Nadere informatie

Minimum Opspannende Bomen. Algoritmiek

Minimum Opspannende Bomen. Algoritmiek Minimum Opspannende Bomen Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee greedy algoritmen + tijd en datastructuren: Het algoritme van

Nadere informatie

extra oefeningen - antwoorden

extra oefeningen - antwoorden extra oefeningen - antwoorden inkomstenbelasting var salaris = Number(prompt("Voer een salaris in hele Bibra in.")); var rest = salaris; // Houd steeds het rest salaris bij. var belasting = 0; // Houd

Nadere informatie

TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR

TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR TEST INFORMATICA 1STE BACHELOR IN DE INGENIEURSWETENSCHAPPEN - ACADEMIEJAAR 2011-2012 Zaterdag 5 november 2011, 9u30 NAAM :... VRAAG 1: EVEN VEEL [5 PUNTEN] Schrijf een methode evenveel(), met twee argumenten,

Nadere informatie

Objectgericht programmeren 1.

Objectgericht programmeren 1. Objectgericht programmeren 1 joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost/dn Objectgericht ontwerpen 35% Objectgericht ontwerpen 65% OP1 Informatiesystemen 50% Databanken 50% OP1 Evaluatie

Nadere informatie

8C080 deel BioModeling en bioinformatica

8C080 deel BioModeling en bioinformatica Vijf algemene opmerkingen Tentamen Algoritmen voor BIOMIM, 8C080, 22 april 2009,14.00-17.00u. Het tentamen bestaat uit 2 delen, een deel van BioModeling & bioinformatics en een deel van BioMedische Beeldanalyse.

Nadere informatie