Gertjan Laan Aan de slag met C++ Vijfde editie

Maat: px
Weergave met pagina beginnen:

Download "Gertjan Laan Aan de slag met C++ Vijfde editie"

Transcriptie

1 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 wordt door bijvoorbeeld de microprocessor van een PC (de doelcode). 2. Noem de namen van drie hogere programmeertalen. Fortran, Algol 60, Algol 68, Pascal, Simula, SmallTalk, C, Basic, C++, Java, C#, Python, Ruby 3. Waarom moet een programma dat in een hogere programmeertaal is geschreven vertaald worden naar machinecode? Het verschil tussen een hogere programmeertaal en machinecode is zo groot, dat machinecode voor mensen vrijwel niet leesbaar is, en een programma in een hogere programmeertaal voor een microprocessor onleesbaar is. Een voor de hand liggende oplossing voor dit probleem is het maken van een vertaling. 4. Wat doet een linker? Een linker koppelt verschillende gedeelten van een programma aan elkaar. Bijvoorbeeld koppelt de linker de object code die door een compiler gemaakt is aan functies die in een standaard library beschikbaar zijn. 5. Uit welke gedeelten bestaat een functie in C++? Uit een kop(header), waarin de naam van de functie staat, en uit een body, waarin de opdrachten staan die de functie moet uitvoeren. 6. Wat is main() voor een speciale functie? Dit is de functie die als eerste wordt uitgevoerd in elk C++ programma. 7. Waartoe dienen header-bestanden? Header files bevatten belangrijke informatie voor de compiler: constanten, prototypen en klassen. 8. Met welk symbool begint commentaar? Met een dubbele slash, dus met: // 9. Hoe kun je een preprocessor directive herkennen? Aan het hekje: # 10. Wat is een stream? Een stream kun je opvatten als een stroom van gegevens, bijvoorbeeld de stroom van tekens die je via het toetsenbord de computer in voert. 11. Met behulp van welk object kun je gegevens vanuit je programma naar het beeldscherm sturen? Met cout. 12. Met behulp van welk object kun je gegevens via het toetsenbord naar je programma sturen? Met cin. 13. Welke include-directive moet je in het programma zetten om cout en cin te kunnen gebruiken? #include <iostream> 14. Wat is het verschil in resultaat tussen de volgende twee statements: cout << " "; en 1

2 cout << ( ); In het eerste geval komt er op het scherm: In het tweede geval komt er: Wat doet de extraction-operator? En wat de insertion-operator? De extraction-operator >> haalt gegevens uit de stream cin. De insertion-operator << stopt gegevens in de stream cout. Hoofdstuk 2 Paragraaf 2.14 Vragen 1. Wat is het verschil tussen een constante en een variabele? Een constante heeft een naam die een bepaalde waarde vertegenwoordigt die je niet kunt wijzigen. Ook een variabele heeft een naam, maar de waarde die de variabele bevat kun je wel wijzigen. 2. Welke basistypen voor gehele getallen bestaan er in C++? En welke voor gebroken getallen? Gehele getallen: short, int, long. Gebroken getallen float, double, long double. 3. Wat zal de waarde van de variabelen resultaat1 en resultaat2 in het volgende stukje programma zijn? int x = 13, y = 7; double resultaat1, resultaat2; resultaat1 = x / y; resultaat2 = x % y; resultaat1: 1 resultaat2: 6 4. Wat is een cast? Een cast is een middel om conversie van het ene naar het andere type af te dwingen. 5. Wat zal de waarde zijn van de variabele resultaat: int x = 13, y = 7; double resultaat; resultaat = static_cast<double>( x ) / y; resultaat: Welke type-conversies vinden er plaats in de laatste regel van het volgende fragment: short s = 5; int i = 1000; long lg = L; double totaal; totaal = (s + i) * lg; Van short naar int naar long naar double. 7. Wat is het Nederlandse woord voor assignment? Toekenning. 8. Welke assignment-operatoren zijn er in C++? = += -= *= /= %= 2

3 9. Wat is de scope van een variabele? Het gedeelte in een programma waarin je de variabele kunt gebruiken. In principe vanaf de plaats van de declaratie tot het einde van het blok waarin de variabele is gedeclareerd. 10. Wat is na afloop de waarde van som? int x = 3, y = 5, som = 100; x++; y += 5; som += x; som += y; som: Wat verandert er aan de waarde van som als je in het vorige fragment het statement x++ vervangt door ++x? Niets. Hoofdstuk 3 Paragraaf 3.9 Vragen 1. Zijn de volgende uitdrukkingen waar of niet waar (true of false) als x de waarde 2 heeft: a. x!= 2 && x > 0 b. x == 2 && x > 0 c. x!= 2 x > 0 d. x == 2 x > 0 e.!( x!= 2 ) a. false b. true c. true d. true e. true 2. Welke relationele operatoren zijn er in C++? < > <= >= == en!= 3. Welke logische operatoren zijn er? && en! 4. Geldt de waarde -1 als true of als false? true Alleen 0 geldt als false. 5. Benoem de operanden en de operatoren in de volgende expressie:!( x > 5 && x < 10 ) x en 5 zijn operanden van de operator > x en 10 zijn operanden van de operator < x>5 en x<10 zijn operanden van de operator && x>5 && x < 10 is operand van de operator! 6. Uit welke onderdelen bestaat het controle-gedeelte van een for-statement? Initialisatie van de controle-variabele, conditie, en een verandering van de controle-variabele 3

