Dynamisch geheugen beheer
|
|
|
- Pepijn Bosman
- 9 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Dynamisch geheugen beheer + Normaal wordt laats in het werkgeheugen gereserveerd tijdens de comilatie aan de hand van de declaraties van de variabelen. + Deze geheugenreservering is statisch: in het bronbestand van het rogramma wordt reeds vastgelegd hoe groot bijvoorbeeld een array zal zijn. + Hieraan is tijdens de uitvoering van het rogramma niets meer te veranderen. + In laats daarvan kan geheugen meer dynamisch gereserveerd worden. Hiervoor zijn functies ter beschikking om geheugen tijdens run-time aan te vragen en eventueel later weer vrij te geven. void malloc ( s i z e t grootte ) ; void free ( void ) ; Afhankelijk van de toeassing zal de gealloceerde ruimte data bevatten van een beaald tye. Omdat tijdens de uitvoering van malloc geen informatie ter beschikking is omtrent het tye van de anonieme variabele, wordt door malloc een ointer teruggegeven die naar data van een willekeurig tye wijst. Dit wordt aangegeven door het tye void *. Dit tye moet omgezet worden naar het juiste tye, door middel van de casting oerator. + Om deze functies te gebruiken moet een include van het malloc.h headerbestand gebeuren. malloc: memory allocatie; argument grootte van de ruimte die men wenst te alloceren, uitgedrukt in aantal bytes. Indien de uitvoering van de functie succesvol verloot, wordt het adres teruggegeven van het begin van de toegekende ruimte. Deze ruimte bestaat uit een oeenvolging van een aantal bytes gelijk aan grootte. Indien er iets misgaat, wordt een NULL waarde teruggeven. Returnwaarde van malloc is een adres van een geheugenruimte dat zelf geen naam heeft. Deze returnwaarde wordt toegewezen aan een ointer variabele, zodat de anonieme variabele via die ointer gebruikt kan worden. free: met argument zo n ointer variabele die via malloc een waarde toegewezen gekregen heeft. Het effect van de functie is dat de ruimte waarnaar de ointer wijst, vrij gegeven wordt. Deze ruimte kan dan achteraf door een oroe van malloc terug gealloceerd worden (om voor iets anders gebruikt te worden). Functie heeft geen return-waarde, dus als een rocedure te bestemelen. * dynvar.c : dynamische geheugen allocatie int ; double q ; = ( int ) malloc ( sizeof ( int ) ) ; = 5; rintf ( De toegekende waarde i s %d\n, ) ; free ( ) ;
2 q = (double ) malloc ( sizeof (double ) ) ; q = 5.25; rintf ( De toegekende waarde i s %f \n, q ) ; free (q ) ; Het gebruik van ointers in rogramma s leidt vrij dikwijls tot fouten. Twee bekende fenomenen: dangling ointer : een variabele die een adres bevat naar een reeds gedeallocceerd object: = malloc (20); free ( ) ; int: 4 bytes double: 8 bytes lost object : een gealloceerd dynamische object dat niet langer toegankelijk is vanuit het rogramma, maar toch nog bruikbare data bevat: q = malloc (40); = malloc (4); In laats van string ointers te initialiseren met adressen van vooraf gedefinieerde karakters en arrays van karakters, kan ook de functie malloc gebruikt worden om de geheugenlaatsen voor de string as tijdens run-time te voorzien. char c ; c = (char ) malloc (32); strcy (c, dit i s een nieuwe string ) ; Dynamische arrays * dynar.c : array met dynamische lengte #define VIJF 5 w c 32 bytes dit is een nieuwe string double ; Merk o dat er een verschil is met een gewone array van karakters: char w[32];. = (double ) malloc ( VIJF sizeof (double ) ) ; memset (, 0, VIJF sizeof (double ) ) ;
3 = 1.11; (+1) = 2.22; (+2) = 3.33; (+3) = 4.44; (+4) = 5.55; rintf ( De toegekende waarden zijn : ) ; for ( i =0; i<vijf; i++) rintf ( %5.2 f, [ i ] ) ; rintf ( \n ) ; Om een element in de dynamisch gealloceerde array aan te sreken, kan men zowel de ointer notatie (*(+i)) als de array notatie ([i]) gebruiken q [ i ] = ( float ) malloc ( m sizeof ( float ) ) ; rintf ( Geef de elementen in r i j er r i j \n ) ; for ( j =0; j<m; j++) scanf ( %f, &q [ i ] [ j ] ) ; scanf ( % c ) ; berekeningen... rintf ( %8 :, q [ i ] ) ; for ( j =0; j<m; j++) rintf ( %8.3 f, ( (q+i )+j ) ) ; rintf ( \n ) ; * dynmat.c : matrix met dynamisch aantal rijen en kolommen #include <s td lib. h> float q ; int n, m; int i, j ; vrijgeven geheugen free (q ) ; free (q [ i ] ) ; Bij deze dynamische 2-dimensionale array is q een ointer naar een ointer; vandaar de twee * in de declaratie. m q 10 rintf ( Geef aantal r i je n en aantal kolommen : ) ; scanf ( %d%d% c, &n, &m) ; reservering geheugen q = ( float ) malloc ( n sizeof ( float ) ) ; n 5
4 Dynamische structures Na definitie (lijn 20) bevat de variabele geen zinnige informatie. Er is alleen laats voorzien om het resultaat van een malloc o te slaan. Wanneer deze toekenning gebeurd is, wijst naar een ruimte van 32 bytes (sizeof(koel)). Door middel van de casting oerator wordt deze ruimte geïnterreteerd als iets van tye Koel. Bij de tweede allocatie wordt ineens ruimte voorzien voor N = 6 structures en q wijst naar het eerste element hiervan. Men kan q ook interreteren als een array van N elementen waarbij elk element van tye Koel is (for-lus vanaf lijn 32). Dit kan natuurlijk ook o een ointer-achtige manier geschreven worden, zie for-lus vanaf lijn 41. Met behul van de r++ exressie wordt telkens naar het volgende element in de array gewezen. Koel ; Koel, q, r ; Mens m; = ( Koel ) malloc ( sizeof ( Koel ) ) ; >links. l e e f t i j d = 21; >rechts. l e e f t i j d = 19; rintf ( links %d rechts %d\n, >links. l e e f t i j d, >rechts. l e e f t i j d ) ; q = ( Koel ) malloc ( N sizeof ( Koel ) ) ; memset (q, 0, N sizeof ( Koel ) ) ; for ( i =0; i<n; i++) * dynstru.c : dynamische structuren #include <s td lib. h> #include <string. h> #define N 6 tyedef struct char naam [ 1 4 ] ; short l e e f t i j d ; Mens ; tyedef struct Mens links ; Mens rechts ; q [ i ]. links. l e e f t i j d = 30+ i ; q [ i ]. rechts. l e e f t i j d = 30 i ; rintf ( links %d rechts %d\n, r >links. l e e f t i j d, r >rechts. l e e f t i j d ) ; ( r ). links. l e e f t i j d = 40+ i ; ( r ). rechts. l e e f t i j d = 40 i ; rintf ( links %d rechts %d\n, r >links. l e e f t i j d, r >rechts. l e e f t i j d ) ; m = (Mens )q ;
5 Een voorbeeld. for ( i =0; i <2 N; i++, m++) m >l e e f t i j d = 50 + ( i%2? i /2 : i /2); rintf ( links %d rechts %d\n, r >links. l e e f t i j d, r >rechts. l e e f t i j d ) ; In het laatste gedeelte (vanaf lijn 50) wordt de array van N Koel structures geïnterreteerd als een array van 2N Mens structures. Hiervoor wordt de q ointer van tye Koel * via de casting oerator omgezet naar de m ointer van tye Mens *. In het rogramma-deel wordt een vector object beschreven: wat de elementen van het object zijn en welke oeraties o dit object mogelijk zijn. * vector.h : definities tyedef struct vector Vector ; int lengte ; double arr ; Vector creatie ( int lengte, double waarde ) ; void teniet ( Vector v ) ; void drukaf ( Vector v ) ; Vector lus ( Vector v1, Vector v2 ) ; double inwro ( Vector v1, Vector v2 ) ; q r m * vector.c : imlementatie #include vector. h Vector creatie ( int lengte, double waarde ) Vector vec = 0, NULL ; if ( lengte > 0 ) vec. lengte = lengte ; vec. arr = (double ) malloc ( lengte sizeof (double ) ) ;
6 for ( i =0; i<lengte ; i++) vec. arr [ i ] = waarde ; return vec ; void teniet ( Vector v) if ( v >lengte == 0 && v >arr == NULL ) return ; else free (v >arr ) ; v >lengte = 0; v >arr = NULL; return ; vec. arr [ i ] = v1. arr [ i ] + v2. arr [ i ] ; return vec ; double inwro ( Vector v1, Vector v2) double res = 0. 0; if ( v1. lengte!= v2. lengte ) return res ; for ( i =0; i<v1. lengte ; i++) res += v1. arr [ i ] v2. arr [ i ] ; return res ; Om deze routines te testen kan een testrogramma gemaakt worden: void drukaf ( Vector v) for ( i =0; i<v. lengte ; i++) rintf ( %10.3 f, v. arr [ i ] ) ; rintf ( \n ) ; Vector lus ( Vector v1, Vector v2) Vector vec ; if ( v1. lengte!= v2. lengte ) return creatie (0, 0. 0 ) ; vec = creat ie (v1. lengte, 0. 0 ) ; for ( i =0; i<vec. lengte ; i++) * testvec.c : testrogramma #include vector. h Vector a, b, c ; a = creat ie (5, 2. 5 ) ; b = creati e (5, 6. 9 ) ; c = lus (a, b ) ; drukaf ( c ) ; rintf ( Inwendig roduct = %f \n, inwro (a, c ) ) ; teniet (&a ) ; teniet (&b ) ; teniet (&c ) ;
7 Denktaak #include <s td lib. h> #define LEN 16 char c ; char car [LEN] ; Besreek aan de hand van bovenstaand rogramma het verschil tussen een array van characters en een ointer naar een character. Leg uit wat er gebeurt bij starten van a.out joske flu. Merk o dat lijn 18 een syntax fout bevat; wat is er verkeerd? i f ( argc!= 3 ) exit (1); c = (char ) malloc ( LEN sizeof (char) ) ; strcy (c, argv [ 1 ] ) ; strcy ( car, argv [ 2 ] ) ; c++; rintf ( via ointer %s \n, c ) ; car++; rintf ( via array %s \n, car ) ; foin ( c ) ; rintf ( \t\t ointer %s \n, c ) ; farray ( car ) ; rintf ( \t\t array %s \n, car ) ; foin (char t ) t++; rintf ( \ tfun ointer %s \n, t ) ; farray (char tar [ ] ) tar++; rintf ( \ tfun array %s \n, tar ) ;
Lineaire data structuren. Doorlopen van een lijst
Lineaire data structuren array: vast aantal data items die aaneensluitend gestockeerd zijn de elementen zijn bereikbaar via een index lijst: een aantal individuele elementen die met elkaar gelinkt zijn
EE1400: 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
Tentamen Programmeren in C (EE1400)
TU Delft Tentamen Programmeren in C (EE1400) 5 april 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code
Tentamen Programmeren in C (EE1400)
TU Delft Tentamen Programmeren in C (EE1400) 3 feb. 2012, 9.00 12.00 Faculteit EWI - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code gevraagd
Tentamen Programmeren in C (EE1400)
TU Delft Faculteit EWI Tentamen Programmeren in C (EE1400) 28 jan 2011, 9.00 12.00 - Zet op elk antwoordblad je naam en studienummer. - Beantwoord alle vragen zo nauwkeurig mogelijk. - Wanneer C code gevraagd
Recursie: definitie. De som van de kwadraten van de getallen tussen m en n kan als volgt gedefinieerd worden:
Recursie: definitie Een object wordt recursief genoemd wanneer het partieel bestaat uit of partieel gedefinieerd is in termen van zichzelf. Recursie wordt gebruikt bij wiskundige definities, bijvoorbeeld:
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
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 [email protected] en [email protected]
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. Schrijf je naam onderaan op elk blad. 2.
EE1400: Programmeren in C BSc. EE, 1e jaar, , 4e college
EE1400: Programmeren in C BSc. EE, 1e jaar, 2012-2013, 4e college Arjan van Genderen, Computer Engineering 11-12-2012 Delft University of Technology Challenge the future Mededelingen Voortgangstoets: Woensdagmiddag
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
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
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
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
12 Meer over pointers
12 Meer over pointers 12.1 Arrays van pointers Omdat pointers zelf variabelen zijn, is het mogelijk arrays van pointers te maken. Elk arrayelement is een pointer naar een of ander object. In de declaratie
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.
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
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)
Programmeren 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)!
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,
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
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
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
De doorsnede van twee verzamelingen vinden
De doorsnede van twee verzamelingen vinden Daniel von Asmuth Inleiding Dit artikel probeert enkele algoritmen te vergelijken om de doorsnede van twee verzamelingen of rijen van getallen te vinden. In een
Javascript oefenblad 1
Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de
Oefententamen 2. Tijd: 2 uur. Maximaal aantal punten: 30. Naam: Studentnummer:
Oefententamen 2 C Naam: Studentnummer: Tijd: 2 uur Maximaal aantal punten: 30 Menselijke compiler (10 punten) 0. (1 punt) Stel, je haalt het tentamen als je tenminste een 5.5 gemiddeld hebt gehaald voor
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
sheets Programmeren 1 Java college 6, Walter Kosters De sheets zijn gebaseerd op met name hoofdstuk 13 en 14 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/
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
Instructies en blokken
Herhaling 1 Instructies en blokken 2 Naar elke instructie staat een ; puntkomma Verschillende instructies worden door de accolades in een block samengevat. Een blok is het zelfde als een enkele instructie.
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
Modelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 27 november 2015 Recursie Objecten Constructors Aanpassen variabelen this keyword Recursie Recursie Recursieve functie roept zichzelf (direct of indirect) aan
EE1400: Programmeren in C BSc. EE, 1e jaar, , 2e college
EE1400: Programmeren in C BSc. EE, 1e jaar, 2012-2013, 2e college Arjan van Genderen, Computer Engineering 20-11-2012 Delft University of Technology Challenge the future Agenda A.s. woensdagmiddag 14.00
Auteur 02-11-06. 1 Inleiding...3. 2 Namen in applicatie...4. 2.1 Opslag structuur... 4 2.2 Gedefinieerde structuren... 4
MV-MODULE RWSC versie 3 Inhoudsopgave 1 Inleiding...3 2 Namen in applicatie...4 2.1 Opslag structuur... 4 2.2 Gedefinieerde structuren... 4 3 Signaalgroep informatie bij bijzondere ingrepen...6 4 Extra's...7
int main() { int m; m = power(2,3) /* berekent 2^3 en geeft de resultaat naar m terug */ }
1 Functies ( ) voorbeeld: int power(int base, int n) int i, p; p = 1; for ( i=1, i
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,
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
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
P R O G R A M M E E R - T E C H N I E K E N
Associatie KULeuven Hogeschool voor Wetenschap & Kunst campus De Nayer Industrieel ingenieur Opleiding elektronica-ict Academisch bachelorjaar, 2e fase Academisch schakeljaar P R O G R A M M E E R - T
Tentamen Inleiding Programmeren (IN1608WI), duur van de toets 2 uur Technische Universiteit Delft, Faculteit EWI, Afdeling 2.
Tentamen Inleiding Programmeren (IN1608WI), duur van de toets 2 uur Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Gesloten boek examen: er mag geen gebruik worden gemaakt van het studieboek.
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
continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen.
Hoofdstuk 3: controlestructuren instructies en blokken Naar elke instructie staat een ; Instructies worden door de haakjes {} in een block samengevat. if else if ( expression) statement1; else statement2;
Week 5 : Hoofdstuk 11+ extra stof: meer over functies. Hoofdstuk 11:
Week 5 : Hoofdstuk 11+ extra stof: meer over functies Hoofdstuk 11: Functies Functies in C lijken heel erg op functies in Java. Maar er is één groot veschil: Java ken uitsluitend invoer-parameters, terwijl
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
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
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 [email protected] 1 Programmeren 1.1 Hoe werkt een
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
Begeleid Zelfstandig Leren (BZL)
Begeleid Zelfstandig Leren (BZL) De Beaalde Integraal - Riemannsommen 1 Rijvariabelen u en v van het grafisch rekentoestel.... 1.1 Rijen.... 1. Odracht 1... 1.3 Rekentoestel... 3 1.4 Odracht... 4 1.5 Odracht
Een gelinkte lijst in C#
Een gelinkte lijst in C# In deze tutorial ga demonstreren hoe je een gelinkte lijst kan opstellen in C#. We gaan een klasse schrijven, die een gelijkaardige functionaliteit heeft als een ArrayList, namelijk
Een 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
Python. 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
Informatie over. 5VWO DT51: JavaLogo. Casper Bezemer. Toetsweek 1 13 oktober 2016
Informatie over 5VWO DT51: JavaLogo Casper Bezemer Toetsweek 1 13 oktober 2016 1 Informatie Voor toets DT51 wordt jou gevraagd Java(Logo) programma s te schrijven. De eerste opdracht is een Krimpfiguur,
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&
Tentamen Computersystemen
Tentamen Computersystemen baicosy6 2e jaar bachelor AI, 2e semester 21 oktober 213, 9u-11u OMHP D.9 vraag 1 Van een Single Cycle Harvard machine hebben de componenten de volgende propagation delay time:
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
Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, uur
Tweede deeltentamen Mobiel programmeren - versie 1 Vrijdag 2 februari 2018, 8.30-10.30 uur Schrijf op elk ingeleverd blad je naam. Schrijf op het eerste blad ook je studentnummer en het aantal ingeleverde
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
recursie 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
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
Tentamen Computersystemen
Tentamen Computersystemen baicosy06 2e jaar bachelor AI, 2e semester 23 september 2013 13u-15u IWO 4.04A (blauw), Academisch Medisch Centrum, Meidreef 29, Amsterdam ZuidOost Het is niet toegestaan communicatieapparatuur
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
Zelftest 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
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
Grafisch programmeren met GTK
LinuxFocus article number 295 http://linuxfocus.org Grafisch programmeren met GTK door Özcan Güngör Over de auteur: Sinds 1997 gebruik ik Linux. Vrijheid, flexibiliteit en
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,
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)
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
/20. richtlijnen. Lees deze richtlijnen! Log in op de pc met. login: paswoord: examen i examen001. Log in op. x.toledo.ucll.be
OPO Naam: Code: Lectoren: Programmeren voor Multimedia MBI66A F. Vogels Examen Datum: Beginuur: Duur: Hulpmiddelen: TODO TODO 3 uur Open boek /20 Student Naam:....................................................................................
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
OEFENINGEN PYTHON REEKS 1
OEFENINGEN PYTHON REEKS 1 Vraag 1: Python als een eenvoudige rekenmachine Python maakt gebruik van enkele vaak voorkomende (data)types. Zo zijn er integers die behoren tot de gehele getallen (VB: 3) en
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
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
UNIVERSITEIT 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
Programmeermethoden NA
Programmeermethoden NA Week 6: Lijsten Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/prna/ Bij ons leer je de wereld kennen 1 Getal opbouwen Stel je leest losse karakters (waaronder
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
[15] Variabelen in functies (of: een woordje over scope)
[15] Variabelen in functies (of: een woordje over scope) In de vorige leerfiche hebben we geleerd over functies. We leerden dat functies parameters hebben en dat ze return-waarden kunnen teruggeven aan
Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )
OI 2010 Finale 12 Mei 2010 Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub VOORNAAM :....................................................... NAAM :..............................................................
OEFENINGEN 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
NAAM: Programmeren 1 Examen 29/08/2012
Programmeren 29 augustus 202 Prof. T. Schrijvers Instructies Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien). Geef ook je kladbladen af. Bij heel wat vragen moet je
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
