Datastructuren 2005/06
|
|
- Julius Janssen
- 5 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Datastructuren 2005/06 docent: Hendrik Jan Hoogeboom kmr.162, werkgroep: Robert Brijder prog-opgaven: Sven van Haastregt tentamen programmeeropgaven 2x, in C++ boek bundels programmeertaal eerste werkcollege home/hoogeboo/datastructuren.html
2 verwante colleges databanken concepten progtalen software engineering Algoritmiek* datastructuren FundInformatica 1 (discrete wiskunde) Complexiteit complexiteit sorteeralgoritmes
3 abstract programmeren While ( S.boven >= 0 ) { a = S.vakje[S.boven] ; S.boven-- ; } struct S vakje boven While ( not S.isleeg() ) { S.pop( a ) ; } S Λ
4 abstracte datastructuren implementatie datastructuur niet zichtbaar in gebruik (in algoritme) wat doet de datastructuur hoe is dat geimplementeerd representatie keuze typen + definities implementatie coderen methoden specificatie vastleggen interface tijd & ruimte: randvoorwaarden implementatie bibliotheken LEDA, STL standard
5 adt voorbeeld S : stapel van gehele getallen domein: geordende rijen elementen uit Z operaties: init: S levert de lege rij () op. isleeg: S B true bij lege rij, anders false. push: S x Z S getal wordt vooraan in rij gezet. pop: S S x Z voorste getal wordt verwijderd en teruggegeven; ongedefinieerd bij lege rij. top: S Z voorste getal wordt teruggegeven, maar niet verwijderd. R : reële getallen domein: R operaties: 0, 1, +, -, *, /, =,
6 abstracte datatypen elementen domein structuur operaties gebruik datastructuur specificatie representatie interface coderen implementatie
7 abstractie dus ook OOP voordelen preciese specificaties gescheiden ontwikkeling modulariteit apart compileren: snel te wijzigen overdraagbaar header file afschermen informatie hiding bv. 0-de element string integriteit: consistentie, correctheid overzichtelijkheid onafhankelijkheid implementatie lokaal te wijzigen encapsulation
8 C++ bouwstenen + specie bool pointer * char array [] int class / struct float dieptestructuur = == destructor generiek programmeren OOP object oriented programming template <datatype>
9 nivo s van abstractie priority queue verzameling objecten met prioriteit initialiseren, leeg-test, toevoegen, hoogste vinden, en verwijderen heap complete boom met heap-eigenschap trickle-up sift-down array vader(i) = i/2
10 u bent gewaarschuwd! class D af te leiden van een class B is een instantie van D ook een instantie van B? vraag wordt niet gesteld onjuist en potentieel gevaarlijk In de literatuur wemelt het van de gevallen waarin overerving misbruikt wordt: een cirkel wordt van een punt afgeleid (een cirkel is geen speciaal geval van een punt); een stack wordt van een lijst afgeleid (een stack is geen speciaal geval van een lijst).
11 zie Programmeermethoden Object data eigenschappen methoden gedrag OOP Class type van object Inheritance overerven eigenschappen + gedrag uit te breiden, aan te passen Polymorphism een object past zijn gedrag aan
12 list programmeeropgave queue fifo lifo maxq minq testprogramma insert
13 List (void); initialiseert een lege lijst. ~List (void); ruimt een bestaande lijst op. int Get (void); levert de waarde van void Change (int item); verandert de waarde void Insert (int item); voegt element toe aan de lijst void Append (int item); idem, nu ná void Delete (void); verwijdert het aangewezen element bool IsEmpty (void); test of lijst leeg is. bool IsBegin (void); bool IsEnd (void); tests of cursor naar eerste, void GoToBegin (void); void GoToEnd (void); void GoToPrevious (void); void GoToNext (void); functies om de cursor door de lijst te bewegen
14 typedef int Coor; klasse punt class Punt { public: // constructoren Punt(){ xx=0; yy=0; }; Punt( Coor x0, Coor y0 ) { xx=x0; yy=y0; }; // methoden void Schuif( Coor dx, Coor dy ); void Teken(); private: // data Coor xx, yy; }; methoden void Punt::Schuif( Coor dx, Coor dy ) { xx += dx; yy += dy; }; void Punt::Teken() { cout << "punt(" << xx << "," << yy << ") "; }; functie void Animatie1( Punt pt ) { pt.teken(); pt.schuif( 3, 6 ); cout << " naar "; pt.teken(); cout << endl; }; main Punt pt1, pt2(3,3) ; Animatie1( pt1 ); Animatie1( pt2 ); punt(0,0) naar punt(3,6) punt(3,3) naar punt(6,9)
15 klasse cirkel class Cirkel: public Punt { public: Cirkel() : Punt() { straal = 0; }; Cirkel( Coor x0, Cood y0, Cood str0) : Punt( x0, y0 ) { straal = str0; }; void Teken(); private: // naast xx, yy Coor straal; }; methoden void Cirkel::Teken() { cout << "[" << straal << "]"; Punt::Teken(); }; functie // overloading void Animatie1( Cirkel ck ) { ck.teken(); ck.schuif( 3, 6 ); cout << " naar "; ck.teken(); cout << endl; }; main Cirkel ck1(3,3,2); Animatie1( ck1 ); Cirkel *ck2 = new Cirkel(3,0,3); Animatie1( *ck2 ); Punt *ck3 = new Cirkel(1,2,3); Animatie1( *ck3 ); [2]punt(3,3) naar [2]punt(6,9) [3]punt(3,0) naar [3]punt(6,6) punt(1,2) naar punt(4,8)
16 early vs. late binding compile time vs. run time nieuwe klassen dynamische structuren functie void Animatie2( Punt & pt ) { pt.teken(); pt.schuif( 3, 6 ); cout << " naar "; pt.teken(); cout << endl; };? by reference virtuele methoden class Punt {.. virtual void Teken();.. }; main Punt *pt = new Punt(1,2), *ck = new Cirkel(3,3,2); Animatie2( *pt ); Animatie2( *ck ); punt(1,2) naar punt(4,8) [2]punt(3,3) naar [2]punt(6,9)
17 List ListNode ListItr many friends iterator list may return iterator ispastend() advance() retrieve() list sentinel header isempty makeempty() zeroth()! first() insert(x,p)!after p find(x) findprevious(x)! remove(x)!first x operator= ListNode( const Object & thelt = Object(), ListNode * n = NULL ) : element( theelt ), next( n ) { } const Object & retrieve() const void insert( const Object & x, const ListItr<Object> &p ); List(); List( const List & rhs ); const List & operator= (const List & rhs ); alias test! there is no remove(p)!? hence, in makeempty() remove( first().retrieve() ) can we avoid removing the header? 3. Lists WEISS kladje bij Weiss
18 class Stapel { public: \\ constructor Stapel() : boven(null) { } \\ methoden void Push(Link *n) { n->next=boven; boven=n; } bool isempty() { return boven==null; } Link *Top() { return boven; } void Pop() { Link *p=boven; boven=boven->next; delete p; } bool Zoek(Link *n) { for( Link *p=boven; p; p=p->next) if (*p==*n) return 1; return 0; } private: \\ data Link *boven; }; generiek programmeren oop: overerving templates class Link { public: \\ constructoren Link() : next(null) { } Link(Link *n) : next(n) { } \\ methoden virtual bool operator== (Link *n) =0; \\ data Link *next; }; klasse Stapel, generiek
19 class Link { public: \\ constructoren Link() : next(null) { } Link(Link *n) : next(n) { } \\ methoden virtual bool operator== (Link *n) =0; \\ data Link *next; }; class DoubleLink : public Link { public: \\ constructor DoubleLink(double w) : dewaarde(w) { } \\ methoden bool operator== (Link *d) { return dewaarde== ((DoubleLink*)d)->deWaarde; } \\ data double dewaarde; }; Stapel destapel; destapel.push(new DoubleLink(2.7)); destapel.push(new DoubleLink(1.0)); destapel.push(new DoubleLink(3.1)); Doublelink *getal; getal=(doublelink*) destapel.top(); destapel.pop(); link voor Double-Stapel
20 template <class T> class Stapel { public: \\ constructor Stapel() : boven(0) { } \\ methoden void Push(T v) { boven=new Link<T>(v,boven); } bool isempty() { return boven==0; } T Top() { return boven->waarde; } void Pop() { Link<T> *p=boven; boven=boven->next; delete p; } bool Zoek(T v) { for( Link<T> *p=boven; p; p=p->next) if (v==p->waarde) return 1; return 0; } private: \\ data Link *boven; }; template <class T> class Link { public: \\ constructor Link(T v, Link *n) : waarde(v), next(n) { } \\ data Link *next; T waarde; }; Stapel<double> destapel; destapel.push( ); destapel.push( ); destapel.push( ); Doublelink *getal; getal= destapel.top(); destapel.pop(); beter: const T & klasse Stapel, template
21 Standard Template Library Standard Template Library template standard container sequentieel associatief empty() size() iterator vgl. pointer *p p++ == algoritme zoeken, tellen kopiëren, reverse sorteren heap - 67 c.begin() 31 c.end()
22 STL container sequential vector array, dynamisch list lijst, dubbel verbonden deque array, tweezijdige associative set verzameling map sleutel+waarde paren multimap.. meerwaardig adaptor priority_queue (niet list) queue rij (niet vector) stack stapel
23 #include <iostream> #include <vector> using namespace std; int main() { STL vector vector<int> v; int i; for (i=0; i<10; i++) v.push_back(i); cout << v.size() << endl; for (i=0; i<10; i++) cout << v[i] << ; cout << endl << v.front() << << v.back() << endl; vector<int>::iterator p = v.begin(); while ( p!= v.end() ) { cout << *p << ; p++; } } return 0;
24 STL adaptor, map #include <vector> #include <stack> spatie int main() { stack<vector<int> > st; int i; for (i=0; i<10; i++) st.push(i); while (!st.isempty() ) { cout << st.top() << ; st.pop(); } return 0; } #include <map> #include <string> map<string,int>::iterator p = mp.find( bob ); int main() { map<string,int> mp; mp[ tim ] = 3; cout << mp[ tim ] << << mp[ bob ]; return 0; }
25 specificatie in Alphard let stack = xi > where xi is int invariant 0 <= length(stack) initially stack = nullseq function push( s:stack, x:int ) pre 0 <= length(s) post s = s ~x pop( s:stack ) pre 0 < length(s) post s = leader(s ) top( s:stack ) returns x:int pre 0 < length(s) post x = last(s ) isempty( s:stack ) returns b:boolean post b = (s = nullseq) Alphard: mbv. abstract object rij xi >
26 algebraïsche specificatie type Intstack operators Create Intstack Push : Intstack * Int Intstack Pop : Intstack Intstack Top : Intstack Int Isempty : Intstack Boolean axioms Isempty( Create ) = true Isempty( Push(s,i) ) = false Pop( Create ) = Create * Pop( Push(s,i) ) = s Top( Create ) = 0 Top( Push(s,i) ) = i * end Intstack
27 lijsten Lijst List toevoegen en verwijderen op elke positie Stapel Stack lijst knoop / element positie top, push, pop LIFO pointers linked dubbel sentinel óók array Rij Queue FIFO enqueue, dequeue, first circulair array tweezijdig deque
28 representaties lijst size first last ? insert, delete nb: kopiëren = gelijkheidstest == Λ sentinel? previous, insert before(!) simplist: linkinversie vorig deze vorig deze
29 ^ thur mon tues A 7 12 v 0 1 D fri sat wed ζ 2 ζ 3 B C sun expressie code binaire zoek 4 2 heap ζ 1 c s a a e r tt a l trie e k expr expr * term term term* fact fact fact b a a syntax sat tues fri mon wed sun thur 2,3 boom BOMEN
30 bomen inhoudsopgave terminologie representatie boomwandeling» recursie, stapel» draden» linkomkering, Morris toepassing» union-find» priority queue binaire heap leftist tree, binomial,» dictionary binaire zoekboom AVL-, B-boom, red-black» compressie Huffman, LZW
31 bomen: abstract/wiskundig belangrijk, véél varieteiten bomen (adt) terminologie knoop, wortel, vader, kind (on)gericht (on)geordend binaire bomen (links rechts) vol, compleet beperkingen structuur aantal kinderen (binair, B-boom) hoogte subbomen (AVL-, B-boom) Compleet (heap) plaatsing sleutels zoekboom, heap
32 boomrepresentaties pointer template <class T> struct Knoop { T info; Knoop *links, *rechts; }; 7-air Knoop *kind[7]; cursor array (complete boom) links i 2i vader i i/ eerste-kind-rechter-broer links rechts info... vgl. binair
33 binaire boom C++ template <class T> template struct BinKnp { T info; BinKnp<T> *links, *rechts; int tag // bij linkomkering }; constructor BinKnp ( const T& i, BinKnp<T> *l = NULL, BinKnp<T> *r = NULL ) : info(i) default { links = l; rechts = r; tag = 0; } constructor van type T
34 wat: systematische methode om knopen te bezoeken boomwandeling waarom: informatie halen, aanpassen structuur controleren, aanpassen uit te breiden naar grafen methodes: stapel (stack) WLR pre-orde depth-first LWR symmetrisch LRW post-orde rij (queue) nivo orde breadth-first
35 beoordeling: boomwandeling extra datastructuur (=ruimte) (ook recursie stapel) ruimte bv. extra bitjes tijd (stappen per knoop) verstoring structuur meerdere wandelingen mogelijk? bv. Lindstrom aanpassing representatie draden
36 uitgestelde verplichtingen boomwandeling elementair wandel( deze ): ): pre-bezoek( deze ); ); wandel( linkerkind ); ); symm-bezoek( deze ); ); wandel( rechterkind ); ); post-bezoek( deze ); ); Init(S); // // Stapel S S Wortel; while ( not not IsLeeg(S) ) do do deze S; S; if if ( deze nul nul ) 9 11 then pre-bezoek( deze ); ); S rechterkind; 10 S linkerkind; while ( deze nul ) fi fi do pre-bezoek( deze ); od od S rechterkind; deze := linkerkind; od
37 boomwandeling met stapel start deze=wortel deze==nul? n 16 j pre-bezoek(deze) S.push(deze) deze=ekind(deze) eerste-kind, rechter-broer 9 heeft ekind? heeft rbroer? j S.isleeg()? n 8 S.pop(deze) deze=rbroer(deze) stop rbroer van: deze/vader
38 re-draden in boom 0 wel re-kind: re li * pad naar opvolger X geen re-kind: draad naar opvolger vader vinden
39 bedrade binaire boom enum TagTp {Tak, Draad}; template <class T> struct BedradeKnp { T info; BedradeKnp<T> *links, *rechts; TagTp ltag, rtag; } template <class T> BedradeKnp<T> *LWROpvolg (BedradeKnp<T> *N) { BedradeKnp<T> *hulp; hulp = N->rechts; if (N->rtag == Tak) * hulp While (hulp->ltag == Tak) hulp = hulp->links; return hulp; }; N N * Draad Tak hulp
40 boomwandeling: linkomkering structuur verstoord één wandeling bezoek herkenbaar WLR, LWR, LRW mogelijk extra bitje per knoop 1 3 globale bezoekteller bezoek richting nieuw 1 links 1 2 geen l-kind 2 rechts 1 3 geen r-kind 3 omhoog 2 is l-kind 3 is r-kind link-omkering pad terug naar wortel gat tussen huidige knoop en vader bit onderscheid links/rechts 2 0 1
41 linkomkering vader = NULL; deze = wortel; bezoek = 1; klaar = false; while (!klaar ) switch ( bezoek ) { case 1: // pre-orde volgend = deze->links; if ( volgend==null ) bezoek = 2; else { deze->links=vader; vader=deze; deze=volgend; } break; case 2: // symmetrisch volgend = deze->rechts; if ( volgend==null ) bezoek=3; else { deze->tag=1; deze->rechts=vader; vader=deze; deze=volgend; bezoek = 1; } break; case 3: // post-orde if ( vader!= NULL ) if ( vader->tag== 0 ) { hulp=vader->links; vader->links=deze; deze=vader; vader=hulp; bezoek=2; } else { vader->tag = 0; hulp=vader->rechts; vader->rechts=deze; deze=vader; vader=hulp; } else klaar = true; }
42 herstellen? dan takken houden & draden herkennen boomtransformatie methode Morris: twee visies tijdelijke draden
43 methode Morris boom-wandelen in bedrade boom // zoek eerste in lwr-ordening while (heeft li-kind) do ga links od while (ongelijk NUL) do bezoek // zoek lwr-opvolger if (heeft re-kind) ga rechts while (heeft li-kind) do ga links od else // re-draad volg draad fi od ga ga links links := := &leg &leg draad draad aan aan vanuit lwr-voorganger heeft heeft re-draad? := := ga ga rechts; ga ga links; bereik knoop knoop door door rechts te te volgen? 6 volg volg draad draad := := & verwijder draad draad
Datastructuren: stapels, rijen en binaire bomen
Programmeermethoden Datastructuren: stapels, rijen en binaire bomen week 12: 23 27 november 2015 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleiding In de informatica worden Abstracte DataTypen (ADT s)
Nadere informatieDatastructuren: stapels, rijen en binaire bomen
Programmeermethoden : stapels, rijen en binaire bomen Walter Kosters week 12: 26 30 november 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 en Vierde programmeeropgave Othello programmeren we als volgt:
Nadere informatieElfde college algoritmiek. 18 mei Algoritme van Dijkstra, Heap, Heapify & Heapsort
Algoritmiek 018/Algoritme van Dijkstra Elfde college algoritmiek 18 mei 018 Algoritme van Dijkstra, Heap, Heapify & Heapsort 1 Algoritmiek 018/Algoritme van Dijkstra Uit college 10: Voorb. -1- A B C D
Nadere informatieTweede college algoritmiek. 12 februari Grafen en bomen
College 2 Tweede college algoritmiek 12 februari 2016 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices)
Nadere informatieAlgoritmiek. 15 februari Grafen en bomen
Algoritmiek 15 februari 2019 Grafen en bomen 1 Grafen (herhaling) Een graaf G wordt gedefinieerd als een paar (V,E), waarbij V een eindige verzameling is van knopen (vertices) en E een verzameling van
Nadere informatieDATASTRUCTUREN. najaar leesboek. R. van Vliet. H.J. Hoogeboom. Opleiding Informatica. Universiteit Leiden
leesboek DATASTRUCTUREN dictaat najaar 2004 R. van Vliet H.J. Hoogeboom Opleiding Informatica Universiteit Leiden Fouten in de bundel kunt u melden bij R. van Vliet, rvvliet@liacs.nl. Inhoudsopgave 1 Data
Nadere informatieIntroductie in C++ Jan van Rijn. September 2013
Introductie in C++ Jan van Rijn September 2013 Inhoud Classes Overerving Const correctness Standard C++ library Templates Classes Voordelen van classes: Modelleren Modulariteit Informatie afschermen Makkelijk(er)
Nadere informatieStacks and queues. Introductie 45. Leerkern 45. Terugkoppeling 49. Uitwerking van de opgaven 49
Stacks and queues Introductie 45 Leerkern 45 6.1 Stacks 45 6.2 Queues 47 6.3 Double-ended queues 48 Terugkoppeling 49 Uitwerking van de opgaven 49 Bijlage: Diagrammen belangrijkste interfaces en klassen
Nadere informatieTwaalfde college algoritmiek. 13 mei Branch & Bound Heap, Heapsort & Heapify
Algoritmiek 2016/Branch & Bound Twaalfde college algoritmiek 13 mei 2016 Branch & Bound Heap, Heapsort & Heapify 1 Algoritmiek 2016/Branch & Bound TSP met Branch & Bound Mogelijke ondergrenzen voor de
Nadere informatieBomen. 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen. deel 2. Tiende college
10 Bomen deel 2 Tiende college 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen 1 arboretum ongericht 8.8 tree graphs 9.4 rooted trees ch.10 binary trees 2 gericht geordend links/rechts bomen
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 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 informatieDatastructuren Uitwerking jan
Datastructuren Uitwerking jan 2015 1 1a. Een abstracte datastructuur is een beschrijving van een datastructuur, met de specificatie van wat er opgeslagen wordt (de data en hun structuur) en welke operaties
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 informatieBomen. 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen
10 Bomen 8.8 ongerichte bomen 9.4 gerichte bomen ch 10. binaire bomen 1 Baarn Hilversum Soestdijk Den Dolder voorbeelden route boom beslisboom Amersfoort Soestduinen + 5 * + 5.1 5.2 5.3 5.4 2 3 * * 2 5.3.1
Nadere informatieJava 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 informatieStacks and queues. Hoofdstuk 6
Hoofdstuk 6 Stacks and queues I N T R O D U C T I E In dit hoofdstuk worden drie datastructuren stack, queue en deque behandeld. Om deze datastructuren te implementeren, worden onder andere arrays en linked
Nadere informatieDatatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.
Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort
Nadere informatieHoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces.
Hoofdstuk 1: Inleiding Objectoriëntatie: 1. Objecten & klassen: samenwerking van componenten om bepaald doel te bereiken; herbruikbaarheid. 2. Encapsulation: afschermen gedragingen en kenmerken van de
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 informatiepublic boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber
Tentamen TI1310 Datastructuren en Algoritmen, 15 april 2011, 9.00-12.00 TU Delft, Faculteit EWI, Basiseenheid Software Engineering Bij het tentamen mag alleen de boeken van Goodrich en Tamassia worden
Nadere informatieHOGESCHOOL VAN AMSTERDAM Informatica Opleiding. CPP 1 van 10
CPP 1 van 10 ADSdt 1-2009 TENTAMENVOORBLAD Voor aanvang van het tentamen s.v.p. de tentamengegevens goed doorlezen om eventuele misverstanden te voorkomen!! Naam student : Studentnummer : Groep : Studieonderdeel
Nadere informatieDatastructuren Uitwerking jan
Datastructuren Uitwerking jan 16 1 1a) Een ADT wordt gekenmerkt door de opgeslagen gegevens en de beschikbare operaties. De Priority Queue bevat en verzameling elementen waarbij elk element en eigen waarde
Nadere informatieElementary 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 informatieDe symmetrische min-max heap
De symmetrische min-max heap Tweede programmeeropdracht Datastructuren, najaar 2006 De symmetrische min-max heap (SMM heap) is een datastructuur waarin getallen (of andere elementen met een lineaire ordening)
Nadere informatieTree 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 informatieExamen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar Januari, **BELANGRIJK** : Schrijf je naam onderaan dit blad
Examen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar 2006-2007 23 Januari, 2007 **BELANGRIJK** : Schrijf je naam onderaan dit blad Leg volgende 3 begrippen kort en bondig uit : a. Concurrent
Nadere informatieVijfde 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 informatieImplementatie en toepassing van de trie
Implementatie en toepassing van de trie Tweede programmeeropdracht Datastructuren, najaar 2007 Een Trie is een char-aire boom, dwz. een boom waarvan knopen voor elk van de elementen van het type char (
Nadere informatieStandard Template Library (STL)
Iterators Containers STL Algoritmen Adapters Functie objecten Standard Template Library (STL) Andy Verkeyn Vakgroep Informatie Technologie Universiteit Gent Versie: November 2000 (Wijzigingen: 11/1998)
Nadere informatieZiv-Lempel-Welch Compressie
Ziv-Lempel-Welch Compressie Datastructuren, najaar 1998, tweede programmeeropdracht Het ZLW-algoritme Het ZLW compressie algoritme codeert teksten door daarin strings van variabele lengte om te zetten
Nadere informatieTwaalfde college algoritmiek. 23 mei Branch & Bound, Heapsort
College 12 Twaalfde college algoritmiek 23 mei 2013 Branch & Bound, Heapsort 1 Handelsreizigersprobleem Traveling Salesman Problem (handelsreizigersprobleem) Gegeven n steden waarvan alle onderlinge afstanden
Nadere informatieExamen 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. Lees eerst de volledige opgave (inclusief
Nadere informatieLineaire data structuren. Doorlopen van een lijst
Lineaire data structuren array: vast aantal data items die aaneensluitend gestockeerd zijn de elementen zijn bereikbaar via een index lijst: een aantal individuele elementen die met elkaar gelinkt zijn
Nadere informatieProgrammeermethoden. Controle-structuren. Walter Kosters. week 3: september kosterswa/pm/
Programmeermethoden Controle-structuren Walter Kosters week 3: 17 21 september 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Inleveren opgave 1 Inleveren: digitaal clintonobama1.cc en print van mooi.pdf.
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 informatieVierde 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 informatieTree 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 informatiesoftware constructie recursieve datastructuren college 15 5 stappen plan ontwerpen de software bestaat uiteindelijk uit datatypen functies
software constructie recursieve datastructuren college 15 software engineering highlights 1 de software bestaat uiteindelijk uit datatypen functies verbindingen geven gebruik aan main is de top van het
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 informatieint getaantalpassagiers{): void setaantalpassagiers(int aantalpassagiers);
bestand voertuig.h biz. 1 van 2 #ifndef VOERTUIG H #define VOERTUIG H #include using std::string; class Voertuig { public: Voertuig(); Voertuig(const string& inschrijvingsnumrner, const string&
Nadere informatieProgrammeermethoden. Pointers. Walter Kosters. week 10: november kosterswa/pm/
Programmeermethoden Pointers Walter Kosters week 10: 13 17 november 2017 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Pointers Introductie Een pointer is in feite gewoon een geheugenadres. Het geheugen kun
Nadere informatieC++ C++ als een verbetering van C. Abstracte datatypen met classes. Constructoren en destructoren. Subklassen. binding van functies
C++ C++ als een verbetering van C Abstracte datatypen met classes Constructoren en destructoren Subklassen binding van functies 1 Commentaar In C: /* Deze functie berekent de omtrek van een cirkel */ float
Nadere informatieAdvanced C ++ Programming Datastructuren 2018
Advanced C ++ Programming Datastructuren 2018 Jonathan K. Vis j.k.vis@lumc.nl Jonathan K. Vis Advanced C++ Programming 1 / 26 Vorige week Vragen? Tentamen, programmeeropgaven en eindcijfer; Partiële resultaten
Nadere informatieModelleren 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 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 informatieDoorzoeken van grafen. Algoritmiek
Doorzoeken van grafen Algoritmiek Vandaag Methoden om door grafen te wandelen Depth First Search Breadth First Search Gerichte Acyclische Grafen en topologische sorteringen 2 Doolhof start eind 3 Depth
Nadere informatieAlgoritmen en Datastructuren
Algoritmen en Datastructuren Harry Broeders De Haagse Hogeschool Opleiding Elektrotechniek 27 april 2015 J.Z.M.Broeders@hhs.nl Algoritmen en Datastructuren van Harry Broeders is in licentie gegeven volgens
Nadere informatieUniversiteit 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 informatieDatastructuren 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 informatieEerste college algoritmiek. 5 februari Introductie
College 1 Eerste college algoritmiek 5 februari 2016 Introductie 1 Introductie -1- docent: Jeannette de Graaf; kamer 151 e-mail: j.m.de.graaf@liacs.leidenuniv.nl assistenten: Hanjo Boekhout, Leon Helwerda,
Nadere informatie/20. richtlijnen. Lees deze richtlijnen! Log in op de pc met. login: paswoord: examen i examen001. Log in op. x.toledo.ucll.be
OPO Naam: Code: Lectoren: Programmeren voor Multimedia MBI66A F. Vogels Examen Datum: Beginuur: Duur: Hulpmiddelen: TODO TODO 3 uur Open boek /20 Student Naam:....................................................................................
Nadere informatieAlgoritmiek. 2 februari Introductie
College 1 Algoritmiek 2 februari 2017 Introductie 1 Introductie -1- docent: Rudy van Vliet rvvliet@liacs.nl assistent werkcollege: Bart van Strien bartbes@gmail.com website: http://www.liacs.leidenuniv.nl/~vlietrvan1/algoritmiek/
Nadere informatieTentamen in2705 Software Engineering
Tentamen in2705 Software Engineering Voorbeeld (bijna tweemaal te groot) U mag meenemen naar dit tentamen: Lethbridge, afdrukken PPT slides, afdrukken handouts. 1. De TU wil een nieuw systeem ontwikkelen
Nadere informatieProgrammeermethoden. Functies vervolg. Walter Kosters. week 5: 1 5 oktober kosterswa/pm/
Programmeermethoden Functies vervolg Walter Kosters week 5: 1 5 oktober 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Files manipuleren 1 Deze void-functie telt niet-lege regels in een file invoer: void
Nadere informatiepublic boolean egualdates() post: returns true i f f there i f the l i s t contains at least two BirthDay objects with the same daynumber
Tentamen TI1310 Datastructuren en Algoritmen, 15 april 2011, 9.00-12.00 TU Delft, Faculteit EWI, Basiseenheid Software Engineering Bij het tentamen mag alleen de boeken van Goodrich en Tamassia worden
Nadere informatietemplates: het probleem recursieve datastructuren college 10 gebruik template wat zouden we willen templates exceptions type-parameters!
templates: het probleem recursieve datastructuren college 10 templates exceptions typedef... El; class Knoop El head; Knoop* tail; ; void swap ( El& x, El& y ) const EL t = x; x = y; y = t; er is maar
Nadere informatieDatastructuren en algoritmen
Datastructuren en algoritmen Doelstelling Datastructures + algorithms = programs Boek van Niklaus Wirth: bedenker Pascal en Modula Datastructuur: structuur om informatie op te slaan Algoritme: voorschrift
Nadere informatieEen gelinkte lijst in C#
Een gelinkte lijst in C# In deze tutorial ga demonstreren hoe je een gelinkte lijst kan opstellen in C#. We gaan een klasse schrijven, die een gelijkaardige functionaliteit heeft als een ArrayList, namelijk
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 informatieEE1400: Programmeren in C BSc. EE, 1e jaar, , 3e college
EE1400: Programmeren in C BSc. EE, 1e jaar, 2012-201, e college Arjan van Genderen, Computer Engineering 4-12-2012 Delft University of Technology Challenge the future Hoorcollege Arrays, Pointers en Strings
Nadere informatieModulewijzer Tirdat01
Modulewijzer Tirdat01 W. Oele 25 augustus 2008 1 Inhoudsopgave 1 Inleiding en leerdoelen 3 2 Voorkennis 3 2.1 tirprg01 en tirprg02........................ 3 2.2 tirprg03.............................. 4
Nadere informatieUitwerking 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 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 informatiewaar is hier de uitgang?
waar is hier de uitgang? Titel van de presentatie Hendrik Jan Hoogeboom Ouderdag 18 mei 2013 Algoritmen in het Doolhof Ouderdag 18.4 15 Hendrik Jan Hoogeboom Universiteit Leiden. Bij ons leer je de wereld
Nadere informatieDe Leidsche Flesch Studievereniging voor Natuurkunde, Sterrenkunde, Wiskunde en Informatica sinds DLF Pointerworkshop
DLF Pointerworkshop Opgaven 2 maart 2016 XKCD # 371 In dit document staan een aantal oude tentamenopgaven om te oefenen voor het hertentamen PR Bij de selectie is rekening gehouden met de opgaven die het
Nadere informatieTentamen 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 informatieProgrammeren 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 informatieC++ programmeermethoden Bachelor Kunstmatige Intelligentie
C++ programmeermethoden Bachelor Kunstmatige Intelligentie laatste (2e) Deeltentamen Datum: 1 juni 2017 Tijd: 17.00-19.00 Aantal pagina s: 12 (inclusief voorblad) Aantal vragen: 5 Maximaal aantal te behalen
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 informatiecolleges recursieve datastructuren college 9 prioriteit van operatoren prioriteit in recursive descent parser
colleges recursieve datastructuren college 9 interpreteren: waarde van bomen bepalen transformeren: vorm van bomen veranderen parseren herkennen van expressie in de tekst herkennen van functies onderwerp
Nadere informatieGertjan Laan Aan de slag met C++ Vijfde editie
Hoofdstuk 1 Paragraaf 1.8 Vragen 1. Wat is de functie van een compiler? Een compiler vertaalt een programma dat geschreven is in een hogere programmeertaal zoals C++ (de broncode) naar een code die begrepen
Nadere informatieExamen Datastructuren en Algoritmen II
Tweede bachelor Informatica Academiejaar 2014 2015, eerste zittijd Examen Datastructuren en Algoritmen II Naam :.............................................................................. Lees de hele
Nadere informatieVijfde college algoritmiek. 17 maart Exhaustive search Graafwandelingen Backtracking
College 5 Vijfde college algoritmiek 17 maart 2016 Exhaustive search Graafwandelingen Backtracking 1 Exhaustive search Exhaustive search: brute force benadering voor problemen die te maken hebben met het
Nadere informatieWat is FP? The Haskell School of Expression. Functies. Types 1+1=2. Iedere expressie (en waarde) heeft een type.
Wat is FP? The Haskell School of Expression Functioneel Programmeren Een andere manier om tegen programmeren aan te kijken Gebaseerd op het uitrekenen van expressies 1+1=2 Eenvoudig maar krachtig (modulair,
Nadere informatieVakgroep CW KAHO Sint-Lieven
Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be
Nadere 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 informatieEE1400: Programmeren in C BSc. EE, 1e jaar, , 4e college
EE1400: Programmeren in C BSc. EE, 1e jaar, 2012-2013, 4e college Arjan van Genderen, Computer Engineering 11-12-2012 Delft University of Technology Challenge the future Mededelingen Voortgangstoets: Woensdagmiddag
Nadere informatieAmorized Analysis en Union-Find Algoritmiek
Amorized Analysis en Union-Find Vandaag Amortized analysis Technieken voor tijdsanalyse van algoritmen Union-find datastructuur Datastructuur voor operaties op disjuncte verzamelingen Verschillende oplossingen
Nadere informatieTentamen 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 informatiedefinities recursieve datastructuren college 13 plaatjes soorten Graph = ( V, E ) V vertices, nodes, objecten, knopen, punten
recursieve datastructuren college graphs definities Graph = ( V, E ) V vertices, nodes, objecten, knopen, punten E edges, arcs, kanten, pijlen, lijnen verbinding tussen knopen Voorbeelden steden en verbindingswegen
Nadere informatie9 Meer over datatypen
9 Meer over datatypen We hebben al gezien dat het gebruik van symbolische constanten de leesbaarheid van een programma kan verbeteren. Door een geschikte naam (identifier) voor een constante te definiëren,
Nadere informatieZevende college Algoritmiek. 6 april Verdeel en Heers
Zevende college Algoritmiek 6 april 2018 Verdeel en Heers 1 Algoritmiek 2018/Backtracking Programmeeropdracht 2 Puzzel 2: D O N A L D G E R A L D + R O B E R T Elke letter stelt een cijfer voor (0,1,...,9)
Nadere informatieProgrammeren in Java les 3
4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een
Nadere informatieProgrammeermethoden. Arrays. Walter Kosters. week 7: oktober kosterswa/pm/
Programmeermethoden Walter Kosters week 7: 15 19 oktober 2018 www.liacs.leidenuniv.nl/ kosterswa/pm/ 1 Nonogrammen Japanse puzzels (Nonogrammen) zien er zo uit: 1 1,1 1 1,1 1 0 1,1 0 1,1 3 7 7 7 7 7 7
Nadere informatieDatastructuren en algoritmen voor CKI
Datastructuren en algoritmen voor CKI Jeroen Bransen 1 30 september 2015 1 met dank aan Hans Bodlaender en Gerard Tel Dynamische verzamelingen Stack implementaties Array met maximale grootte Linked List
Nadere informatieTentamen 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 informatieExamen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni 2011
Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2010-2011 21 juni 2011 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief
Nadere informatieZevende college algoritmiek. 23/24 maart Verdeel en Heers
Zevende college algoritmiek 23/24 maart 2017 Verdeel en Heers 1 Algoritmiek 2017/Backtracking Tweede Programmeeropdracht 0 1 2 3 0 1 2 3 4 1 2 3 4 5 2 Algoritmiek 2017/Backtracking Tweede Programmeeropdracht
Nadere informatieC++ programmeermethoden Bachelor Kunstmatige Intelligentie
C++ programmeermethoden Bachelor Kunstmatige Intelligentie 1e Deeltentamen Datum: 28 maart 2016 Tijd: 13.00-14.30 Aantal pagina s: 8 (inclusief voorblad) Aantal vragen: 5 Maximaal aantal te behalen punten:
Nadere informatieUitwerking 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 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 informatieHoofdstuk 2. Week 4: Datastructuren. 2.1 Leesopdracht. 2.2 Bomen. 2.3 Definitie
Hoofdstuk 2 Week 4: Datastructuren 2.1 Leesopdracht In het hoorcollege komen lijsten en bomen aan de orde. De eerste datastructuur komt in het boek in bladzijden 317-333 aan de orde. In dit dictaat komt
Nadere informatieVraag 1: HashTable [op 2 punten van de 20] Gegeven de header file HashTable.h van een hashtabel die pointers naar strings bijhoudt (in bijlage).
Examen SoftwareOntwikkeling I 2e Bachelor Informatica Faculteit Wetenschappen Academiejaar 2009-2010 22 januari, 2010 **BELANGRIJK** 1. Schrijf je naam onderaan op elk blad. 2. Vragen 1,2 en 3 gaan enkel
Nadere informatieDatastructuren; (Zoek)bomen
Datastructuren; (Zoek)bomen Bomen, zoekbomen, gebalanceerde zoekbomen José Lagerberg FNWI, UvA José Lagerberg (FNWI, UvA) Datastructuren; (Zoek)bomen 1 / 50 Bomen Traversal van bomen Datastructuur van
Nadere informatieDatastructuren college 10
we hadden Backtracking verbetering i i Datastructuren college 0 0: : : 0: : : P r r r r r b r b r P r r r b r b r backtracking we hoeven vaak de kandidaat niet helemaal af te maken om hem te kunnen verwerpen
Nadere informatieOvererving & 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 informatieTentamen Inleiding Programmeren (IN1608WI), duur van de toets 2 uur Technische Universiteit Delft, Faculteit EWI, Afdeling 2.
Tentamen Inleiding Programmeren (IN1608WI), duur van de toets 2 uur Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Gesloten boek examen: er mag geen gebruik worden gemaakt van het studieboek.
Nadere informatieSyntax- (compile), runtime- en logische fouten Binaire operatoren
Inhoud Syntax- (compile), runtime- en logische fouten Binaire operatoren Operaties op numerieke datatypen Evaluatie van expressies, bindingssterkte Assignment operaties en short-cut operatoren Controle
Nadere informatie