Imperatief programmeren. Introductie 9. Leerkern 10. Zelftoets 15. Terugkoppeling 16. Inhoud leereenheid 16
|
|
- Guus de Groot
- 8 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Inhoud leereenheid 16 Imperatief programmeren Introductie 9 Leerkern 10 1 Sleutelbegrippen 10 2 Pragmatisme 10 3 Case study: C 10 4 Case study: Ada 11 5 Overzicht van concepten in C en Ada 14 Zelftoets 15 Terugkoppeling 16 1 Uitwerking van de opgaven 16 2 Uitwerking van de zelftoets 17 8 OUN
2 Leereenheid 16 Imperatief programmeren I N T R O D U C T I E Het imperatieve programmeerparadigma is nog steeds het meest toegepaste paradigma. Het gebruik van Cobol, een van de oudste imperatieve talen. is vandaag de dag zelfs nog groter dan het gebruik van de qua ontwerp veel modernere talen als Pascal, C en Ada. Voor een deel is dit te verklaren uit het feit dat bedrijven destijds veel geld hebben geïnvesteerd in de ontwikkeling van programmatuur en dat de kosten van het onderhouden van deze programma s het herstellen van fouten en aanpassen aan nieuwe omstandigheden en wensen al zo n zestig procent van het totale softwarebudget opslokken. Het herschrijven van deze programma s in een andere programmeertaal is alleen mogelijk als dit budget fors wordt verhoogd. Een tweede verklaring is dat programma s geschreven in deze talen door de bank genomen efficiënt gebruik maken van de hardware; de talen staan dicht bij de machine en men duidt ze daarom ook wel aan als high level assemblers. In de praktijk zien we dat men voor bestaande toepassingen zo lang mogelijk de oudere talen blijft hanteren en de nieuwere talen (zowel imperatieve talen als niet imperatieve talen) alleen inzet bij de ontwikkeling van nieuwe toepassingen. In deze leereenheid bekijken we twee bekende representanten van de klasse van conventionele imperatieve talen: C en Ada. Met conventioneel bedoelen we hier imperatieve talen die niet specifiek zijn ontworpen voor objectgeoriënteerd programmeren. Op de specifieke verschillen tussen deze beide paradigma s (imperatief en objectgeoriënteerd) gaan we in leereenheid 18 nader in. LEERDOELEN Na het bestuderen van deze leereenheid wordt verwacht dat u vier essentiële kenmerken van een imperatieve taal kunt noemen aan kunt geven of, en op welke wijze, de hierna genoemde concepten zijn gerealiseerd in respectievelijk C en Ada: typen, expressies, opdrachten, variabelen, declaraties, abstracties, parameters, inkapseling, polymorfie, exceptions aan kunt geven in hoeverre C en Ada voldoen aan de in de cursus geformuleerde ontwerpprincipes voor een programmeertaal het verschil kunt aangeven tussen de concepten genericiteit en parametrische polymorfie aan de hand van de behandelde taalconcepten de sterke en zwakke kanten van C en Ada kunt aangeven. Relatie met het tekstboek In deze leereenheid gebruiken we hoofdstuk 11 van het tekstboek. Het voorbeeld A simple spellchecker dient slechts ter illustratie van de concepten. U kunt volstaan met het globaal doorlezen van de paragrafen OUN 9
3 Concepten van programmeertalen die daarop betrekking hebben, namelijk paragraaf en paragraaf Studeeraanwijzingen In deze leereenheid komt uiteraard een aantal C en Ada voorbeelden voor. Het is niet de bedoeling dat u dergelijke voorbeelden zelf kunt schrijven, wel moet u deze voorbeelden kunnen begrijpen. Tevens moet u globaal aan kunnen geven op welke wijze een bepaald concept is geïmplementeerd in C of Ada. Gebruik hiervoor tabel 16.1 als richtlijn. De studielast van deze leereenheid is circa 3 uur. L E E R K E R N 1 Sleutelbegrippen Geen verdere aanvullingen op het tekstboek. 2 Pragmatisme Geen verdere aanvullingen op het tekstboek. 3 Case study: C Opmerking Abstractieprincipe Om te beoordelen of de taal voldoet aan de geformuleerde principes, maken we uitsluitend gebruik van de informatie gegeven in het tekstboek. Andere versies of varianten van de taal kunnen uiteraard andere voorzieningen bevatten, waardoor de beoordeling anders zou komen te liggen. Deze opmerking geldt ook voor de andere beoordeelde talen. C kent alleen blokopdrachten, geen blokexpressies (alleen body van een procedure) of blokdeclaraties. De taal voldoet dus niet aan het in leereenheid 4 geformuleerde kwalificatieprincipe: in elke taalconstructie kunnen lokale declaraties worden gemaakt. In leereenheid 5 hebben we het abstractieprincipe geformuleerd: van elke taalconstructie kan een abstractie worden gemaakt, die later kan worden aangeroepen. OPGAVE 16.1 Voldoet C goed of slecht aan dit abstractieprincipe? Kwalificatieprincipe Correspondentieprincipe C voldoet slecht aan het correspondentieprincipe uit leereenheid 5: elke soort declaratie heeft een corresponderend parametermechanisme en omgekeerd. C kent slecht een parametermechanisme: copy in. De typedeclaratie en proceduredefinitie in C hebben geen corresponderend parametermechanisme. In het voorgaande zagen we dat C slecht voldoet aan de in de cursus geformuleerde ontwerpprincipes voor een programmeertaal. Daarnaast zijn er op basis van de behandelde taalconcepten meer negatieve punten in het ontwerp van C aan te wijzen (zie opgave 16.2). 10 OUN
4 Leereenheid 16 Imperatief programmeren OPGAVE 16.2 a Geef ten minste vijf punten van kritiek op de taal C. b Noem ook een positieve kant van C. 4 Case study: Ada Ada voldoet beter aan het typevolledigheidsprincipe dan C. Waarden van standaardtypen, samengestelde typen en pointer typen mogen alle op dezelfde wijze worden gemanipuleerd. Variabelereferenties mogen we echter alleen als argument van een procedure of functie gebruiken, functies en procedures zelf zijn op geen enkele wijze te manipuleren, ze kunnen zelfs niet als argument worden doorgegeven. Ada kent blokopdrachten en blokdeclaraties (packages), maar geen blokexpressies. De taal voldoet dus niet geheel aan het in leereenheid 4 geformuleerde kwalificatieprincipe. Evenals bij C kunnen we nagaan in hoeverre Ada aan het Abstractieprincipe abstractieprincipe voldoet. OPGAVE 16.3 Voldoet Ada goed of slecht aan het abstractieprincipe? a Toon aan dat de procedureaanroep add(a, b, c) het verwachte effect heeft als er voor de parameters gebruik wordt gemaakt van hetzij het kopieermechanisme of het referentiemechanisme. Gebruik in het geval van het kopieermechanisme voor de in parameters copy in parameters en voor de out parameter een copy out parameter. Gebruik in het geval van het referentiemechanisme voor de inparameters, constant parameters en voor de out parameter een variableparameter. Typevolledigheidsprincipe Kwalificatieprincipe Correspondentieprincipe Evenals C voldoet Ada slecht aan het correspondentieprincipe. De functie en proceduredeclaratie hebben geen corresponderend parametermechanisme. Het reference mechanisme correspondeert niet met een declaratie: Ada kent geen variabeledefinitie. Daar komt nog bij dat een Ada implementatie voor samengestelde typen mag kiezen tussen het kopieermechanisme en het definitiemechanisme. OPGAVE 16.4 Gegeven is de volgende procedure in Ada: type Vector is array (1..n) of Float; procedure add(v, w: in Vector; sum: out Vector) is begin for i in 1.. n loop sum(i) := v(i) + w(i); end loop; end; b Toon dat ook voor de aanroep add(a, b, b) en laat zien dat in dat geval aliasing kan plaatsvinden. OUN 11
5 Concepten van programmeertalen Genericiteit en parametrische polymorfie Polymorfe versus generieke functies In Ada kunnen we generieke packages en generieke procedures en functies declareren. Zo op het eerste gezicht lijkt het concept genericiteit (generics) van Ada hetzelfde als de parametrische polymorfie uit leereeenheid 8. Een generieke functie is echter iets anders dan een polymorfe functie en een generiek type is iets anders dan een (geparametriseerd) polymorf type. We laten aan de hand van twee voorbeelden de verschillen tussen beide concepten zien. De volgende polymorfe Haskell functie snd mogen we op parameters van verschillende typen toepassen: snd :: (a, b) -> b snd (_, y) = y Hugs> snd (13, True) True Hugs> snd ("Jeffrey", "Watt") "Watt" Hugs> a en b zijn typevariabelen die elk een nog vrij te kiezen type representeren. In Ada kunnen we de volgende generieke functie snd declareren. generic type a is private; type b is private; function snd (x : a; y : b) return b is begin return y; end; a en b zijn hier formele typeparameters (dus geen typevariabelen) met behulp waarvan we een type kunnen doorgeven. Voor we snd kunnen gebruiken, moeten we de generieke functie eerst instantiëren met concrete typen als actuele parameters: function snd_1 is new snd (Integer, Boolean); function snd_2 is new snd (String, String); Hierna kunnen we van snd_1 en snd_2 gebruikmaken: snd_1 (13, True) = True snd_2 ("Jeffrey", "Watt") = "Watt" Polymorfe versus generieke typen In feite creëren we eerst twee afzonderlijke functies, een voor de typen Integer en Boolean en een voor het type String, en er is dus geen sprake van één (polymorfe) functie die op parameters van verschillende typen mag worden toegepast. In leereenheid 8 is in voorbeeld 8.10 in Haskell het volgende polymorfe type List gedefinieerd samen met onder andere de functies head en tail met de volgende specificaties: data List a = Nil Cons (a, List a) head :: List a -> a tail :: List a -> List a 12 OUN
6 Leereenheid 16 Imperatief programmeren In de definitie van List geeft de typevariabele a aan dat het type van de elementen van List willekeurig kan zijn. De functies head en tail zijn polymorfe functies, het maakt voor deze functies niet uit wat het type van de lijstelementen is. Een generieke package declaratie voor het type List (een generiek abstract type) kan in Ada als volgt luiden. generic type a is private package list_type is type List is limited private; function cons (x : a; xs : List) return List; function head (xs : List) return a; function tail (xs : List) return List; private type Node; type List is access Node; type Node is record element : a; rest : List; end record; end list_type; a is hier weer een typeparameter. Voor ieder verschillend elementtype van List moet een nieuwe package worden geïnstantieerd met dat elementtype als actuele parameter, bijvoorbeeld: package list_type_int is new list_type (Integer); package list_type_char is new list_type (Character); Deze beide instantiaties resulteren in twee verschillende lijsttypen (namelijk list_type_int.list en list_type_char.list) en in twee verschillende functies voor zowel head als tail (list_type_ int.head en list_type_char.head, idem voor tail). Er is dus geen sprake van één (polymorf) type List en evenmin van polymorfe functies head en tail. Aanvulling bij voorbeeld Hoewel we de naam swap gebruiken voor waarden van een willekeurig type, is ook hier geen sprake van een polymorfe procedure. Door verschillende instantiaties van de generieke procedure krijgen we immers verschillende gewone procedures met elk een eigen naam en parametertype. OPGAVE 16.5 Maak van exercise op bladzijde 294 in het tekstboek de vragen a en b. Aanwijzing: een blokopdracht heeft in Ada de volgende vorm. declare declaraties begin opdrachten end; OUN 13
7 Concepten van programmeertalen Kanttekeningen bij Ada Ada kent meer geavanceerde taalconcepten dan C, onder meer inkapseling en exceptions. Dat is ook logisch, gezien het feit dat de taal tien jaar later dan C is ontworpen. We kunnen ons echter afvragen of het ontwerp van Ada, gezien in het licht van de in de blokken 1 en 2 behandelde taalconcepten, inderdaad zo goed is als men vaak suggereert. In de voorgaande paragraaf zagen we reeds dat Ada aan de vier ontwerpprincipes niet volledig voldoet. Daarnaast zijn nog de volgende punten van kritiek te noemen: polymorfie is niet mogelijk; weliswaar kent Ada het concept generics, maar zoals we in deze paragraaf aangeven, is dit wat anders dan parametrische polymorfie en kunnen we het hoogstens zien als een soort surrogaat hiervoor Ada kent weliswaar contextafhankelijke overloading van procedures, functies en operatoren, maar mist de fundamentele aanpak van overloading met typeklassen à la Haskell net als in C kunnen recursieve typen alleen met behulp van pointers worden gemaakt naast garbage collection kent Ada ook de mogelijkheid om zelf expliciet aan te geven dat een heap variabele niet langer nodig is ( unchecked deallocation), hetgeen het gevaar van dangling references met zich meebrengt naast escape opdrachten en exceptions is er ook nog een (overbodige) goto opdracht de taal is groot en mede daardoor lastig te leren en te interpreteren. 5 Overzicht van concepten in C en Ada In tabel 16.1 zetten we de concepten die al dan niet in Ada en C zijn te vinden, op een rijtje. TABEL 16.1 Taalconcepten in C en Ada (x = aanwezig) taalconcept C Ada primitieve typen numerieke typen x (integer, floating-point) x (integer, floating-point, fixed-point) karakters x boolean x enumeration x x samengestelde typen cartesisch product x (structure) x (record) disjuncte vereniging x (union type, untagged) x (discriminated record) functieruimte x (array) x (array) recursieve typen (via pointers) (via pointers) subtypen (ja, maar is geen type) expressies toekenningsexpressie x functieaanroep x x conditionele expressies x iteratieve expressies blokexpressies variabelen globale variabelen x x locale variabelen x x heap-variabelen x (low-level) x allocator x (malloc) x (new) 14 OUN
8 Leereenheid 16 Imperatief programmeren opdrachten lege opdracht x x toekenningsopdracht x procedureaanroep x sequentiële opdracht x x conditionele opdracht x x iteratieve opdracht x x blokopdracht x x sequencer x (break, continue, return) x (exit, return) jump x x exception handling x binding, scope globale typedefinities program units met globale variabelen procedures, packages, functiedefinities generieke units locale declaraties locale variabelen statische variabelen abstractie van proceduren functie x x procedure (via void) x parametermechanismen copy-in in-parameter geen reference parameter in-out-parameter (wel via pointer) out-parameter functies geen procedures geen eersteklas-waarden eersteklas-waarden voor samengestelde waarden keus tussen by copy of by reference overloading x generieke abstractie x (generieke packages, generieke proceduren) compilatie onafhankelijke gescheiden Z E L F T O E T S l Noem enkele essentiële kenmerken van een imperatieve programmeertaal. 2 Noem enkele taalconcepten die C niet biedt en Ada wel. 3 Wat is het kenmerkende verschil tussen een polymorfe functie in Haskell en een generieke functie in Ada? 4 Geef ten minste vier punten van kritiek op de taal Ada. OUN 15
9 Concepten van programmeertalen T E R U G K O P P E L I N G 1 Uitwerking van de opgaven 16.1 In C kunnen we alleen abstracties maken van een expressie (functie) en een opdracht (functie met terugkeerwaarde van type void). De taal kent geen abstracties van bijvoorbeeld een variable access (selectorabstractie), declaratie (generieke abstractie) of type (abstract type) en voldoet dus slecht aan het abstractieprincipe a Naast het slecht voldoen aan de ontwerpprincipes voor een taal, kunnen als negatieve punten van C verder worden genoemd: het typesysteem is zwak C kent geen abstractie van gegevens, geen generieke abstracties, geen exceptions C heeft een beperkt aantal primitieve typen C ondersteunt geen directe recursie opdrachten kunnen in onleesbare vorm geformuleerd worden door de onafhankelijke compilatie kan de consistentie in gevaar komen. b C is een populaire programmeertaal die uitstekend gebruikt kan worden voor het schrijven van efficiënte software op systeemniveau In Ada kunnen we abstracties maken van een expressie (functie), een opdracht (procedure), een type (abstract type) en een declaratie (generiek package), echter niet van een variable access (selector). Hiermee voldoet de taal in redelijke mate aan het abstractieprincipe a We bekijken eerst de aanroep add(a,b,c) voor beide mechanismen. 1 v en w zijn copy in parameters, sum is een copy out parameter: Bij aanroep van add worden de lokale variabelen v, w en sum gecreëerd en worden de waarden van de actuele parameters a en b toegekend aan respectievelijk v en w. Vervolgens wordt in de procedure de waarde van sum (de som van v en w) bepaald en bij beëindiging van add wordt deze waarde toegekend aan c. De waarden van a en b zijn niet gewijzigd. 2 v en w zijn constant parameters en sum is een variable parameter: Bij aanroep worden de namen v, w en sum gebonden aan respectievelijk a, b en c. In de procedure wordt vervolgens de waarde van sum (= c) gewijzigd in de som van a en b. De waarden van a en b blijven ongewijzigd. b We bekijken nu de aanroep add(a,b,b) voor beide mechanismen. 1 v en w zijn copy in parameters, sum is een copy out parameter: Bij aanroep van add worden de lokale variabelen v, w en sum gecreëerd en worden de waarden van de actuele parameters a en b toegekend aan respectievelijk v en w. Vervolgens wordt in de procedure de waarde van sum (de som van v en w) bepaald en bij beëindiging van add wordt deze waarde toegekend aan b. De waarde van a is niet gewijzigd; de waarde van b is gewijzigd in de som van a en de oude waarde van b. 2 v en w zijn constant parameters en sum is een variable parameter: Bij aanroep wordt de naam v gebonden aan a en de namen w en sum aan b. Vervolgens wordt in de procedure de waarde van sum (de som van v en w) bepaald. Hierdoor verandert tevens de waarde van w (sum en w zijn aliassen). Deze aliasing is in dit geval niet erg, omdat w in de procedure niet meer wordt gebruikt. Bij beëindiging van add is de 16 OUN
10 Leereenheid 16 Imperatief programmeren waarde van a niet gewijzigd; de waarde van b is gewijzigd in de som van a en de oude waarde van b a Instantiatie en aanroep van de generieke procedure kan overal gerealiseerd worden met een blokopdracht: declare procedure swapint is new swap (Integer); begin swapint (a(i), a(i+1)); end; b Instantiatie en aanroep van een generieke functie kan niet op vergelijkbare wijze worden gerealiseerd omdat Ada geen blokexpressie kent. 2 Uitwerking van de zelftoets 1 Een imperatieve programmeertaal is gebaseerd op de architectuur van de hardware. Imperatieve talen kunnen hierdoor in principe efficiënt worden geïmplementeerd. Een programma in een imperatieve taal bestaat uit een rij opdrachten die in een voorgeschreven volgorde moeten worden verwerkt. Voor de opslag van waarden worden (veranderbare) variabelen gebruikt die geheugenplaatsen in de computer representeren. Er bestaat een toekenningsopdracht voor het veranderen van de waarden van deze variabelen. 2 De volgende concepten zijn niet in C aanwezig, maar wel in Ada: packages (inkapseling) generieke abstracties generieke procedures en functies overloading (door programmeur) exceptions. 3 Een polymorfe functie is een functie die geen gebruikmaakt van de specifieke eigenschappen van een parameter. De functie kan daarom op waarden van elk type worden toegepast. In het type van de functie komt dit tot uiting in de vorm van typevariabelen. Een generieke functie heeft een typeparameter met behulp waarvan een type kan worden doorgegeven. Voor we de functie op een bepaald type kunnen toepassen, moeten we eerst een instance van de generieke functie creëren voor dat bepaalde type. Voor alle typen waarvoor we de functie nodig hebben, moeten we evenzovele functies creëren met elk een unieke naam; er is dus geen sprake van één polymorfe functie. 4 Als kritiekpunten op de taal Ada kunnen we onder meer noemen: Ada voldoet aan geen van de ontwerpprincipes volledig polymorfie is niet mogelijk Ada kent geen typeklassen à la Haskell recursieve typen zijn alleen mogelijk met behulp van pointers de mogelijkheid van unchecked deallocation van heap variabelen er is een overbodige goto opdracht de taal is groot en lastig te leren. OUN 17
Tijdens het tentamen mag het cursusmateriaal niet geraadpleegd worden.
Eindtoets I N T R O D U C T I E Deze eindtoets is bedoeld als voorbereiding op het schriftelijk tentamen van de cursus Concepten van programmeertalen en is te beschouwen als proeftentamen. Het is belangrijk
Nadere informatieCollege Notatie, Recursie, Lijsten
College 2016-2017 2. Notatie, Recursie, Lijsten Doaitse Swierstra (Jeroen Bransen) Utrecht University September 13, 2016 Functieapplicatie functieapplicatie associeert naar links: als x in f x y moet kiezen
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 informatieRecursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40
Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N
Nadere informatieAls 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 informatierecursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie
Hoofdstuk 5 Recursion I N T R O D U C T I E Veel methoden die we op een datastructuur aan kunnen roepen, zullen op een recursieve wijze geïmplementeerd worden. Recursie is een techniek waarbij een vraagstuk
Nadere informatieInhoud. Introductie tot de cursus
Inhoud Introductie tot de cursus 1 De functie van de cursus 7 1.1 Motivering van de cursus 7 1.2 Plaats van de cursus 9 2 De inhoud van de cursus 9 2.1 Leerdoelen 9 2.2 Voorkennis 10 2.3 Programmeertalen
Nadere informatieEen eenvoudig algoritme om permutaties te genereren
Een eenvoudig algoritme om permutaties te genereren Daniel von Asmuth Inleiding Er zijn in de vakliteratuur verschillende manieren beschreven om alle permutaties van een verzameling te generen. De methoden
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 informatieJava. 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 informatie1 Inleiding in Functioneel Programmeren
1 Inleiding in Functioneel Programmeren door Elroy Jumpertz 1.1 Inleiding Aangezien Informatica een populaire minor is voor wiskundestudenten, leek het mij nuttig om een stukje te schrijven over een onderwerp
Nadere informatieZelftest Inleiding Programmeren
Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze
Nadere informatieHOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren
HOOFDSTUK 3 3.1 Stapsgewijs programmeren De programmeertalen die tot nu toe genoemd zijn, zijn imperatieve of procedurele programmeertalen. is het stapsgewijs in code omschrijven wat een programma moet
Nadere informatieInhoud 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 informatieKleine 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 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 informatieObjectgeorië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 informatieEen korte samenvatting van enkele FORTRAN opdrachten
Een korte samenvatting van enkele FORTRAN opdrachten Inhoud 1 Introductie 3 2 De structuur van een FORTRAN programma 3 3 Datatypen, variabelen en declaraties 3 4 Expressies-volgorde van uitwerking 4 5
Nadere 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 informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in
Nadere informatieInhoud introductie. Introductie tot de cursus
Inhoud introductie Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 8 2.1 Voorkennis 8 2.2 Leerdoelen 8 2.3 Opbouw van de cursus 9 2.4 Leermiddelen 10 3 Aanwijzingen
Nadere informatieInhoud. Introductie tot de cursus
Inhoud Introductie tot de cursus 1 De functie van de cursus 7 2 De inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen van de cursus 8 2.3 Opbouw van de cursus 8 3 Leermiddelen en wijze van studeren
Nadere informatie10 Meer over functies
10 Meer over functies In hoofdstuk 5 hebben we functies uitgebreid bestudeerd. In dit hoofdstuk bekijken we drie andere aspecten van functies: recursieve functies dat wil zeggen, functies die zichzelf
Nadere informatieProgrammeren 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 informatiestart -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c
Een Minimaal Formalisme om te Programmeren We hebben gezien dat Turing machines beschouwd kunnen worden als universele computers. D.w.z. dat iedere berekening met natuurlijke getallen die met een computer
Nadere informatieCollege Introductie
College 2016-2017 Introductie Doaitse Swierstra (Jeroen Bransen) Utrecht University September 13, 2016 Waarom is FP anders? in plaats van opdrachten die na elkaar moeten worden uitgevoerd, definiëren we
Nadere informatieScala. 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 informatieInleiding tot Func.oneel Programmeren les 3
Inleiding tot Func.oneel Programmeren les 3 Kris Luyten, Jo Vermeulen {kris.luyten,jo.vermeulen}@uhasselt.be Exper.secentrum voor Digitale Media Universiteit Hasselt Currying Currying: een func.e met meerdere
Nadere informatieIntroductie tot de cursus
Inhoud introductietalen en ontleders Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen 8 2.3 Opbouw van de cursus 8 3 Leermiddelen en
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 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 informatieInhoud leereenheid 1. Waarden en typen. Introductie 19. Leerkern 21. Zelftoets 36. Terugkoppeling 37
Inhoud leereenheid 1 Waarden en typen Introductie 19 Leerkern 21 1 Typen 21 2 Primitieve typen 21 3 Samengestelde typen 22 3.1 Cartesische producten, structuren en records 22 3.2 Functieruimten, arrays
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 informatieProgrammeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:
Programmeren A Genetisch Programma voor het Partitie Probleem begeleiding: Inleiding Het Partitie Probleem luidt als volgt: Gegeven een verzameling van n positieve integers, vindt twee disjuncte deelverzamelingen
Nadere 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 informatieslides6.pdf 16 nov
Inhoud Inleiding Algemeen 5 Waarom programmeertalen? Geschiedenis Abstractiemechanismen Programmeertalen Piet van Oostrum 16 november 2001 INL/Alg-5 1 X INL/Alg-5 1 X Machinecode Voor- en nadelen assemblercode
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 informatieObjective-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 informatieInhoud leereenheid 4. Inleiding JavaScript. Introductie 99. Leerkern 100. Zelftoets 108. Terugkoppeling 109
Inhoud leereenheid 4 Inleiding JavaScript Introductie 99 Leerkern 100 1 Leren programmeren in JavaScript 100 2 Chapter 1: Introduction 101 3 Chapter 2, paragrafen 1 t/m 5 102 4 Chapter 2, paragrafen 6
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 informatieZelftest 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 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 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 informatieinleiding theoretische informatica practicum 1 deadline woensdag 20 februari 2008 om uur
1 Inleiding inleiding theoretische informatica 2007-2008 practicum 1 deadline woensdag 20 februari 2008 om 14.00 uur Dit practicum is een kennismaking met functioneel programmeren. Twee belangrijke functionele
Nadere informatieInhoud. Introductie tot de cursus
Inhoud Introductie tot de cursus 1 De functie van de cursus 7 2 De inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen van de cursus 8 2.3 Opbouw van de cursus 8 3 Leermiddelen en wijze van studeren
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 informatieUNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS
UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS Laatste aanpassing: 15 oktober 2003 Inhoudsopgave 1 Bestandsnamen 3 2 Organizatie Bestanden 3 3 Indentatie
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 26, 2018 Stof week 3 nogmaals Zelle hoofdstuk 8 en recursie Brookshear hoofdstuk 5: Algoritmes Datastructuren: tuples Een geheel andere manier om te
Nadere 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 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 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 informatieDeeltentamen 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 informatieOntwerp van Informatiesystemen
1ste bach HIB Ontwerp van Informatiesystemen Prof. Verelst Q www.quickprinter.be uickprinter Koningstraat 13 2000 Antwerpen 112 2,50 Online samenvattingen kopen via www.quickprintershop.be Table of Contents
Nadere informatieTentamen 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 informatieDe standaard programmeertaal
C De standaard programmeertaal Oorsprong CPL stond voor Combined Programming Language of Cambridge Programming Language. Ze stamt uit 1963, maar de eerste compiler arriveerde pas rond 1970. De taal was
Nadere informatieJavascript oefenblad 1
Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de
Nadere informatie17 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 informatieHOE TEKEN IK EEN OMGEVINGSMODEL
HOE TEKEN IK EEN OMGEVINGSMODEL MATTIAS DE WAEL 1. Inleiding Om de allereenvoudigste Scheme expressies te begrijpen volstaat het substitutiemodel. Het substitutiemodel verondersteld het bestaan van een
Nadere informatiePolymorfie 142. PersonalityObject. + PersonalityObject( ) + speak( ): String. OptimisticObject ExtrovertedObject PessimisticObject IntrovertedObject
Polymorfie 142 V POLYMORFIE Als inkapseling en overerving het een-tweetje van OOP zijn, dan is polymorfie de daaropvolgende schop in het doel. U zou zonder de beide andere steunpilaren geen polymorfie
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 informatieArrays. Complexe datastructuren. Waarom arrays. Geen stijlvol programma:
Geen stijlvol programma: Complexe datastructuren Arrays vijf verschillende variabelen voor iets dat als één rij getallen bestempeld wordt; onbruikbaar wanneer het over meer getallen (bijvoorbeeld ) gaat.
Nadere informatieProgrammeermethoden NA. Week 5: Functies (vervolg)
Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Functies Vorige week bekeken we functies: def
Nadere informatieInhoud introductie. Introductie tot de cursus
Inhoud introductie Introductie tot de cursus 1 Functie en plaats van de cursus 7 1.1 Voorkennis 7 1.2 Leerdoelen 7 2 Opbouw van de cursus 8 2.1 Cursusbestanddelen 8 2.2 Nummering en studielast van de leereenheden
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 informatieInformatica: C# WPO 11
Informatica: C# WPO 11 1. Inhoud Pass by reference (ref, out), recursie, code opdelen in verschillende codebestanden 2. Oefeningen Demo 1: Swapfunctie Demo 2: TryParse(int) Demo 3: Recursion Tree Demo
Nadere informatieModelleren 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 informatieInhoud leereenheid 8. Programmeren in JavaLogo (1) Introductie 73. Leerkern 75. Samenvatting 94. Zelftoets 95. Terugkoppeling 97
Inhoud leereenheid 8 Programmeren in JavaLogo (1) Introductie 73 Leerkern 75 1 Inleiding 75 1.1 Wat is programmeren? 75 1.2 Logo, Java en JavaLogo 76 2 Eerste programma s 77 2.1 Pen en Tekenblad 77 2.2
Nadere informatieVerzamelingen, Lijsten, Functioneel Programmeren
Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck jve@cwi.nl Stage Ignatiuscollege, 17 mei 2010 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen
Nadere informatieInhoud. Eindtoets. Introductie 2. Opgaven 3. Bijlage bij opgaven 9. Terugkoppeling 12
Open Universiteit Inhoud Introductie 2 Opgaven 3 Bijlage bij opgaven 9 Terugkoppeling 12 1 Open Universiteit Objectgeoriënteerd programmeren in Java 1 I N T R O D U C T I E Deze eindtoets is bedoeld als
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 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 informatieInhoud. Introductie tot de cursus
Inhoud Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 7 2.1 Tekstboek 7 2.2 Voorkennis 8 2.3 Leerdoelen 8 2.4 Opbouw van de cursus 9 3 Leermiddelen en wijze van studeren
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 informatieInhoud leereenheid 1. Security en IT: inleiding. Introductie 15. Leerkern 15. Terugkoppeling 18. Uitwerking van de opgaven 18
Inhoud leereenheid 1 Security en IT: inleiding Introductie 15 Leerkern 15 1.1 What Does Secure Mean? 15 1.2 Attacks 16 1.3 The Meaning of Computer Security 16 1.4 Computer Criminals 16 1.5 Methods of Defense
Nadere informatieDeel 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 informatierh276a 0 We breiden nu bovenstaand programmafragment uit door assignments toe te voegen aan een nieuwe variabele m, aldus:
rh276a 0 Een paar praktische stellinkjes 0 Standaardeindiging stelling (standaardeindiging 0) : Het volgende programmafragment eindigt, heeft als repetitie-invariant 0 n n N en als variante functie N n
Nadere informatieSoftware Reverse Engineering. Jacco Krijnen
Software Reverse Engineering Jacco Krijnen Opbouw Inleiding en definitie Techniek Assemblers/Disassemblers Compilers/Decompilers Toepassingen Security Overige Softwarebeveiliging Piracy Anti RE technieken
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 informatiePython. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14
Python Vraag 1: Expressies en types Integrated Development Environment (IDE): Ø Wing 101 (gratis te downloaden op www.wingware.com) Oefeningen in de shell >> noemen we de prompt Python commando s = expressies
Nadere informatieProgrammeermethoden NA. Week 5: Functies (vervolg)
Programmeermethoden NA Week 5: Functies (vervolg) Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna2016/ Functies Vorige week bekeken we functies: def bereken(a, x): return a * (x
Nadere informatieAanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, uur
Aanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, 13.30-15.30 uur Naam: Studentnummer: Het tentamen bestaat uit 4 opgaven. Opgaven 1 levert 8 punten op, opgave 2 levert 12 punten
Nadere informatieProgrammeren. Cursus Python
Programmeren Cursus Python Cursus Python Omschrijving In deze cursus leren de deelnemers te programmeren in de objectgeoriënteerde programmeertaal Python. Python is een taal die vaak wordt gebruikt voor
Nadere informatieVerzamelingen, Lijsten, Functioneel Programmeren
Verzamelingen, Lijsten, Functioneel Programmeren Jan van Eijck jve@cwi.nl Stage Ignatiuscollege, 20 mei 2008 Samenvatting In deze lezing gaan we in op de overeenkomsten en verschillen tussen verzamelingen
Nadere informatieInhoud. Introductie tot de cursus
Inhoud Introductie tot de cursus 1 Inleiding 7 2 Voorkennis 7 3 Het cursusmateriaal 7 4 Structuur, symbolen en taalgebruik 8 5 De cursus bestuderen 9 6 Studiebegeleiding 10 7 Huiswerkopgaven 10 8 Het tentamen
Nadere informatieInhoud leereenheid 2. Overerving (1) Introductie 59. Leerkern 60. Samenvatting 88. Zelftoets 90. Terugkoppeling 94
Inhoud leereenheid 2 Overerving (1) Introductie 59 Leerkern 60 1 Specialisatie en generalisatie 60 2 Functionaliteit aan een klasse toevoegen 62 2.1 Toegangsspecificaties 63 2.2 Definitie van subklassen
Nadere informatieVersieperikelen. Bijlage C
Bijlage C Versieperikelen In dit boek beschrijven we PL/SQL aan de hand van Oracle versie 11g. Alle eigenschappen die in dit boek behandeld worden, zijn in deze versie van Oracle (en in nog te verschijnen
Nadere informatieOEFENINGEN PYTHON REEKS 1
Vraag 1: Expressies & Types OEFENINGEN PYTHON REEKS 1 Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3), zijn er float s die behoren
Nadere informatieInhoud. Introductie tot de cursus
Inhoud Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 8 2.1 Voorkennis 8 2.2 Leerdoelen 8 2.3 Opbouw van de cursus 8 2.4 Leermiddelen 9 3 Aanwijzingen voor het bestuderen
Nadere informatieProgrammeren 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 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 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 informatieGeavanceerde Programmeertechnologie. Prof. dr. Kris Luyten Jo Vermeulen
Geavanceerde Programmeertechnologie Prof. dr. Kris Luyten Jo Vermeulen Wat mag je verwachten? Je wordt efficiënter als software ontwikkelaar Je kan je weg vinden in nieuwe programmeertalen van verschillende
Nadere informatieHOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Informatie. Voorbeeld. Voorbeeld: toegangsprijs
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 informatieVisual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET
Visual Basic.NET M. den Besten 0.3 VB. NET Inhoud Voorwoord Deel 1 Visual Basic.NET 1.1 Inleiding...13 1.2 De programmeertaal Visual Basic.NET...14 1.3 Microsoft Visual Basic 2010 Express Edition...15
Nadere informatieProgrammeren Blok B. Onderwerpen. wstomv/edu/2ip05/ College 8. Tom Verhoeff
Programmeren Blok B Onderwerpen http://www.win.tue.nl/ wstomv/edu/2ip05/ College 8 Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software Engineering & Technology Verdelen
Nadere informatiePROGRAMMEERTALEN EN -PARADIGMA S. Universiteit Utrecht
PROGRAMMEERTALEN EN -PARADIGMA S Jeroen Fokker Informatica-instituut Universiteit Utrecht Willem van der Vegt Chr. Hogeschool Windesheim Zwolle 1 2 INHOUDSOPGAVEInleiding Geschiedenis van programmeertalen
Nadere informatieEerste deeltentamen Gameprogrammeren Vrijdag 25 september 2015, uur
Naam: Eerste deeltentamen Gameprogrammeren Vrijdag 25 september 2015, 11.00-13.00 uur Studentnummer: Het tentamen bestaat uit 4 opgaven. Elke opgave levert 10 punten op. Je cijfer is het totaal aantal
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 25 november 2015 Herhaling Meer herhaling Recursie Mutuele recursie Objecten Herhaling Fibonacci class Fibonacci { public static void fibonaccitot(int bovengrens)
Nadere informatieModulewijzer tirprog02/infprg01, programmeren in Java 2
Modulewijzer tirprog02/infprg01, programmeren in Java 2 W. Oele 17 november 2009 1 Inhoudsopgave 1 Inleiding 3 2 Studiehouding 3 3 Voorkennis 4 4 Inhoud van deze module 5 5 Leermiddelen 5 6 Theorie en
Nadere informatie