4 7. Moet de controle-variabele van een for-statement altijd van het type int zijn? Nee, bijvoorbeeld char of double kan ook. 8. Moet je de controle-variabele van een for-statement altijd in de body van het for-statement gebruiken? Nee. 9. Kan de body van een for-statement uit meer dan één statement bestaan? Ja, je moet dan wel accolades gebruiken. 10. Hoe ziet een for-statement er uit dat het alfabet in hoofdletters in omgekeerde volgorde op het scherm zet? for( char ch = 'Z', ch >= 'A'; ch-- ) cout << ch; 11. Schrijf een for-statement dat alle oneven getallen tussen 1 en 23 op het scherm zet (1 en 23 mogen zelf niet in de uitvoer voorkomen). for( int i = 3; i < 23; i += 2 ) cout << i << endl; 12. Wat is er fout aan het volgende fragment? for( int i = 1; i <= 5; i++ ) { cout << i * i << endl; cout << i; De variabele i is gedeclareerd in het for-statement en de scope van i eindigt bij de sluitaccolade van het for-statement. Bij de opdracht cout<<i; krijg je een foutmelding. Hoofdstuk 4 Paragraaf 4.14 Vragen 1. Wat zal precies de uitvoer van het programma in voorbeeld 4.10 zijn nadat je het getal 101 hebt ingetikt? Alleen de tekst: Tik een oneven getal in kleiner dan 100: Verder niets. 2. Wat zijn de overeenkomsten en verschillen tussen een if-(else-)statement en een switchstatement? Overeenkomst: het zijn beide statements die keuzes mogelijk maken. Verschil: bij een if-else-statement bestaat de keuze uit slechts twee mogelijkheden, bij een switchstatement is het aantal keuzemogelijkheden praktisch onbeperkt. 3. Kun je elk if-else-statement herschrijven met behulp van een switch-statement? Ja. Bijvoorbeeld: if( x > 0 ) cout << "pos"; else cout << "neg"; wordt: switch( x > 0 ) { case 1: cout << "pos"; break; case 0: cout << "neg"; break; 4

5 4. Wat zijn de overeenkomsten en verschillen tussen een while-statement en een if-statement? Overeenkomsten: a. het eerste wat er gedaan wordt is een test uitvoeren b. als de test 'niet waar' levert dan wordt de body van het statement overgeslagen en is het statement klaar Verschil: while-statement is een herhalingsopdracht, waarbij steeds opnieuw de test gedaan wordt, en de body eventueel een onbeperkt aantal keren wordt uitgevoerd. De body van een if-statement wordt hoogstens 1 keer uitgevoerd. 5. Wat is het belangrijkste verschil tussen een while-statement en een do-statement? Bij een while-statement vindt de test vooraf plaats, bij een do-statement achteraf. De body van een do-statement wordt daarom altijd minstens een keer uitgevoerd. 6. Hoe ziet voorbeeld 4.14 eruit als je de for-statements vervangt door twee gelijkwaardige whilestatements? int main() { int rij = 1, kolom, getal; while( rij <= 5 ) { kolom = 1; while( kolom <= 10 ) { getal = rij * kolom; cout << setw( 4 ) << getal; kolom++; cout << endl; rij++; cin.get(); return 0; 7. Hoe kun je een oneindige loop maken? Met: while( true ) of met while( 1 ) of met: for( ; ; ) 9. Leg uit wat het verschil is tussen een if-statement en een if-else-statement. Een if-statement heeft geen else-gedeelte 11 Ga na hoe het volgende programma werkt: #include <iostream> using namespace std; int main() { char ch; cout << "Tik uw naam in gevolgd door een punt en Enter" << endl; for( ch = cin.get() ; ch!= '.'; ch = cin.get() ); cin.get(); cout << endl << "Bedankt"; 5

6 In het for-statement worden door middel van ch = cin.get() herhaald letters van het toetsenbord ingelezen, totdat je op de punt (en Enter) drukt. Bij het intikken van de punt levert het stopcriterium 'niet waar', en stopt het for-statement. Hoofdstuk 5 Paragraaf 5.17 Vragen 1. Wat is een prototype? Waar dient het voor? Een prototype is de declaratie of aankondiging van een functie, met daarin de naam van de functie, het type van de functiewaarde (als die er is) en de typen van de argumenten (als die er zijn). Een prototype maakt aan de compiler duidelijk wat de namen zijn van de functies die in dit programma gebruikt kunnen worden, zodat de compiler in staat is te controleren of de functies op een correcte manier worden aangeroepen. 2. Wat is een functie-aanroep? Het noemen van de naam van een functie (met eventuele argumenten) waardoor de functie geactiveerd wordt. 3. Waarom hebben veel functies argumenten? Om hun inzetbaarheid te vergroten. 4. Welke header-file is nodig om wiskundige functies te kunnen gebruiken? <math> 5. Welk statement moet je gebruiken om een functiewaarde af te leveren? Het return-statement. 6. Wat is een value-argument? Een value-argument is een argument waarbij de waarde van het actuele argument (het argument in de aanroep) gekopieerd wordt naar het formele argument (het argument in de functie-definitie). 7. Wat is een reference-argument? Een argument met een ampersand (&) achter het type. Zo'n argument is een alias voor het actule argument waarmee de functie wordt aangeroepen. 8. Wat is een default-argument? Een argument met een default waarde, dat wil zeggen een waarde die dat argument automatisch krijgt als in de aanroep van de functie dat argument ontbreekt. 9. Wat is het verschil tussen een value-argument en een reference-argument? Bij een value-argument wordt de waarde van het argument in de functie-aanroep gekopieerd. Een reference argument is een alias voor het argument waarmee de functie wordt aangeroepen. 10. Stel dat de volgende declaraties gegeven zijn: int a = 13, b = 76; void bewerk( int x, int& y ); Welke van onderstaande functie-aanroepen zijn dan niet correct en waarom niet? bewerk( 1, 51 ); bewerk( a, 2 ); bewerk( 3, b ); bewerk( a, b ); Niet correct: bewerk( 1, 51 ); bewerk( a, 2 ); Omdat y een referentie is, moet y worden aangeroepen met de naam van een 6

7 variabele, en niet met een waarde. 11. Wat is het verschil tussen return by value en return by reference? In het geval van return by value levert de functie een waarde af die in allerlei uitdrukkingen gebruikt kan worden waar waarden van dat type zijn toegestaan. In het geval van return by reference levert de functie een referentie af, simpel gezegd levert de functie een variabele af. Dat betekent dat de functieaanroep aan de linkerkant van een assignment mag staan. 12. De voorbeelden 5.13 en 5.14 hebben hetzelfde resultaat, maar de manier waarop dit resultaat bereikt wordt is verschillend. Leg beide programma's naast elkaar en noem de verschillen. In voorbeeld 5.13 wordt de waarde van bedrag veranderd doordat via de functie-aanroep het reference argument gift een alias wordt voor bedrag. In voorbeeld 5.14 wordt de waarde van bedrag veranderd doordat de functiewaarde via een toekenning in bedrag terecht komt. 13. Wat is functie-overloading? Het gebruik van verschillende functies met dezelfde naam. 14. Wat is een lokale variabele? Wat is een statische variabele? En wat is een globale variabele? Een lokale variabele is een variabele die in een functie gedeclareerd is en die aangemaakt wordt op het moment dat de betreffende functie geactiveerd wordt en waarvan de scope hoogstens tot het einde van de functie doorloopt. Een statische variabele is een variabele die in een functie gedeclareerd is met het woord static ervoor. Een statische variabele wordt meteen bij het begin van het programma aangemaakt, en blijft gedurende de loop van het hele programma bestaan. Een globale variabele is een variabele die buiten een functie gedeclareerd is. 15. Bekijk het volgende programma en voorspel wat de uitvoer zal zijn. Waarom is er gebruik gemaakt van een reference-argument? Wat zal de uitvoer zijn als de ampersand wordt weggelaten? #include <iostream> #include <math> using namespace std; void test( double a, double b, double& res ); int main() { double x; test( 3, 4, x ); cout << x; void test( double a, double b, double& res ) { res = sqrt( a * a + b * b ); De uitvoer is: 5.0 res is een reference argument, zodat res een alias voor x wordt, en x een waarde krijgt via res. Als je de ampersand weglaat, krijgt x geen waarde en is de waarde van x ongedefinieerd. Hoofdstuk 6 Paragraaf 6.20 Vragen 1. Wat is een adres? Het nummer van een geheugenplaats. 7

8 2. Wat is het verschil tussen het adres en de waarde van een variabele? Het adres van een variabele is het nummer van de geheugenplaats. De waarde van de variabele is de inhoud van die geheugenplaats 3. Wat is array bounds checking? Gebeurt dat automatisch in C++? Controleren of de boven- of ondergrens van de index van een array niet overschreden wordt. Gebeurt niet automatisch. 4. Wat is een pointer? Een variabele die een adres bevat. 5. Als p een pointer naar int is, en p wijst naar het begin van een int-array, hoe moet je p++ dan opvatten? p++ verhoogt de pointer met 1, dat wil zeggen dat de pointer het adres bevat van het volgende array element. Dus het element met index Stel dat de volgende array gedeclareerd is : int a[ 5 ] = { 10, 20, 30, 40, 50 ; Welke getal heeft index 2? Wat is de grootst toegestane index? En wat de kleinste? index 2: 30 grootste index: 4 kleinste index: 0 7. Pointers en arrays hangen nauw samen. Wat is hun samenhang? De naam van een array is het adres van het eerste (nulde) element van dat array. Dit adres kun je in een pointer opbergen. 8. Wanneer zet je const voor een array-argument? Als je niet wilt dat de functie de waarden in de array kan veranderen. 9. Wat is een const-pointer? Wat is het verschil met een constante pointer? Een const-pointer is een pointer waarmee je de inhoud van het element waar de pointer naar wijst niet kunt veranderen (dus *p kun je geen andere waarde geven). Je kunt p wel naar een ander element laten wijzen, met een constante pointer kan dat laatste niet. 10. Stel dat de volgende functie-pointer gedeclareerd is: void (*f)( int, double ); Naar wat voor functie kan f dan wijzen? Naar een functie die twee argumenten heeft, het eerste argument van het type int en het tweede argument van het type double. De functie levert geen functiewaarde. Hoofdstuk 7 Paragraaf 7.12 Vragen 1. Wat is een C-string? Een array met karakters eindigend op het nul-karakter '\0' 2. Wat is het verschil tussen een C-string en een string? Een string is een object dat je veel makkelijker kunt initialiseren en kopiëren dan een C-string. 8

9 3. Wat is concatenatie? Het achter elkaar plakken van strings. 4. Wat is een iterator? Wat is een past-the-end iterator? Een iterator is een pointer-achtig object dat een element in een string of een vector aanwijst. Een past-the-end iterator is een iterator die één voorbij het laatste element in een string of vector wijst. 5. Hoe noteer je een range voor een iterator en wat betekent dat? Met een rechte en ronde haak: [a,b)of [a,b>. Dat betekent dat de range loopt van a tot b 6. Waarom is een vector een verbeterd array? Een vector kan groeien als je er met push_back() elementen in stopt, een array niet. Een vector is makkelijker te kopiëren dan een array. 7. Hoe declareer je een iterator voor een string? En hoe een iterator voor een vector met intwaarden? string::iterator pos1; vector<int>::iterator pos2; 8. Wat is het verschil tussen size() en capacity() bij een vector? size()geeft het aantal elementen in de vector aan. capacity() geeft het aantal elementen in dat er maximaal in kan, alvorens de vector vergroot moet worden. 9. Als deze array gegeven is: int rij[] = { 3, 7, 11, 13, 15, 23, 24, 35, 40, 63, 121, 132, 144 ; Hoe kun je een vector<int> initialiseren met behulp van de waarden uit deze array? vector<int> v( rij, rij + 13 ); Hoofdstuk 8 Paragraaf Vragen 1. Wat is een klasse? Een klasse is een beschrijving voor objecten. De onderdelen van een klasse bestaan in het algemeen uit variabelen en functies. 2. Leg uit wat het verschil is tussen een klasse en een object. Een klasse is de beschrijving van een nieuw type. Een object is een variabele die gemaakt is volgens zo'n beschrijving. 3. Wat is een instantievariabele? Waarom heeft een dergelijke variabele juist die benaming? Een instantievariabele is een variabele die in een klasse is gedefinieerd, en waar elk object (instantie) dat je van die klasse maakt zijn eigen exemplaar heeft. Een ander woord voor instantievariabele is objectvariabele, juist omdat elk object zijn eigen variabele heeft. 4. Wat is een constructor? Welke taak wordt meestal door een constructor uitgevoerd? Een constructor is een speciale lidfunctie die automatisch wordt aangeroepen bij de declaratie van een object. Een constructor zorgt vaak voor de initialisatie van de variabelen in het object. 9

10 5. Op welke manier kun je data hiding bewerkstelligen. Waar dient data hiding voor? Door variabelen in een klasse te specificeren met het woord private. Data-hiding is een middel om gegevens te beschermen tegen abusievelijk gebruik; alleen de eigen lidfuncties hebben toegang tot de data. 6. Met welke functie geef je de attributen van een object een beginwaarde? Met een constructor. 7. Uit welke drie gedeelten bestaat een klassendiagram van een enkele klasse? De naam van de klasse, de attributen (instantievariabelen, objectvariabelen, velden) en de functies (methoden). 8. Wat is de betekenis van public en private in een C++-programma? public: toegankelijk van buiten de klasse private: alleen toegankelijk binnen de klasse 9. Wat zijn getters en setters? Wat is een mutator, en wat een accessor? Met een getter (=accessor) kun je de waarde van een attribuut in een object opvragen. Met een setter ( = mutator) kun je een attribuut in een object een waarde geven. 10. Waarom is het handig in je eigen klassen een functie tostring() te definiëren? Omdat je daarmee makkelijk de waarden van de attributen van een object kunt opvragen. 11. Hoe geef je in UML een associatie tussen klassen aan? Met een pijl. 12. Wat is een inline-functie? Een functie waarvan de definitie in de klasse staat, en waarbij op machinecode-niveau geen traditionele functie-aanroep te pas komt. 13. Waarom zou je een lidfunctie als const lidfunctie declareren? Dit maakt duidelijk dat deze lidfunctie niet van plan is het object waarmee hij wordt aangeroepen te veranderen. 14. Wat is een initialisatielijst? Een lijst gescheiden door een dubbele punt van de kop van de constructor. Via deze lijst krijgen de atrributen in een object een waarde. 15. Wat is een default-constructor? Kan een klasse meer dan één default-constructor hebben? De constructor die zonder argumenten kan worden aangeroepen. Nee. 16. Kan een klasse meer dan één default-constructor hebben? Nee. Dat zou bij het aanroepen van de default-constructor tot ambiguïteit leiden. 17. Wordt de default-constructor altijd automatisch door de compiler gegenereerd? Nee, alleen als de klasse geen enkele constructor heeft. 18. Wat zijn default-argumenten? Argumenten met een default waarde, dat wil zeggen een waarde die dat argument automatisch krijgt als in de aanroep van de functie dat argument ontbreekt. 19. Heeft een default-constructor altijd default-argumenten? Nee, het kan een constructor zonder een enkel argument zijn. 10

11 20. Waarom zou je een klasse meer dan één constructor geven? Om objecten op verschillende manieren automatisch te kunnen initialiseren. Hoofdstuk 9 Paragraaf 9.8 Vragen 1. Hoe heet de relatie tussen klassen? Een associatie. 2. Hoe heet het aantal objecten dat in een relatie tussen klassen is betrokken? De multipliciteit. 3. Hoe geef je een collectie aan in een klassendiagram? Met een sterretje. 4. Met welk programma kun je documentatie bij klassen en functies maken? Bijvoorbeeld met doxygen. 5. Hoe kun je in de broncode documentatie aangeven? Beginnen met /** en eindigen met */ 6. Welke rol spelen zelfstandige naamwoorden in de analyse van een probleem waarvoor je software moet ontwikkelen? Zelfstandige naamwoorden leiden vaak tot klassen. 7. Welke rol spelen werkwoorden daarbij? Werkwoorden leiden vaak tot functies. 8. Wat is een compositie? Een twee-eenheid tussen objecten. Als je het ene object vernietigt, wordt (automatisch) ook het andere object vernietigd. 9. Wat is een aggregatie? Een losser verband tussen twee objecten dan een compositie. Als je het ene object vernietigt, blijft het andere object bestaan. 10. Wanneer gebruik je een compositie? Wanneer een aggregatie? Als het zinvol is dat het ene object blijft bestaan als het andere wordt vernietigd, gebruik je een aggregatie. Anders een compisitie. Hoofdstuk 10 Paragraaf 10.7 Vragen 1. Wat is conversie? Omzetting van het ene type in het andere, waarbij type een standaard type of een klasse kan zijn. 2. Waaraan moet een constructor voldoen om een int naar een klasse te converteren? Hij moet aangeroepen kunnen worden met één argument dat van het type int is. 3. Wat doet een copy-constructor? Zorgt voor het kopiëren van een object. 4. Met welke preprocessor-opdrachten kun je een gedeelte van een programma voorwaardelijk laten compileren? 11

12 #define Label... #ifdef Label... #endif 5. Wat is het verschil tussen initialisatie en toekenning? Initialisatie vindt plaats bij de definitie (= het maken) van een object, een assignment vindt plaats als het object al gedefinieerd is. 6. Als een functie een object als functiewaarde moet afleveren, dan gebeurt dat meestal via een tijdelijk object. Wat is een handige manier om zo'n object af te leveren? Door in het return-statement gebruik te maken van een constructor, bijvoorbeeld: return Bestuurslid( lidnaam, lidnr ); 7. Wat is operator overloading? In wezen hetzelfde als functie-overlading: het meervoudig gebruik van dezelfde operator. 8. Stel dat x, y en z objecten zijn van de klasse K, en stel dat je schrijft: z = x + y; Naar welke operator-functie gaat de compiler dan op zoek? Bijvoorbeeld naar de volgende operator in de klasse K: K operator+( const K& x ) const; En als je schrijft: z = - x; Welke operator-functie hoort daar dan bij? Bijvoorbeeld: K operator-() const; 9. Wat is de pointer this? Wat is *this? In een lidfunctie is this een pointer naar het object waar die lidfunctie mee wordt aangeroepen. Dus *this is dat object. 10. Bij overladen van een toekenningsoperator kun je het beste de operator een referentie laten afleveren. Waarom? Om een zo groot mogelijke overeenkomst met de toekenningsoperator voor standaard typen te bewerkstelligen, zodat je met de objecten a, b en c bijvoorbeeld kunt schrijven: a = b = c; 11. Wanneer heb je een friend-operator nodig? Bijvoorbeeld als je een int met een instantie van een zelf gedefinieerde klasse (in deze volgorde!) wilt vermenigvuldigen. 12. Als een friend-operator een operator die lid is van een klasse vergelijkbaar werk doen, waarom heeft de friend-operator dan één argument meer? Een friend-operator is geen lidfunctie, maar een gewone globale operator-functie, dus het object waarmee de operator geactiveerd wordt moet via een argument aan de operator bekend worden gemaakt. 13. Gegeven is: class Persoon { private: string naam; public: Persoon( const string& n ) : naam( n ) { 12

13 ; Hoe zou een conversie-functie van de klasse Persoon naar de klasse Bewoner uit paragraaf 10.7 er uit kunnen zien? Definieer in de klasse Persoon: operator Bewoner() { return Bewoner( naam ); Hoofdstuk 11 Paragraaf Vragen 1. Noem een aantal redenen voor overerving. Herbruikbaarheid van klassen, een nieuw programma hoeft niet van de grond af te worden opgebouwd, bestaande library's kunnen intact worden gelaten en toch aangepast worden door nieuwe klassen te definiëren die erven van een bestaande klasse. 2. Wat erft een afgeleide klasse? In beginsel alles, maar geen constructoren, geen destructor, geen friend-relaties en geen zelfgedefinieerde new-operator of toekenningsoperator. 3. Wordt bij de declaratie van een object van een afgeleide klasse de default-constructor van de basisklasse altijd aangeroepen? Ja. 4. Wat is functie-overriding? Wat is functie-overloading? Van overriding is sprake als in een afgeleide klasse een functie dezelfde naam en dezelfde argumenten (type en aantal) heeft als een functie in de basisklasse. Bij overloading hebben functies in dezelfde klasse weliswaar dezelfde naam, maar juist niet dezelfde argumenten. 5. Wat is er speciaal aan de specifier protected? protected leden zijn toegankelijk vanuit afgeleide klasse (alsof het public leden zijn), maar niet toegankelijk van buitenaf (alsof het private leden zijn). 6. Via overerving kun je een zekere hiërarchie nabootsen. Hoe kun je die hiërarchie het best omschrijven? Het is een hiërarchie van algemeen (basisklasse) naar bijzonder (afgeleide klasse). 7. De ambiguïteit van k.spreek() in voorbeeld 11.7 kun je oplossen door het Kind zijn eigen spreek-functie te geven. Hoe zou die functie er uit kunnen zien, gebruik makend van de spreekfunctie van Moeder? void Kind::spreek() { Moeder::spreek(); Hoofdstuk 12 Paragraaf Vragen 1. Wat is dynamisch geheugen? Geheugen dat tijdens de uitvoering van het programma (in runtime) wordt aangevraagd. 2. Wat is het verschil tussen een statische en een dynamische array? Wat is het verschil in de declaratie van beide? Bij een statisch array moet de grootte tijdens de vertaling van het programma vastliggen, bij een dynamisch array hoeft dat niet. Declaratie van een statisch array: 13

14 int a[ 100 ]; Dynamisch array (er van uitgaande dat aantal een waarde heeft gekregen): int* a; a = new int[ aantal ]; 3. Wat is een destructor? De lidfunctie die een object vernietigd. 4. Wanneer moet je een destructor schrijven? Als een object dynamisch geheugen gebruikt. Als het object aan het einde van zijn scope komt wordt het dynamisch geheugen waar het object naar verwijst niet automatisch opgeruimd. 5. Wat is het verschil tussen een ondiepe en een diepe kopie? Bij een diepe kopie wordt ook het dynamisch geheugen dat bij een object hoort gekopieerd, bij een ondiepe kopie niet. 6. Waarom heb je in sommige gevallen een zelfgedefinieerde copy-constructor en toekenningsoperator nodig? Om diepe kopieën te maken. 7. Wat zijn de verschillen tussen de copy-constructor en de assignment-operator van de klasse IntArray in voorbeeld 12.6? De assignment-operator verricht iets meer werk: omdat deze met een bestaand object werkt, wordt eerst het dynamisch geheugen vrijgegeven met delete[] p; Bovendien levert de operator een referentie af om constructies als a = b = c; mogelijk te maken. 8. Waarom moet de index-operator voor de klasse IntArray een referentie afleveren? Omdat je de index operator ook aan de linkerkant van een assignment wilt kunnen gebruiken, zoals in: x[0] = 45; 9 Hoe kun je een iterator voor een lijst met int-waarden implementeren? Maak een klasse met daarin een pointer naar int. Zorg dat de klasse over de operatoren *,!= en ++ beschikt. Hoofdstuk 13 Paragraaf Vragen 1. Het mechanisme achter templates lijkt op "zoeken en vervangen". Leg dit uit. Het template argument wordt vervangen door het type van het argument waarmee de functie wordt aangeroepen. 2. Als T de naam is van een template-argument hoe ziet de template prefix er dan uit? template <typename T> 3. Geef de implementatie van een template-functie T minimum(const T& a, const T& b) die de kleinste van a en b aflevert. template <typename T> T minimum( const T& a, const T& b ) { return a < b? a : b; 4. Welke waarde krijgt x hier: int x = int(); De default-waarde van int, dat is de waarde 0. 14

15 5. Hoe declareer je een list voor strings? list<string> lijst; 6. Hoe declareer je een iterator voor een list met strings? list<string>::iterator pos; 7. Gegeven is de volgende array: int rij[] = { 3, 7, 11, 13, 15, 23, 24, 35, 40, 63, 121, 132, 144 ; Hoe kun je een list<int> initialiseren met behulp van de waarden uit deze array? list<int> lijst( rij, rij + 13 ); 8. Stel dat je een stack vult met de getallen 1, 2, 3 et cetera, tot en met 10. Vervolgens verplaats je de getallen van de stack naar een queue. Zet alle waarden uit de queue op het scherm. In welke volgorde zullen ze op het scherm komen? #include <iostream> #include <stack> #include <queue> using namespace std; int main() { stack<int> stapel; queue<int> q; for( int i = 1; i <= 3; i++ ) stapel.push( i ); for( int i = 1; i <= 3; i++ ) { q.push( stapel.top() ); stapel.pop(); for( int i = 1; i <= 3; i++ ) { cout << q.front(); q.pop(); cin.get(); return 0; De waarden komen in omgekeerde volgorde op het scherm (door het gebruik van de stack is hun volgorde omgedraaid). Hoofdstuk 14 Paragraaf Vragen en oefeningen 1. Welke operatoren moeten voor het goed functioneren van een iterator zijn gedefinieerd? operator =, operator*, operator++ en operator!= 2. Wat is een input-iterator? Met een input-iterator lees je gegevens uit een container. 3. Wat is een output-iterator? Met een output-iterator schrijf je gegevens naar een container. 4. Wat is een const-iterator? Met een const-iterator kun je het element waar de iterator naar wijst niet wijzigen. 15

16 5. Wat is een predikaat? Een predikaat is een functie die een bool aflevert. 6. Wat is een unair predikaat? En wat is een binair predikaat? Een unair predikaat is een functie die een bool aflevert en één argument heeft. Een binair predikaat is een functie die een bool aflevert en twee argumenten heeft. 7. Wat is een functie-object? Een functie-object is een object met een overladen operator(). Als je deze operator toepast op dit object lijkt het op een functie-aanroep. 8. Wat is een inserter? Een inserter is een object dat elementen invoegt in een container. Hoofdstuk 15 Paragraaf 15.9 Vragen 1. Wat is het verband tussen een virtuele functie en polymorfisme? Polymorfisme wordt mogelijk gemaakt door een virtuele functie. In een keten van afgeleide klassen met een virtuele functie wordt in runtime gezocht naar de virtuele functie die hoort bij het object waar de pointer of de referentie naar verwijst. 2. Wat is het verschil tussen late en vroege binding? Vroege binding vindt plaats als de compiler vastlegt naar welke klasse in een keten van afgeleide klassen een bepaalde pointer of referentie verwijst. Bij late binding wordt dit niet tijdens de compilatie, maar tijdens de uitvoering van het programma gedaan. Vroege binding gebeurt dus in compile time, late binding in runtime. 3. Wat is een zuiver virtuele functie? Een zuiver virtuele functie is een virtuele functie die zelf geen body heeft, maar gedeclareerd wordt met = 0, zoals in dit voorbeeld: virtual void teken() = 0; // zuiver virtuele functie 4. Wat is de zin van een abstracte klasse? Een abstracte klasse staat in het algemeen aan het begin van een keten van afgeleide klassen. In zo'n abstracte klasse leg je de algemene eigenschappen vast die de klassen in de keten gemeenschappelijk hebben. Die eigenschappen kunnen variabelen en functies zijn. De functies in een abstracte klasse zijn vaak zo algemeen, dat ze geen body hebben, maar alleen een naam, terugkeerwaarde en eventueel argumenten. Een abstracte klasse vormt dus eigenlijk een heel globale omschrijving van de klassen in de keten. De details worden in de afgeleide klassen zelf ingevuld. De zin kan dus zijn dat je een heldere verdeling hebt tussen globale beschrijving en de specificafieke klassen.. 5. Wat is het statische en dynamische type van een pointer? Het type waarmee de pointer is gedeclareerd is het statische type. Het type van het object waar de pointer in runtime naar wijst is het dynamische type. 16

Hoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces.

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

HOGESCHOOL VAN AMSTERDAM Informatica Opleiding. CPP 1 van 10

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

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

Nadere informatie

Aan de slag met C++ Gertjan Laan + ONLINE OEFENINGEN

Aan de slag met C++ Gertjan Laan + ONLINE OEFENINGEN Aan de slag met C++ Gertjan Laan + ONLINE OEFENINGEN Aan de slag met C++ 5e herziene druk Gertjan Laan Meer informatie over deze en andere uitgaven kunt u verkrijgen bij: Sdu Klantenservice Postbus 20014

Nadere informatie

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double. Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort

Nadere informatie

Introductie in C++ Jan van Rijn. September 2013

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

Een typisch programma in C en C++ bestaat uit een aantal onderdelen:

Een typisch programma in C en C++ bestaat uit een aantal onderdelen: Eerste stappen in C. Een typisch programma in C en C++ bestaat uit een aantal onderdelen: /* Alles wat op meerdere lijnen staat zoals hier is commentaar. */ // Dit is commentaar op 1 lijn. Geldig tot einde

Nadere informatie

Voorwoord bij de zesde druk 3

Voorwoord bij de zesde druk 3 Inhoud Voorwoord bij de zesde druk 3 1 Introductie 17 1.1 Inleiding 17 1.2 De preprocessor, compiler en linker 17 1.3 Eerste voorbeeld 19 1.3.1 Toelichting bij het eerste voorbeeld 19 1.3.2 Declaratie

Nadere informatie

9 Meer over datatypen

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

Inleiding C++ Coding Conventions

Inleiding C++ Coding Conventions Inleiding C++ Coding Conventions Opleiding Bachelor of Science in Informatica, van de Faculteit Wetenschappen, Universiteit Antwerpen. Nota s bij de cursus voor academiejaar 2012-2013. Ruben Van den Bossche,

Nadere informatie

Uitwerking Tweede deeltentamen Imperatief programmeren - versie 1 Vrijdag 21 oktober 2016, uur

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

Java. Basissyllabus. Egon Pas

Java. Basissyllabus. Egon Pas Java Basissyllabus Egon Pas 2011 BeanPole bvba Gasmeterlaan 92-9000 Gent BTW BE 472.902.516 Tel: + 32 9 224 42 17 Fax: + 32 9 223 62 88 www.beanpole.be info@beanpole.be 1 Programmeren 1.1 Hoe werkt een

Nadere informatie

Datastructuren: stapels, rijen en binaire bomen

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 informatie

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int

Nadere informatie

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

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

Nadere informatie

Datastructuren Werkcollege Intro

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

Programmeermethoden. Controle-structuren. Walter Kosters. week 3: september kosterswa/pm/

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

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Syntax- (compile), runtime- en logische fouten Binaire operatoren Inhoud Syntax- (compile), runtime- en logische fouten Binaire operatoren Operaties op numerieke datatypen Evaluatie van expressies, bindingssterkte Assignment operaties en short-cut operatoren Controle

Nadere informatie

Programmeren in Java les 3

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

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

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet

Nadere informatie

Deeltentamen Grammatica s en ontleden 22 december 2005

Deeltentamen Grammatica s en ontleden 22 december 2005 Tentamen Grammatica s en ontleden 22 december 2005 1 Deeltentamen Grammatica s en ontleden 22 december 2005 Let op: opgave 1 t/m 4 tellen voor (slechts) 5 punten mee, opgave 5 voor maar liefst 50 punten,

Nadere informatie

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI Vrijdag 22 januari 2010 Toelichting Dit is een open boek tentamen. Communicatie en het gebruik van hulpmiddelen zijn niet toegestaan.

Nadere informatie

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

Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar juni, 2010 Examen Programmeren 2e Bachelor Elektrotechniek en Computerwetenschappen Faculteit Ingenieurswetenschappen Academiejaar 2009-2010 16 juni, 2010 **BELANGRIJK** 1. Lees eerst de volledige opgave (inclusief

Nadere informatie

Datastructuren: stapels, rijen en binaire bomen

Datastructuren: 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 informatie

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk. HOOFDSTUK 3 3.1 Stapsgewijs programmeren In de vorige hoofdstukken zijn programmeertalen beschreven die imperatief zijn. is het stapsgewijs in code omschrijven wat een programma moet doen, net als een

Nadere informatie

17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies

17 Operaties op bits. 17.1 Bitoperatoren en bitexpressies 17 Operaties op bits In hoofdstuk 1 is gezegd dat C oorspronkelijk bedoeld was als systeemprogrammeertaal om het besturingssysteem UNIX te implementeren. Bij dit soort toepassingen komt het voor dat afzonderlijke

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

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

Online c++ leren programmeren:

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

Nadere informatie

int getaantalpassagiers{): void setaantalpassagiers(int aantalpassagiers);

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

Aanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, uur

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

Programmeren (1) Examen NAAM:

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

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

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

Nadere informatie

Objective-C Basis. 23 april 2005, Eindhoven Patrick Machielse

Objective-C Basis. 23 april 2005, Eindhoven Patrick Machielse Objective-C Basis 23 april 2005, Eindhoven Patrick Machielse patrick@hieper.nl Algemeen // extensies Objective-C code in bestanden met.m extensie // commentaar moet! /* Alles hiertussen wordt genegeerd

Nadere informatie

Examen Software Ontwikkeling I 2e Bachelor Informatica Academiejaar Januari, **BELANGRIJK** : Schrijf je naam onderaan dit blad

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

Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89.

Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89. Inhoud leereenheid 7c JavaScript: Objecten en functies Introductie 59 Leerkern 60 1 Functies 60 1.1 Syntax - samenvatting 60 1.2 Functies definiëren 61 1.3 Functie als parameter (facultatief) 64 1.4 Functie

Nadere informatie

Ontwerp van Informatiesystemen

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

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN Onderdeel van SmartProducts INHOUD COLLEGE 3 Scope van variabelen {3.9} Class ontwerpen en maken,

Nadere informatie

Een korte samenvatting van enkele FORTRAN opdrachten

Een korte samenvatting van enkele FORTRAN opdrachten Een korte samenvatting van enkele FORTRAN opdrachten Inhoud 1 Introductie 3 2 De structuur van een FORTRAN programma 3 3 Datatypen, variabelen en declaraties 3 4 Expressies-volgorde van uitwerking 4 5

Nadere informatie

Modelleren en Programmeren

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

Nadere informatie

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

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

Nadere informatie

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, uur

Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, uur Derde deeltentamen Imperatief programmeren - versie 1 Vrijdag 6 november 2015, 11.00-13.00 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 13 november 2015 Expressies Functies Ingebouwde functies Variabelenbereik Inleveropgave 1 Terugblik Programma is een lijst van opdrachten Terugblik Programma is

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

Omschrijf bij ieder onderdeel van de methode de betekenis ervan. Java kent twee groepen van klassen die een GUI kunnen maken: awt en swing.

Omschrijf bij ieder onderdeel van de methode de betekenis ervan. Java kent twee groepen van klassen die een GUI kunnen maken: awt en swing. irkel (met Jpanel) ij de onderstaande opdracht behoort het bestand Panels: JPanels_1.java (map Panel) in de map irkel. pplicaties in Java hebben altijd een publieke klasse waarin een methode main voorkomt.

Nadere informatie

Objectgeoriënteerd programmeren in Java 1

Objectgeoriënteerd programmeren in Java 1 Objectgeoriënteerd programmeren in Java 1 CPP Javaprogrammeur Bijeenkomst 3 Leereenheden 7, 8, 9 De Java API Java bevat een grote bibliotheek standaardklassen: de Java API Voorbeelden java.lang basisklassen

Nadere informatie

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze

Nadere informatie

Tentamen Objectgeorienteerd Programmeren TI februari Afdeling ST Faculteit EWI TU Delft

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

Uitwerking Eerste deeltentamen Mobiel programmeren - versie 1 Vrijdag 23 december 2016, uur

Uitwerking Eerste deeltentamen Mobiel programmeren - versie 1 Vrijdag 23 december 2016, uur Uitwerking Eerste deeltentamen Mobiel programmeren - versie 1 Vrijdag 23 december 2016, 11.00-13.00 uur 1. Een klasse is niet: (a) het type van een object (b) een groepje methoden (c) een groepje variabelen

Nadere informatie

Datastructuren en algoritmen

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

6,1. Samenvatting door een scholier 1809 woorden 28 oktober keer beoordeeld. Informatica

6,1. Samenvatting door een scholier 1809 woorden 28 oktober keer beoordeeld. Informatica Samenvatting door een scholier 1809 woorden 28 oktober 2005 6,1 16 keer beoordeeld Vak Methode Informatica Turing informatica samenvatting. hst3: algoritme:een beschrijving van stappen die gedaan moeten

Nadere informatie

De Leidsche Flesch Studievereniging voor Natuurkunde, Sterrenkunde, Wiskunde en Informatica sinds DLF Pointerworkshop

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

C++ 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 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 informatie

Programmeren in Java 3

Programmeren in Java 3 2 september 2007 voor deeltijdstudenten Kop van Zuid Rotterdam, 3 juni 2007 Even voorstellen Naam: Wessel Oele(31) Docent bij opleiding technische informatica Kamer: I210 (tweede verdieping, links de gang

Nadere informatie

Academie voor ICT en Media 2013/2014

Academie voor ICT en Media 2013/2014 Academie voor ICT en Media 2013/2014 Toets Opleiding BI CMD I IDM ISM TI Voltijd Deeltijd Duaal Lokatie Den Haag Zoetermeer Delft 1e afname moment herkansing Verantwoordelijke docent John Visser Module

Nadere informatie

Zelftest Programmeren in Java

Zelftest Programmeren in Java Zelftest Programmeren in Java Document: n0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST PROGRAMMEREN IN JAVA Deze test

Nadere informatie

10 Meer over functies

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

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

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

Nadere informatie

Om de libraries te kunnen gebruiken, moet de programmeur (een deel van) zijn programma in C/C++ schrijven.

Om de libraries te kunnen gebruiken, moet de programmeur (een deel van) zijn programma in C/C++ schrijven. 1 Inleiding tot.net Software werd en wordt meestal geschreven in C of C++. De broncode van een C/C++ programma wordt dan gecompileerd naar machine code, die eventueel nog gelinkt wordt met machine code

Nadere informatie

Variabelen en statements in ActionScript

Variabelen en statements in ActionScript Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer

Nadere informatie

Noties Informatica. In java fungeren objecten als een model voor de elementen waarin een probleem kan worden opgesplitst

Noties Informatica. In java fungeren objecten als een model voor de elementen waarin een probleem kan worden opgesplitst s Informatica Hoofdstuk 1 Object Klasse Methode Parameters Type Velden Toestand Compiler Resultaten (returnwaarde) In java fungeren objecten als een model voor de elementen waarin een probleem kan worden

Nadere informatie

Veel succes! 1. Deze opgave bestaat uit een aantal vragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan al genoeg zijn.

Veel succes! 1. Deze opgave bestaat uit een aantal vragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan al genoeg zijn. Eerste deeltentamen Gameprogrammeren Vrijdag 26 september 2014, 8.30-10.30 uur Naam: Studentnummer: Het tentamen bestaat uit 4 opgaven. Elke opgave levert 10 punten op. Je cijfer is het totaal aantal punten

Nadere informatie

Programmeermethoden. Functies vervolg. Walter Kosters. week 5: 1 5 oktober kosterswa/pm/

Programmeermethoden. 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 informatie

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

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

Nadere informatie

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

Klassen. Hoofdstuk Klassen

Klassen. Hoofdstuk Klassen 212 Hoofdstuk 12 Klassen blz. 213 blz. 214 12.1 Klassen Een klasse is een groepje methoden. Dat hebben we in de programma s tot nu toe wel gezien: we definieerden steeds een of meerdere klassen (in ieder

Nadere informatie

Scala. Korte introductie. Sylvia Stuurman

Scala. Korte introductie. Sylvia Stuurman Korte introductie Sylvia Stuurman Wat is er zo bijzonder aan? Schaalbaar Objectgeoriënteerd (handiger dan Java!) Functioneel Scripts schrijven Gecompileerd: Java bytecode Pagina 2 voor scripts Pagina 3

Nadere informatie

Week 2 : Hoofdstukken 2 en 6; extra stof: inleiding pointers

Week 2 : Hoofdstukken 2 en 6; extra stof: inleiding pointers Week 2 : Hoofdstukken 2 en 6; extra stof: inleiding pointers Hoofdstuk 6: Beslissingen: if-statement en switch-statement. Inleiding: Condities zijn waar (true) of onwaar (false) In C staat het int-getal

Nadere informatie

Tentamen Inleiding Programmeren in Java

Tentamen Inleiding Programmeren in Java Tentamen Inleiding Programmeren in Java Vakcode: 2lI0L7 Datum: 4 februari 2005 Tijd: 13.30-17.00 uur Algemeen: Dit tentamen bestaat uit 4 opgaven, waarvoor in totaal 100 punten verdiend kunnen worden.

Nadere informatie

Veel succes! 1. Deze opgave bestaat uit een aantal vragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan al genoeg zijn.

Veel succes! 1. Deze opgave bestaat uit een aantal vragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan al genoeg zijn. Eerste deeltentamen Gameprogrammeren Vrijdag 27 september 2013, 8.30-10.30 uur Naam: Studentnummer: Het tentamen bestaat uit 4 opgaven. Elke opgave levert 10 punten op. Je cijfer is het totaal aantal punten

Nadere informatie

Small Basic Programmeren Text Console 2

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

Nadere informatie

SYNTRA-WEST. Cursus OOP. Deel

SYNTRA-WEST. Cursus OOP. Deel SYNTRA-WEST Cursus OOP Deel Syntra-West voorheen VORMINGSINSTITUUT VOOR KMO Syntra-West Doorniksesteenweg 220 8500 Kortrijk Tel. 056/26.02.00 Fax 056/22.81.07 i Inhoudsopgave SYNTRA-WEST... 0 CURSUS OOP...

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

Veel succes! 1. Gegeven is de volgende klasse:

Veel succes! 1. Gegeven is de volgende klasse: Dit tentamen is in elektronische vorm beschikbaar gemaakt door de TBC van A Eskwadraat. A Eskwadraat kan niet aansprakelijk worden gesteld voor de gevolgen van eventuele fouten in dit tentamen. Derde deeltentamen

Nadere informatie

Modulewijzer Tirdat01

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

Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld

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

Nadere informatie

Lab Webdesign: Javascript 3 maart 2008

Lab Webdesign: Javascript 3 maart 2008 H5: OPERATORS In dit hoofdstuk zullen we het hebben over de operators (of ook wel: operatoren) in JavaScript waarmee allerlei rekenkundige en logische bewerkingen kunnen worden uitgevoerd. Daarbij zullen

Nadere informatie

Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2

Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2 Modelleren Werkelijkheid Modelleren Modeleren Waarvan maken we een model?!analyse " Maak een model van de te automatiseren werkelijkheid of van het op te lossen probleem! Domeinkennis = structuur! Functionele

Nadere informatie

Tentamen in2705 Software Engineering

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

VAN HET PROGRAMMEREN. Inleiding

VAN HET PROGRAMMEREN. Inleiding OVERZICHT VAN HET PROGRAMMEREN Inleiding Als je leert programmeren lijkt het nogal overweldigend om die eerste stappen te doorworstelen. Er zijn dan ook heel wat programmeertalen (Java, Ruby, Python, Perl,

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

10. Controleopdrachten

10. Controleopdrachten Computeralgebra met Maxima 10. Controleopdrachten 10.1. Functies en operatoren voor lijsten/vectoren/arrays Een van de eenvoudigste maar belangrijkste lusachtige functies is de makelist opdracht. Voor

Nadere informatie

Aanvullende toets Gameprogrammeren Woensdag 5 januari 2011, uur

Aanvullende toets Gameprogrammeren Woensdag 5 januari 2011, uur Dit tentamen is in elektronische vorm beschikbaar gemaakt door de TBC van A Eskwadraat. A Eskwadraat kan niet aansprakelijk worden gesteld voor de gevolgen van eventuele fouten in dit tentamen. Aanvullende

Nadere informatie

Programmeren in C++ (deel 1)

Programmeren in C++ (deel 1) FHT&L MODULE BESCHRIJVING Programmeren in C++ (deel 1) PRO4 Samenstelling: Cees van Tilborg, Thijs Dorssers Datum: september 2011 Versie: 1h Titel: Programmeren in C++ Identificatie Progresscode: PRO4

Nadere informatie

Programmeren met Arduino-software

Programmeren met Arduino-software Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en

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

Programmeermethoden. Pointers. Walter Kosters. week 10: november kosterswa/pm/

Programmeermethoden. 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 informatie

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd

PROS1E1 Gestructureerd programmeren in C Dd/Kf/Bd Inhoudsopgave 1 Inleiding... 1 2 Toekenning- en herhalingsopdrachten (for loop)... 2 2.1 De wet van Ohm... 3 2.2 De spaarrekening... 3 2.3 De transformator... 3 3 Keuze- en herhalingsopdrachten (if, switch,

Nadere informatie

Versie 2: B C D D A C D A C C. Versie 3: C D A A B D A B D D. Versie 4: A D C C B D C B D D. Versie 5: B A D D C A D C A A

Versie 2: B C D D A C D A C C. Versie 3: C D A A B D A B D D. Versie 4: A D C C B D C B D D. Versie 5: B A D D C A D C A A Uitwerking Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 1 februari 2019, 11.00 13.00 uur Voor de meerkeuzevragen hebben we verschillende versies. Dit zijn de juiste antwoorden per versie.

Nadere informatie

Uitwerking Tentamen Modelleren en Programmeren - versie 1 Woensdag 1 februari 2017, uur

Uitwerking Tentamen Modelleren en Programmeren - versie 1 Woensdag 1 februari 2017, uur Uitwerking Tentamen Modelleren en Programmeren - versie 1 Woensdag 1 februari 2017, 17 20 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde

Nadere informatie

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c Een Minimaal Formalisme om te Programmeren We hebben gezien dat Turing machines beschouwd kunnen worden als universele computers. D.w.z. dat iedere berekening met natuurlijke getallen die met een computer

Nadere informatie

Programmeren in Java 3

Programmeren in Java 3 26 september 2007 Deze les korte herhaling vorige les Unified Modelling Language notatie van een class afleiding pointers abstracte classes polymorphisme dubieuze(?) constructies interfaces Meer over class

Nadere informatie

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object. een symbolische naam voor een object. Variabelen Constanten Variabelen Expressies naam : geeft de plaats in het geheugen aan waarde : de inhoud van het object identifier : een rij van letters en/of cijfers

Nadere informatie

TENTAMEN Programmeren 1 VOORBEELDUITWERKING

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

Programmeren in C# Samenvatting van C#

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

PYTHON REEKS 1: BASICS. Mathias Polfliet

PYTHON REEKS 1: BASICS. Mathias Polfliet PYTHON REEKS 1: BASICS Mathias Polfliet mpolflie@etrovub.be EENVOUDIGE REKENMACHINE 2 soorten getallen Getallen Z -> integers (gehele getallen) Getallen R -> floating points (reële getallen) Door beperkte

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