{ specificatie (contract) en toelichting }
|
|
- Stefan ter Linde
- 6 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Programmeren Blok A Drie aspecten van routines wstomv/edu/2ip05/ College 5 Kees Hemerik Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering & Technology Opmerkingen aan T.Verhoeff@TUE.NL Specificeren van deelproblemen: verdeel Maken van deeloplossingen: en Gebruiken van deeloplossingen: heers Deze week: Specificaties (contracten) lezen om routines te maken c 2007, T. TUE.NL 1 Programmeren Blok A: College 5 c 2007, T. TUE.NL 2 Programmeren Blok A: College 5 Contract: zorg en nut Contract Preconditie Postconditie Gebruiker zorg nut Partij Maker nut zorg Gebruiker zorgt dat preconditie geldt. Maker benut deze preconditie en zorgt dat postconditie geldt. Gebruiker benut deze postconditie. c 2007, T. TUE.NL 3 Programmeren Blok A: College 5 Pascal programma gezien als routine program prognaam ; blok. waarbij blok staat voor { specificatie (contract) en toelichting } definities en iabelen lijst opdrachten c 2007, T. TUE.NL 4 Programmeren Blok A: College 5
2 Syntax van routine-definities Voorbeeld functie-definitie (1) function funcnaam parameterlijst : typenaam ; blok ; function Afstand ( const x, y : Real ): Real; formele parameters waarbij blok bevat Result := formule { pre: True ret: afstand van (x, y) tot oorsprong } procedure procnaam parameterlijst ; blok ; Het blok heet ook body of implementatie van de routine Result := sqrt ( sqr(x) + sqr(y) ) ; { Afstand } c 2007, T. TUE.NL 5 Programmeren Blok A: College 5 c 2007, T. TUE.NL 6 Programmeren Blok A: College 5 Voorbeeld functie-definitie (2) Voorbeeld procedure-definitie (1) function Max ( const a, b: Integer ): Integer; { pre: True ret: maximum van a en b } if a > b then Result := a else Result := b ; { Max } procedure WachtOpEnter; { pre: True post: prompt geschreven, overgang op nieuwe regel gelezen } write ( Tik op ENTER om door te gaan: ) ; readln ; { WachtOpEnter } c 2007, T. TUE.NL 7 Programmeren Blok A: College 5 c 2007, T. TUE.NL 8 Programmeren Blok A: College 5
3 Voorbeeld procedure-definitie (2) Voorbeelden van routine-aanroepen procedure BepaalMax ( m: Integer; const a, b: Integer ); { pre: True post: m = maximum van a en b } if a > b then m := a else m := b ; { BepaalMax } d: Real; { } h, i, j, k, m: Integer; { } actuele parameters of argumenten d := Afstand ( 3, h ) ; m := Max ( i+j, Max(k, 100) ) ; WachtOpEnter ; BepaalMax ( h, k, 100 ) ; BepaalMax ( m, i+j, h ) c 2007, T. TUE.NL 9 Programmeren Blok A: College 5 c 2007, T. TUE.NL 10 Programmeren Blok A: College 5 Semantiek van procedures: correctheid van implementatie procedure p ( const c: T ; x: T ; a: T ); { pre: U post: V } body Lokale iabelen (binnen routine) procedure Verwissel ( x, y: Integer ); { pre: Zij x = X en y = Y post: x = Y en y = X } met U, V predikaten over toestandruimte uitgebreid met parameters Als preconditie U vóór body geldt, dan geldt erna postconditie V : { U } body Dit is los van aanroep te controleren { V } Vergelijk met procedure-aanroep c 2007, T. TUE.NL 11 Programmeren Blok A: College 5 h: Integer; lokale iabele, beperkt tot Verwissel { y = Y en x = X } h := x { y = Y en h = X } ; x := y { x = Y en h = X } ; y := h { x = Y en y = X } ; { Verwissel } c 2007, T. TUE.NL 12 Programmeren Blok A: College 5
4 Werking van procedures: dubbele substitutie Dubbele substitutie bij aanroep Verwissel(v, w) procedure p ( const c: T ; x: T ; a: T ); l: T ; S ; Aanroep p ( D, v, E ) is te vervangen door: Aanroep Verwissel ( v, w ) is te vervangen door h : Integer; { h is een verse naam } { introduceer verse iabelen a, l: T } a := E value parameter = geïnitialiseerde lokale iabele ; S verkregen uit S door c, x te vervangen door D, v { elimineer iabelen a, l: T } h := v ; v := w body waarin x, y is vervangen door v, w ; w := h c 2007, T. TUE.NL 13 Programmeren Blok A: College 5 c 2007, T. TUE.NL 14 Programmeren Blok A: College 5 Specificatie speelt centrale rol contract aanroep implementatie Relateer aanroep aan contract en relateer implementatie aan contract Relateer NOOIT aanroep en implementatie direct aan elkaar Dan is er geen sprake van verdelen Dit is te complex en leidt tot fouten en dus niet tot heersen 1 program Dobbelen3; Dobbelen (3): Aanhef en definities 2 { (c) 2001, Tom Verhoeff, Versie 3 } 3 { Lees 5 worpen en bepaal uitslag (werper van unieke maximum) } 4 5 const 6 NSpelers = 5; { aantal spelers } 7 MaxWaarde = 12; { maximale waarde van een worp } 8 9 type 10 Speler = 1.. NSpelers; { de verzameling spelers } 11 Waarde = 1.. MaxWaarde; { de verzameling worpwaarden } 12 WorpLijst = array [ Speler ] of Waarde; { worpen van een ronde c 2007, T. TUE.NL 15 Programmeren Blok A: College 5 c 2007, T. TUE.NL 16 Programmeren Blok A: College 5
5 Dobbelen (3): Worpen inlezen 1 procedure LeesIn ( wl: WorpLijst ); 2 { pre: True 3 post: Worpen ingelezen in wl[1..nspelers] } 4 5 s: Speler; { doorloopt wl } 6 7 write ( Geef de, NSpelers, worpen: ) 8 9 ; for s := 1 to NSpelers do 10 read ( wl [ s ] ) 11 { for s } ; readln 14 ; { LeesIn } c 2007, T. TUE.NL 17 Programmeren Blok A: College 5 Dobbelen (3): Bepaal hoogste worp 1 procedure BepaalMaxWorp ( wl: WorpLijst; m: Waarde ); 2 { pre: True 3 post: m = maximum van wl[1..nspelers] } 4 5 s: Speler; { doorloopt wl } 6 7 m := wl [ 1 ] 8 9 ; for s := 2 to NSpelers do 10 if wl [ s ] > m then 11 m := wl [ s ] { for s } ; { BepaalMaxWorp } c 2007, T. TUE.NL 18 Programmeren Blok A: College 5 Dobbelen (3): Bepaal aantal keer dat worp voorkomt 1 procedure BepaalAantal ( wl: WorpLijst; w: Waarde; 2 a: Integer ); 3 { pre: True 4 post: a = aantal keer dat w voorkomt in wl } 5 6 s: Speler; { doorloopt wl } 7 8 a := ; for s := 1 to NSpelers do 11 a := a + ord ( wl[s] = w ) 12 { for s } ; { BepaalAantal } c 2007, T. TUE.NL 19 Programmeren Blok A: College 5 Dobbelen (3): Bepaal wie worp deed 1 procedure BepaalWerper ( wl: WorpLijst; w: Waarde; 2 r: Speler ); 3 { pre: w komt voor in wl 4 post: wl [ r ] = w } 5 6 s: Speler; { doorloopt wl } 7 8 r := ; while wl [ r ] <> w do 11 r := r { while } ; { BepaalWerper } c 2007, T. TUE.NL 20 Programmeren Blok A: College 5
6 Dobbelen (3): Toestandsruimte Dobbelen (3): Toestandsveranderingen 1 2 worp: WorpLijst; 3 { worp[i] = worp van speler i } 4 max: Waarde; 5 { maximum van worp[1..nspelers] } 6 telmax: Integer; 7 { aantal keer dat max voorkomt in worp[1..nspelers] } 8 winnaar: Speler; 9 { eventuele winnaar } 1 2 LeesIn ( worp ) 3 ; BepaalMaxWorp ( worp, max ) 4 ; BepaalAantal ( worp, max, telmax ) 5 ; if telmax = 1 then 6 BepaalWerper ( worp, max, winnaar ) 7 ; writeln ( Speler, winnaar, wint ) 8 9 else 10 writeln ( Geen winnaar ) { de uitslag is afgedrukt } 13. c 2007, T. TUE.NL 21 Programmeren Blok A: College 5 c 2007, T. TUE.NL 22 Programmeren Blok A: College 5 Voorbeeld van record-type definitie bij KeizerKiezer const MaxN = 10000; { maximale aantal kandidaten, 1 } type Kandidaat = 0.. MaxN 1; { de kandidaten, eigenlijk 0.. N 1 } Kring = record N : 1.. MaxN ; { aantal kandidaten bij aanvang } inkring : array [ Kandidaat ] of Boolean; { inkring[i] = kandidaat i staat nog in de kring (0 i < N) } rest : 1.. MaxN ; { aantal overgebleven kandidaten } { rest = (# i : 0 i < N : inkring[i]) } aangewezen : Kandidaat; { doorloopt de kandidaten } { er geldt inkring[aangewezen] } ; { Kring } c 2007, T. TUE.NL 23 Programmeren Blok A: College 5 Voorbeeld van record-type gebruik procedure initkring ( k: Kring ; const a: Integer ); { pre: 1 a MaxN post: k is kring met a kandidaten, en 0 aangewezen } i: Kandidaat; { doorloopt kandidaten } with k do N := a ; for i := 0 to N 1 do inkring [i] := True ; rest := N ; aangewezen := 0 { with k } ; { initkring } c 2007, T. TUE.NL 24 Programmeren Blok A: College 5
7 Voorbeeld van record-type gebruik (2) procedure wijsvolgeaan ( k: Kring ); { pre: Zij k = K post: k = K met k.aangewezen = volge in kring na K.aangewezen } with k do repeat aangewezen := ( aangewezen + 1) mod N until inkring [ aangewezen ] { with k } ; { wijsvolgeaan } c 2007, T. TUE.NL 25 Programmeren Blok A: College 5 Voorbeeld van record-type gebruik (3) function Keizer ( const n: Integer ): Kandidaat; { pre: 1 n MaxN ; ret: de keizer bij n kandidaten } dekring: Kring ; { de kring met kandidaten } initkring ( dekring, n ) ; while dekring.rest 1 do wijsvolgeaan ( dekring ) ; wijsvolgeaan ( dekring ) ; verwijderaangewezene ( dekring ) ; Result := dekring.aangewezen ; { Keizer } c 2007, T. TUE.NL 26 Programmeren Blok A: College 5 Gevolgen van wijziging bij KeizerKiezer Gevolgen van wijziging bij KeizerKiezer type Kring = record N : 1.. MaxN ; { aantal kandidaten bij aanvang } opvolger : array [ Kandidaat ] of Kandidaat; { opvolger[i] = wie op kandidaat i volgt in de kring (0 i < N) } rest : 1.. MaxN ; { aantal overgebleven kandidaten } aangewezen : Kandidaat; { doorloopt de kandidaten } { aangewezen] kandidaat staat in de kring } ; { Kring } Hoofdprogramma ongewijzigd procedure wijsvolgeaan ( k: Kring ); { pre: Zij k = K post: k = K met k.aangewezen = volge in kring na K.aangewezen } with k do aangewezen := opvolger [ aangewezen ] { with k } ; { wijsvolgeaan } Alleen definities van type Kring en de routines erop veranderen c 2007, T. TUE.NL 27 Programmeren Blok A: College 5 c 2007, T. TUE.NL 28 Programmeren Blok A: College 5
8 Value parameters in postcondities: problematisch procedure LaatSterretjesZien ( n: Integer ); { pre: 0 n post: n sterretjes zijn geschreven } wordt verboden n := 0 zou niet kunnen met const n: Integer ; { LaatSterretjesZien } Implementatie voldoet aan contract, maar niet aan verwachting van aanroeper. Conventie: Value parameters mogen niet bij post staan. c 2007, T. TUE.NL 29 Programmeren Blok A: College 5 Beginwaarde van value parameters benoemen in contract procedure LaatSterretjesZien ( n: Integer ); { pre: Zij n = N en 0 N post: N sterretjes zijn geschreven } { iniant: nog n sterretjes te schrijven } while n 0 do write ( * ) ; n := n 1 zou niet kunnen met const n: Integer ; { LaatSterretjesZien } n := 0 is nu geen goede implementatie. c 2007, T. TUE.NL 30 Programmeren Blok A: College 5 Value parameters: MultiAssign procedure MultiAssign ( x, y: Integer; e, f: Integer ); { pre: Zij e = E en f = F post: x = E en y = F } x := e ; y := f ; { MultiAssign } a, b: Integer; { } { a = A en b = B } MultiAssign ( a, b, b, a ) { a = B en b = A } Goed gebruik van MultiAssign N.B. Postconditie x = e en y = f zou problematisch zijn! c 2007, T. TUE.NL 31 Programmeren Blok A: College 5 c 2007, T. TUE.NL 32 Programmeren Blok A: College 5
9 Dubbele substitutie bij aanroep MultiAssign(a, b, b, a) e, f : Integer; { e, f zijn verse namen } e := b ; f := a ; a := e ; b := f Vergelijk dit met aanroep Verwissel(a, b). c 2007, T. TUE.NL 33 Programmeren Blok A: College 5 a: Integer; { a = A } Contractbreuk bij MultiAssign: Aliasing MultiAssign ( a, a, 0, 1 ) aliasing: NIET DOEN {??? a = 0 en a = 1??? } aliasing = verschille namen voor hetzelfde object In MultiAssign verwijzen x en y beide naar a. c 2007, T. TUE.NL 34 Programmeren Blok A: College 5 MultiAssign met const parameters Dubbele substitutie bij aanroep MultiAssignConst(a, b, b, a) procedure MultiAssignConst ( x, y: Integer; const e, f: Integer ); { pre: True post: x = e en y = f } x := e ; y := f ; { MultiAssignConst } Aanroep MultiAssignConst(a, b, b, a) is af te raden! Deze aanroep is te vervangen door: a := b ; b := a N.B. Bij const-parameter wordt waarde niet gekopieerd (efficiënter). c 2007, T. TUE.NL 35 Programmeren Blok A: College 5 c 2007, T. TUE.NL 36 Programmeren Blok A: College 5
10 a, b: Integer; { a = A en b = B } Aliasing gooit roet in het eten MultiAssignConst ( a, b, b, a ) aliasing: NIET DOEN {??? a = b en b = a??? } In MultiAssignConst verwijzen x en f beide naar a. In MultiAssignConst verwijzen y en e beide naar b. c 2007, T. TUE.NL 37 Programmeren Blok A: College 5 Globale iabelen (buiten routine) g, c: Integer; globale iabelen t.o.v. p procedure p; gebruik van g, c onzichtbaar in contract g := g + c gebruik van globalen g, c in implementatie ; { p } p deze aanroep kan g veranderen c 2007, T. TUE.NL 38 Programmeren Blok A: College 5 Globale iabelen: documenteren g, c: Integer; globale iabelen t.o.v. p procedure p { glob g; glob const c }; { pre: Zij g = G post: g = G + c } g, c zichtbaar in contract g := g + c ; { p } p Globale iabelen: vermijden via extra parameters procedure p ( x: Integer; const y: Integer ); { pre: Zij x = X post: x = X + y } x := x + y gebruik van parameters x, y in implementatie ; { p } g, c: Integer; niet direct bruikbaar in body van p vanwege de eis define before use p ( g, c ) gebruik van g, c zichtbaar in aanroep c 2007, T. TUE.NL 39 Programmeren Blok A: College 5 c 2007, T. TUE.NL 40 Programmeren Blok A: College 5
11 Richtlijnen bij aanroepen van routines Aanwijzingen bij implementeren van routines Implementeer de specificatie, niet meer en niet minder Vermijd aliasing in routine aanroepen Een actuele -parameter mag niet in dezelfde aanroep nogmaals als actuele - of const-parameter vóórkomen: als dit een actuele -parameter is routine (, v,, v, ) dan dit geen actuele - of const-parameter Const parameters kunnen in body niet gewijzigd worden Value parameters mogen wel in body gewijzigd worden Value parameter = geïnitialiseerde lokale iabele Introduceer geschikte lokale iabelen Globale iabelen niet in body gebruiken, tenzij volgens contract Gebruik van globale constantes en types in body is wel OK Definieer routines zoveel mogelijk vóór de globale iabelen c 2007, T. TUE.NL 41 Programmeren Blok A: College 5 c 2007, T. TUE.NL 42 Programmeren Blok A: College 5 Beschouw deze 3 4 matrix: Afrekenopgave: Energiepillen Wat is de maximale padsom bij enige wandeling van linksboven naar rechtsonder, waarbij alleen naar rechts en naar onder gestapt wordt? (Hoeveel van dergelijke wandelingen zijn er?) c 2007, T. TUE.NL 43 Programmeren Blok A: College 5 Energiepillen: Analyse Er zijn ( ) ( ) = 5 2 = 10 wandelingen mogelijk. Van de 5 stappen moet je er 2 naar onder kiezen en 3 naar rechts. In matrix: circa 35 miljard wandelingen! De maximale padsom bedraagt hier 138. c 2007, T. TUE.NL 44 Programmeren Blok A: College 5
12 Energiepillen: Algoritme Waarschuwing Generaliseer het probleem: Wat is de maximale padsom van enige monotone wandeling vanuit (i, j) naar rechtsonder? Algoritme: reken terug vanaf eindpunt invoermatrix max. padsom vanuit (i, j) Veel details rond routines zijn nog steeds niet aangeroerd en zijn ook niet van belang bij Programmeren Blok A. Gebruik alleen mogelijkheden die behandeld zijn en die je begrijpt c 2007, T. TUE.NL 45 Programmeren Blok A: College 5 c 2007, T. TUE.NL 46 Programmeren Blok A: College 5
{ specificatie (contract) en toelichting }
Programmeren Blok B Drie aspecten van routines http://www.win.tue.nl/ wstomv/edu/2ip05/ College 7 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering &
Nadere informatieProgrammeren Blok B. Onderwerpen. wstomv/edu/2ip05/ College 8. Tom Verhoeff
Programmeren Blok B Onderwerpen http://www.win.tue.nl/ wstomv/edu/2ip05/ College 8 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering & Technology Verdelen
Nadere informatieMethode: Verdeel en heers
Programmeren Blok B Thema: Complexiteit beteugelen http://www.win.tue.nl/ wstomv/edu/ip05/ College Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering
Nadere informatie{ auteur, toelichting }
Programmeren Blok A Trilogie van (programmeer)talen http://www.win.tue.nl/ wstomv/edu/ip0/ College Syntaxis (vormleer): Hoe ziet t eruit, hoe schrijf je t? Tom Verhoeff Technische Universiteit Eindhoven
Nadere informatieTotaal
Programmeren Blok A Wat was het doel? http://www.win.tue.nl/ wstomv/edu/2ip05/ College 2 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering & Technology
Nadere informatieOpmerkingen en vragen aan Ultieme vraag: Hoe beïnvloedt dit de winstkansen?
2IP05: Programmeren Blok A http://www.win.tue.nl/ wstomv/edu/2ip05/ 5 spelers, 2 dobbelstenen Probleem met dobbelspel College 1 Per ronde werpt elke speler 1 Kees Hemerik Tom Verhoeff Technische Universiteit
Nadere informatieProbleem met dobbelspel. 2IP05: Programmeren Blok A. 5 spelers,2 dobbelstenen. wstomv/edu/2ip05/ Per ronde werpt elke speler 1
2IP05: Programmeren Blok A http://www.win.tue.nl/ wstomv/edu/2ip05/ College 1 5 spelers,2 dobbelstenen Probleem met dobbelspel Per ronde werpt elke speler 1 Tom Verhoeff Technische Universiteit Eindhoven
Nadere informatieEen unit bundelt een stel definities (van constantes, types, routines). Een unit is in een apart bestand ondergebracht.
Programmeren Blok B Onderwerpen http://www.win.tue.nl/ wstomv/edu/2ip05/ College 10 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering & Technology Lazarus
Nadere informatieWaarden 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 informatieToets Programmeren, 2YP05 op donderdag 13 november 2008, 09:00-12:00
Toets Programmeren, 2YP05 op donderdag 13 november 2008, 09:00-12:00 TU/e Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica (Na de toets gecorrigeerde versie) PROBLEEM: Sleutels Lees
Nadere informatieOnderwerpen. Programmeren Blok A. wstomv/edu/2ip05/ 2-dimensionale arrays. College 5. Enumeratie type.
Programmeren Blok A Onderwerpen http://wwwwintuenl/ wstomv/edu/2ip05/ College 5 Tom Verhoeff 2-dimensionale arrays Enumeratie type Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software
Nadere informatieProgrammeren Blok B. Onderwerpen. wstomv/edu/2ip05/ College 9. Specificaties (opnieuw) Tom Verhoeff.
Programmeren Blok B Onderwerpen http://www.win.tue.nl/ wstomv/edu/2ip05/ College 9 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering & Technology Specificaties
Nadere informatieFaculteit Economie en Bedrijfskunde
Faculteit Economie en Bedrijfskunde Op dit voorblad vindt u belangrijke informatie omtrent het tentamen. Voordat u met het tentamen t: lees dit voorblad! Tentamen: V&O IV: Programmeren Tentamendatum &
Nadere informatie4EE11 Project Programmeren voor W. College 2, , Blok D Tom Verhoeff, Software Engineering & Technology, TU/e
4EE11 Project Programmeren voor W College 2, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Onderwerpen Terugblik Functies Organisatie (architectuur) van programma s Arrays Structuren
Nadere informatieOntwerp van Algoritmen: opgaven weken 3 en 4
0 Ontwerp van Algoritmen: opgaven weken 3 en 4 Voor alle volgende opgaven over programmaatjes geldt de spelregel: formuleer altijd eerst alle bewijsverplichtingen. selectie 45. (tail distribution)(prima
Nadere informatieEen korte samenvatting van enkele FORTRAN opdrachten
Een korte samenvatting van enkele FORTRAN opdrachten Inhoud 1 Introductie 3 2 De structuur van een FORTRAN programma 3 3 Datatypen, variabelen en declaraties 3 4 Expressies-volgorde van uitwerking 4 5
Nadere informatieUNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS
UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS Laatste aanpassing: 15 oktober 2003 Inhoudsopgave 1 Bestandsnamen 3 2 Organizatie Bestanden 3 3 Indentatie
Nadere informatie7 Omzetten van Recursieve naar Iteratieve Algoritmen
7 Omzetten van Recursieve naar Iteratieve Algoritmen Het lijkt mogelijk om elke oplossings-algoritme, die vaak in eerste instantie recursief geformuleerd werd, om te zetten in een iteratieve algoritme
Nadere informatieAbstraheren van modellen
Abstraheren van modellen Geert Delanote 7 maart 2005 Geert.Delanote@cs.kuleuven.ac.be Software Development Methodology 1 Inhoudstafel Motivatie Denkpistes Software Development Methodology 2 Motivatie Verslag
Nadere informatieSmall 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 informatiePascal uitgediept Data structuren
Pascal uitgediept Data structuren MSX Computer & Club Magazine nummer 68-juni/juli 1994 Herman Post Scanned, ocr ed and converted to PDF by HansO, 2001 In deze aflevering wordt bekeken hoe zelf een datastructuur
Nadere informatie4EE11 Project Programmeren voor W. College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e
4EE11 Project Programmeren voor W College 3, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Onderwerpen Grotere programma s ontwerpen/maken Datastructuren en algoritmes 2 Evolutie,
Nadere informatieOntwerp van Informatiesystemen
1ste bach HIB Ontwerp van Informatiesystemen Prof. Verelst Q www.quickprinter.be uickprinter Koningstraat 13 2000 Antwerpen 112 2,50 Online samenvattingen kopen via www.quickprintershop.be Table of Contents
Nadere informatieAchtste 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 informatieProgrammeren 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 informatieTurbo Pascal (deel 1)
Turbo Pascal (deel 1) MSX CLUB MAGAZINE 34 Erik van Bilsen Scanned, ocr ed and converted to PDF by HansO, 2001 Erik van Bilsen leert u het klappen van de Turbo Pascal zweep. Turbo Pascal toepassen Deze
Nadere informatierh276a 0 We breiden nu bovenstaand programmafragment uit door assignments toe te voegen aan een nieuwe variabele m, aldus:
rh276a 0 Een paar praktische stellinkjes 0 Standaardeindiging stelling (standaardeindiging 0) : Het volgende programmafragment eindigt, heeft als repetitie-invariant 0 n n N en als variante functie N n
Nadere informatieProgrammeermethoden. 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 informatieTentamen Formele Methoden voor Software Engineering (213520)
Tentamen Formele Methoden voor Software Engineering (213520) 15 april 2010, 8:45 12:15 uur. BELANGRIJK: geef op je tentamen duidelijk aan: je studierichting of je beide huiswerkopgaven gemaakt hebt, en
Nadere informatieVoorbeeld. public class BankRekening {
OCL Constraints Eigenschappen die op bepaalde momenten altijd voldaan moeten zijn Belangrijk voor bug-vrije programma s Contract tussen implementator & gebruiker Vier soorten Preconditie: conditie die
Nadere informatieDivide & Conquer: Verdeel en Heers vervolg. Algoritmiek
Divide & Conquer: Verdeel en Heers vervolg Algoritmiek Algoritmische technieken Vorige keer: Divide and conquer techniek Aantal toepassingen van de techniek Analyse met Master theorem en substitutie Vandaag:
Nadere informatieAchtste 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 informatieTutorial 1, Delphi: Geldspraak
Tutorial 1, Delphi: Geldspraak Versie Datum Auteurs Opmerkingen 1 25-09-2001 Kees Hemerik (code) Gebaseerd op Delphi 5 Enterprise. Roel Vliegen (tekst) 2 17-03-2005 Kees Hemerik Aanpassingen: Delphi 7,
Nadere informatieZelftest Programmeren in COBOL - deel I
Zelftest Programmeren in CBL - deel I Document: n1290test.fm 05/01/2016 ABIS Training & Consulting P.. Box 220 B-3000 Leuven Belgium TRAINING & CNSULTING INLEIDING BIJ DE ZELFTEST PRGRAMMEREN IN CBL -
Nadere informatieLogica voor Informatica
Logica voor Informatica 13 Programma verificatie Wouter Swierstra University of Utrecht 1 Programmeertalen en logica Bij logische programmeertalen hebben we gezien dat we rechstreeks met (een fragment
Nadere informatieTENTAMEN Programmeren 1 VOORBEELDUITWERKING
TENTAMEN Programmeren 1 vakcode: 213500 datum: 28 november 2002 tijd: 13:30 17:00 uur VOORBEELDUITWERKING Algemeen Bij dit tentamen mag gebruik worden gemaakt van het boek van Niño/Hosch, en van de handleiding
Nadere informatiePracticum Ox intro. Practicum Ox intro. VU Numeriek Programmeren 2.5. Charles Bos. Vrije Universiteit Amsterdam. 3 april /18
1/18 VU Numeriek Programmeren 2.5 Charles Bos Vrije Universiteit Amsterdam 3 april 2013 2/18 Overzicht Vlotte intro in Ox Hands on 3/18 Minimale elementen Minimale elementen Ox-programma: voeg de standaard
Nadere informatieMetro Simulatie. 1 Samenvatting. 2 Context
Metro Simulatie Documentsoort: Behoeftespecificatie Versie: 1.2 Datum: 15 februari 2017 Auteurs: Brent van Bladel Status: Opgeleverd 1 Samenvatting Dit document bevat de specificaties voor een informaticasysteem
Nadere informatieNegende college algoritmiek. 15 april Dynamisch Programmeren
Negende college algoritmiek 15 april 2016 Dynamisch Programmeren 1 algemeen Uit college 8: DP: - nuttig bij problemen met overlappende deelproblemen - druk een oplossing van het probleem uit in oplossingen
Nadere informatie4EE11 Project Programmeren voor W. College 1, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e
4EE11 Project Programmeren voor W College 1, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Betrokkenen Circa 100 deelnemers (W, 3e-jaars) Joris Remmers (W) Patrick Anderson
Nadere informatieTentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft
I ' Tentamen Objectgeorienteerd Programmeren TI 1200 1 februari 2012 9.00-12.00 Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit
Nadere informatieProgrammeermethoden. 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 informatie4EE11 Project Programmeren voor W. College 4, , Blok D Tom Verhoeff, Software Engineering & Technology, TU/e
4EE11 Project Programmeren voor W College 4, 2008 2009, Blok D Tom Verhoeff, Software Engineering & Technology, TU/e 1 Onderwerpen Controleren (verificatie) van software - Pair programming - Code review
Nadere informatieIn deze aflevering van deze serie zal ik proberen een groot gebrek van Turbo Pascal weg te nemen, namelijk het gemis aan Random Access Files.
Turbo Pascal deel 7 Erik van Bilsen MSX Club Magazine 40 Scanned, ocr ed and converted to PDf by HansO, 2001 In deze aflevering van deze serie zal ik proberen een groot gebrek van Turbo Pascal weg te nemen,
Nadere informatieDie inputs worden op een gecontroleerde manier aangeboden door (test) stubs. De test driver zorgt voor de uiteindelijke uitvoering ervan.
Nota: Schrijf je antwoorden kort en bondig in de daartoe voorziene velden. De puntenverdeling is 2 punten per theorie-vraag en 8 punten per oefening. Het totaal is 40. Vraag 1. Er bestaan verschillende
Nadere informatieZelftest Inleiding Programmeren
Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze
Nadere informatieImplementatie #-operator
Departement Wiskunde-Informatica Universiteit Antwerpen November 13, 2005 Book sample Book sample Tools Reïficatie Maak van de event method loan een method class Loan Non-reïficatie Genereer nieuwe properties
Nadere informatieUitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur
Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, 13.00-15.00 uur 1. De situatie die ontstaat door class A : B C D; kan beschreven worden door (a) B is een A (b)
Nadere informatieTentamen 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 informatiemaplev 2012/5/1 15:47 page 469 #471 Procedures (vervolg)
maplev 2012/5/1 15:47 page 469 #471 Module 30 Procedures (vervolg) Onderwerp Voorkennis Expressies Procedures: Bereik van lokale variabelen, call by evaluated name, level-1-evaluatie van lokale variabelen,
Nadere informatieBLOK 3 HOOFDSTUK 8 PARAGRAAF 2
BLOK 3 HOOFDSTUK 8 PARAGRAAF 2 4-BITS DEMOCOMPUTER IN 1000 STO R0 0000 opdracht tot opslaan 0000 waar moet het worden opgeslagen IN 1000 LD R1 0011 opdracht tot kopiëren 0000 welk adres moet gekopieerd
Nadere informatieBestand: /home/karel/scripts/mkusb Pagina 1 van 6
Bestand: /home/karel/scripts/mkusb Pagina 1 van 6 1 #!/bin/bash 2 ############################################################################# 3 # Bestand: mkusb # 4 # Doel: Script voor het maken van
Nadere informatieZelftest Programmeren in PL/I
Zelftest Programmeren in PL/I Document: n0830test.fm 26/03/2012 ABIS Training & Consulting P.. Box 220 B-3000 Leuven Belgium TRAINING & CNSULTING INLEIDING BIJ DE ZELFTEST PRGRAMMEREN IN PL/I m de voorkennis
Nadere informatieProgrammeren in Pascal: Voorbeelden
Programmeren in Pascal: Voorbeelden TomVerhoeff Faculteit Wiskunde & Informatica Technische Universiteit Eindhoven Copyright c September 2002, T. Verhoeff @ TUE.NL 1 INHOUDSOPGAVE 2 Inhoudsopgave 1 Inleiding
Nadere informatieMSX Computer & Club Magazine nummer 69 - augustus 1994 Arno Dekker. Scanned, ocr ed and converted to PDF by HansO, 2001
MT2ASCII MSX Computer & Club Magazine nummer 69 - augustus 1994 Arno Dekker Scanned, ocr ed and converted to PDF by HansO, 2001 In de laatste serie MSX Club Magazine s werd at dieper ingegaan op MT-Base
Nadere informatieDatastructuren Werkcollege Intro
Bart Hijmans, Universiteit Leiden. Universiteit Leiden The Netherlands Focus 1 19 ˆ Ervaring in gebruik en implementatie van datastructuren ˆ Kennis van mogelijkheden ˆ Programmeren voor andere programmeurs
Nadere informatieCompilers (2IC25) docent: G. Zwaan, HG 5.41, tel. ( )4291, webpagina:
Compilers (2IC25) docent: G. Zwaan, HG 5.41, tel. (040 247)4291, e-mail: G.Zwaan@tue.nl webpagina: http://www.win.tue.nl/~wsinswan/compilers/ compileren compilatie vertalen (een werk) bijeenbrengen door
Nadere informatieVoorbeeldtentamen 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 informatieTentamen Formele Methoden voor Software Engineering (213520)
Tentamen Formele Methoden voor Software Engineering (213520) 2 juli 2009, 13:30-17:00 uur. BELANGRIJK: geef op je tentamen duidelijk aan: je studierichting of je beide huiswerkopgaven gemaakt hebt, en
Nadere informatieLeren 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 informatieProgrammeermethoden 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 informatieAanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, uur
Aanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, 13.30-15.30 uur Naam: Studentnummer: Het tentamen bestaat uit 4 opgaven. Opgaven 1 levert 8 punten op, opgave 2 levert 12 punten
Nadere informatiealgoritmiek - 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 informatieLuchthaven Simulatie. 1 Samenvatting. 2 Context
Luchthaven Simulatie Documentsoort: Behoeftespecificatie Versie: 1.2 Datum: 15 februari 2018 Auteurs: Brent van Bladel Status: Opgeleverd 1 Samenvatting Dit document bevat de specificaties voor een informaticasysteem
Nadere informatieTENTAMEN Programmeren 1 VOORBEELDUITWERKING
TENTAMEN Programmeren 1 vakcode: 213500 datum: 10 juli 2004 tijd: 9:00-12:30 uur VOORBEELDUITWERKING Algemeen Bij dit tentamen mag gebruik worden gemaakt van het boek van Niño/Hosch, en van de handleiding
Nadere informatieNegende college algoritmiek. 6/7 april Dynamisch Programmeren
Negende college algoritmiek 6/7 april 2017 Dynamisch Programmeren 1 algemeen Uit college 8: DP: - nuttig bij problemen met overlappende deelproblemen - druk een oplossing van het probleem uit in oplossingen
Nadere informatieGetallensystemen, verzamelingen en relaties
Hoofdstuk 1 Getallensystemen, verzamelingen en relaties 1.1 Getallensystemen 1.1.1 De natuurlijke getallen N = {0, 1, 2, 3,...} N 0 = {1, 2, 3,...} 1.1.2 De gehele getallen Z = {..., 4, 3, 2, 1, 0, 1,
Nadere informatieInfo-books. Toegepaste Informatica. Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) AL20. Jos Gils Erik Goossens
Info-books AL20 Toegepaste Informatica Deel 20 : Algoritmen en programmeren in Access en Excel (Basis) Jos Gils Erik Goossens Hoofdstuk 6 Lusstructuren of iteraties 6.1 Probleemstelling Het gebeurt dikwijls
Nadere informatie1. Recursieve Algoritmen
1. Recursieve Algoritmen Doel : Verdiepen van je inzicht in recursieve procedures ; bestudeer ook hoofdstuk 15 van de WWW-B1- reader op www.cs.kun.nl/~gerp/b1 (en/of Savitch Hfst 14) Aan het einde van
Nadere informatieHet koppelen van een FC51, via Modbus RTU, aan een AC500-eco.
Het koppelen van een FC51, via Modbus RTU, aan een AC500-eco. Snelle start handleiding. Solar Technical Support Inhoudsopgave: Benodigdheden.... 2 De Modbus RTU kabel.... 3 De gewijzigde parameters in
Nadere informatieTutorial 2, Delphi: Parabool
Tutorial 2, Delphi: Parabool Versie Datum Auteurs Opmerkingen 1 23-09-2001 Kees Hemerik (code) Roel Vliegen (tekst) 2 18-03-2005 Kees Hemerik Diverse tekstuele wijzigingen. Code van DrawGraph gewijzigd.
Nadere informatieArrays. 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 informatieInleiding Software Engineering! Unit Testing, Contracten, Debugger! 13 Februari 2014!
Inleiding Software Engineering Unit Testing, Contracten, Debugger 13 Februari 2014 Beknopte info over Unit Testing en Contracten kan je vinden op het einde van dit document. Eclipse beschikt over een handige
Nadere informatie2. Syntaxis en semantiek
2. Syntaxis en semantiek In dit hoofdstuk worden de begrippen syntaxis en semantiek behandeld. Verder gaan we in op de fouten die hierin gemaakt kunnen worden en waarom dit in de algoritmiek zo desastreus
Nadere informatie2.1! Ontdek de 7 verschillen!
2.1! Ontdek de 7 verschillen! 2.2! Een oplossing met een foutje! 2.3! Software Engineering! Wat?! Bouw vs. Ontwikkel! Vereisten! 2. (Aanpasbaarheid & Planning)! Betrouwbaarheid: TicTacToe! specificatie!
Nadere informatieProgrammeermethoden 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 informatieModelleren 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 informatie1 Inleiding in Functioneel Programmeren
1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp
Nadere informatieSemantiek (2IT40) Bas Luttik. HG 7.14 tel.: Hoorcollege 8 (7 juni 2007)
Bas Luttik s.p.luttik@tue.nl http://www.win.tue.nl/~luttik HG 7.14 tel.: 040 247 5152 Hoorcollege 8 (7 juni 2007) Functionele talen Idee: een programma definieert reeks (wiskundige) functies. Programma
Nadere informatieModelleren 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 informatieTentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit
Nadere informatie10 Meer over functies
10 Meer over functies In hoofdstuk 5 hebben we functies uitgebreid bestudeerd. In dit hoofdstuk bekijken we drie andere aspecten van functies: recursieve functies dat wil zeggen, functies die zichzelf
Nadere informatieTOPIC G: RECORD TOPIC G: RECORD TOPIC G: RECORD TOPIC G: RECORD 23/12/2010 MODULE D1; <* NOOPTIMIZE + *> <* NOOPTIMIZE + *>
FROM IO IMPORT RdChar, WrChar, WrStr, WrLn,WrFixReal; VAR c1, c2, c3: RECORD re, img: REAL; WrLn; c1.re := 3.5; c1.img := -4.76; c2.re := 4.0; c2.img := 14.6; (* sum *) c3.re := c1.re + c2.re; c3.img :=
Nadere informatieSemantiek (2IT40) Jos Baeten. Formele Methoden. HG 7.19 tel.: Hoorcollege 1 (29 maart 2007)
Jos Formele Methoden josb@win.tue.nl http://www.win.tue.nl/~josb/ HG 7.19 tel.: 040 247 5155 Hoorcollege 1 (29 maart 2007) 2IT40 Organisatie Colstructie: docent: wanneer: donderdagen 3 e en 4 e uur waar:
Nadere informatieUitleg van de Hough transformatie
Uitleg van de Hough transformatie Maarten M. Fokkinga, Joeri van Ruth Database groep, Fac. EWI, Universiteit Twente Versie van 17 mei 2005, 10:59 De Hough transformatie is een wiskundige techniek om een
Nadere informatieALGORITMIEK: antwoorden werkcollege 5
ALGORITMIEK: antwoorden werkcollege 5 opgave 1. a. Brute force algoritme, direct afgeleid uit de observatie: loop v.l.n.r. door de tekst; als je een A tegenkomt op plek i (0 i < n 1), loop dan van daaruit
Nadere informatieModelleren 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 informatien-queens Local Search met Conflict Minimalizatie
n-queens Local Search met Conflict Minimalizatie Efficient Local Search with Conflict Minimalization: A Case Study of the n-queens Problem, door Rok Sosič en Jun Gu. Sjoerd van Egmond svegmond@liacs.nl
Nadere informatie11. Eenvoudige programma s schrijven in Maxima
11. Eenvoudige programma s schrijven in Maxima We zullen in dit hoofdstuk een aantal eenvoudige Maxima programma s laten zien. 11.1. Aantal wortels van een vierkantsvergelijking Het onderstaande programma
Nadere informatieOndernemen = Kiezen = Spelen. Lezing op het Nationaal T&U Congres 9 oktober Tom Verhoeff. Faculteit Wiskunde & Informatica
Ondernemen = Kiezen = Spelen Lezing op het Nationaal T&U Congres 9 oktober 2008 Tom Verhoeff Faculteit Wiskunde & Informatica c 2008, T. Verhoeff @ TUE.NL /6 Ondernemen = Kiezen = Spelen Eerste spel: Cijfers
Nadere informatiestart -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c
Een Minimaal Formalisme om te Programmeren We hebben gezien dat Turing machines beschouwd kunnen worden als universele computers. D.w.z. dat iedere berekening met natuurlijke getallen die met een computer
Nadere informatieProgrammeren in C# Samenvatting van C#
Programmeren in C# Samenvatting van C# Proceduraal Programmeren Functies (O: void + return, I: referentie of value) Arrays, Lijsten Lussen (for, while, do while) Condities, if-else, switch Variabelen,
Nadere informatieGelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 5.1-5.2, Appendix A.
Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: 51-52, Appendix A1) Processes zijn meestal niet onafhankelijk Bijvoorbeeld: 2 processen
Nadere informatieTiende college algoritmiek. 13/21 april Gretige Algoritmen Algoritme van Dijkstra
Algoritmiek 017/Gretige Algoritmen Tiende college algoritmiek 13/1 april 017 Gretige Algoritmen Algoritme van Dijkstra 1 Algoritmiek 017/Gretige Algoritmen Muntenprobleem Gegeven onbeperkt veel munten
Nadere informatieDisclaimer 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 informatieProgrammeren 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
Nadere informatieProgrammeren & Correctheid
Programmeren & Correctheid Docent: Prof. dr. F.S. de Boer, email: frb@cwi.nl Literatuur Verification of Sequential and Concurrent Programs. Krzysztof R. Apt, Frank S. de Boer, Ernst-Rüdiger Olderog. Series:
Nadere informatieRecursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40
Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N
Nadere informatieHOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren
HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet
Nadere informatieProgrammeren (1) Examen NAAM:
Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien) en geef zowel klad als net af. Bij heel wat vragen moet je zelf Java-code schrijven. Hou dit kort en bondig. Je hoeft
Nadere informatie